UNPKG

@nosana/kit

Version:

Nosana KIT

30 lines 1.13 kB
const SECONDS_PER_DAY = 86400; export async function stake({ amount, days }, { config, deps, client, getRequiredWallet, getNosATA }) { try { const wallet = getRequiredWallet(); const mint = config.nosTokenAddress; const programId = config.stakeAddress; const duration = days * SECONDS_PER_DAY; // Parallelize independent async operations const [userAta, vault, stakePda] = await Promise.all([ getNosATA(wallet.address), deps.solana.pda(['vault', mint, wallet.address], programId), deps.solana.pda(['stake', mint, wallet.address], programId), ]); return client.getStakeInstruction({ mint, user: userAta, vault, stake: stakePda, authority: wallet, amount, duration, }); } catch (err) { const errorMessage = `Failed to create stake instruction: ${err instanceof Error ? err.message : String(err)}`; deps.logger.error(errorMessage); throw new Error(errorMessage); } } //# sourceMappingURL=stake.js.map