UNPKG

@nosana/kit

Version:

Nosana KIT

28 lines 1.1 kB
export async function close({ market, payer }, { config, deps, client, getRequiredWallet, getStaticAccounts, getNosATA, }) { try { const wallet = getRequiredWallet(); // Use provided payer or fall back to wallet const nosPayer = payer ?? wallet; // Get jobs program address, user ATA, and derive vault PDA const [{ jobsProgram }, userATA] = await Promise.all([ getStaticAccounts(), getNosATA(nosPayer.address), ]); const vault = await deps.solana.pda([market, config.nosTokenAddress], jobsProgram); // Create the close instruction return client.getCloseInstruction({ market, vault, user: userATA, authority: nosPayer, }, { programAddress: jobsProgram, }); } catch (err) { const errorMessage = `Failed to create close instruction: ${err instanceof Error ? err.message : String(err)}`; deps.logger.error(errorMessage); throw new Error(errorMessage); } } //# sourceMappingURL=close.js.map