UNPKG

@symmetry-hq/baskets-v2-sdk

Version:

Symmetry Baskets V2 SDK

42 lines (37 loc) 1.35 kB
// Core dependencies import { Program } from "@coral-xyz/anchor"; import { PublicKey, SystemProgram, SYSVAR_RENT_PUBKEY, TransactionInstruction } from "@solana/web3.js"; // Local imports import { BasketsProgram } from "../../idl/types"; import { PYTH_SPONSORED_FEEDS_STATE_SIZE } from "../../state/oracle"; export async function createPythSponsoredFeedsIxs(params: { program: Program<BasketsProgram>; payer: PublicKey; pythSponsoredFeeds: PublicKey; }): Promise<TransactionInstruction[]> { // Destructure all params const { program, payer, pythSponsoredFeeds, } = params; // Build and return instruction return [ SystemProgram.createAccount({ fromPubkey: payer, newAccountPubkey: pythSponsoredFeeds, space: 8 + PYTH_SPONSORED_FEEDS_STATE_SIZE, lamports: await program.provider.connection.getMinimumBalanceForRentExemption(8 + PYTH_SPONSORED_FEEDS_STATE_SIZE), programId: program.programId, }), await program.methods .createPythSponsoredFeeds() .accountsStrict({ authority: payer, pythSponsoredFeeds, systemProgram: SystemProgram.programId, rent: SYSVAR_RENT_PUBKEY, }) .instruction(), ]; }