@mallow-labs/kit
v0.4.0
Published
Common utilities and types for solana kit/gill
Readme
@mallow-labs/kit
Solana program utilities, Jupiter integration, and shared types built on top of gill and @solana/kit. Used by every Mallow Labs Solana client. Tree-shakable, framework-agnostic.
Install
pnpm add @mallow-labs/kitThis package declares the following as peer dependencies — install them in your app:
pnpm add @solana/kit @solana/transaction-confirmationUsage
import {
fetchJupPrice,
fetchExactInJupQuote,
DEFAULT_MAX_PRIORITY_FEE_LAMPORTS,
isTransactionExpiredError,
} from "@mallow-labs/kit";
// Jupiter price for a mint, in USD
const price = await fetchJupPrice("So11111111111111111111111111111111111111112");
// Get a swap quote
const quote = await fetchExactInJupQuote({
inputMint: USDC_MINT,
outputMint: SOL_MINT,
amount: 1_000_000n,
slippageBps: 50,
});
// Classify a transaction error
try {
await sendAndConfirm(tx);
} catch (err) {
if (isTransactionExpiredError(err)) {
// blockhash expired — retry
}
}Exports
| Group | Symbols |
|---|---|
| Jupiter | fetchJupPrice, fetchJupPrices, fetchExactInJupQuote, JUP_PROXY_ENDPOINT, JupIxs, JupQuoteResponseSuccess |
| Transactions | DEFAULT_MIN_PRIORITY_FEE_LAMPORTS, DEFAULT_MAX_PRIORITY_FEE_LAMPORTS, DEFAULT_COMPUTE_BUDGET, simulation + priority-fee helpers |
| Errors | isTransactionExpiredError, isTransactionExpiredMessage, isInsufficientSOLError, isInsufficientSOLMessage |
| Accounts | ATA_RENT, TOKEN_PROGRAM_ADDRESSES, getTokenAccounts |
| Programs | MPL_CORE_PROGRAM_ADDRESS, JUPITER_V6_PROGRAM_ADDRESS |
| PDAs / Instructions / Resolvers | shared helpers for building program instructions |
| Types | Client, Creator, DigitalAsset, FileCategory, MetadataFile, NFT, NftAttribute, RpcTransaction, SupplyType, TokenMetadata, TokenStandard |
| Misc | toAddresses — coerce string addresses to gill Address |
License
MIT
