@discosea/kitchen v1.0.33
๐ณ @discosea/kitchen
Composable token instructions for Solana. Build and use on-chain "recipes" that combine multiple SPL tokens into unified index tokens โ and split them back. Built for use with DeFi apps, games, and meme projects.
As seen on cookthecoins.com
๐ฆ Installation
npm install @discosea/kitchen๐งฐ Exports
createRecipe(feePayerPubkey, cookedData)useRecipe(feePayerPubkey, cookedData, tokenAccounts, option)findCookPDA(concatenatedData, salt)
๐ฅ createRecipe
Creates a TransactionInstruction to define a new on-chain recipe.
import { createRecipe } from "@discosea/kitchen";
import { PublicKey } from "@solana/web3.js";
const cookedData = {
pda: "RecipePDA",
seeds: [
{ mint: "MintAddress1", amount_u64: "1000000" },
{ mint: "MintAddress2", amount_u64: "2000000" },
],
salt: "unique-salt-string",
metadataCid: "QmYourIPFSCid",
name: "My Token Index",
symbol: "MTI",
};
const ix = await createRecipe(new PublicKey("FEE_PAYER_PUBKEY"), cookedData);๐ณ useRecipe
Returns a TransactionInstruction for cook (mint) or uncook (burn).
import { useRecipe } from "@discosea/kitchen";
const cookedData = {
pda: "RecipePDA",
seeds: [
{ mint: "MintAddress1", amount_u64: "1000000" },
{ mint: "MintAddress2", amount_u64: "2000000" },
],
seedSalt: "unique-salt-string",
qty_requested: "2.5",
};
const tokenAccounts = [
"PDA_Seed1",
"USER_Seed1",
"PDA_Seed2",
"USER_Seed2",
"PDA_IndexToken",
"USER_IndexToken",
];
const ix = await useRecipe(
new PublicKey("FEE_PAYER_PUBKEY"),
cookedData,
tokenAccounts,
0x02 // 0x02 = cook, 0x03 = uncook
);๐งช findCookPDA
Deterministically derive a PDA for a recipe.
import { findCookPDA } from "@discosea/kitchen";
const concatenated = Buffer.concat([
Buffer.from("Seed1"),
Buffer.from("Seed2"),
]);
const { pda, bump, sha256Hash } = findCookPDA(concatenated, "salt");๐ ๏ธ Notes
- Seed amounts must be passed as raw
amount_u64(base units, not UI format) qty_requestedis a UI float (e.g. "2.5") and converted internally- PDA and metadata CID must be precomputed externally
๐งพ License
MIT ยฉ DiscoSea
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
1 year ago
1 year ago