@nosana/kit
Version:
Nosana KIT
28 lines • 1.1 kB
JavaScript
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