UNPKG

@symmetry-hq/agents-sdk

Version:

Symmetry Agents SDK

38 lines (31 loc) 1.16 kB
// Core dependencies import { Program } from "@coral-xyz/anchor"; import { PublicKey, SystemProgram, SYSVAR_RENT_PUBKEY, TransactionInstruction } from "@solana/web3.js"; // Local imports import { AgentsProgram } from "../idl/types"; import { getEventAuthority, getFeesVault } from "../utils/programAccounts"; export async function createAgentIx(params: { payer: PublicKey, program: Program<AgentsProgram>, agentUuid: number[], agentAddress: PublicKey, agentState: PublicKey, }): Promise<TransactionInstruction> { const { program, agentUuid, agentAddress, agentState, payer } = params; let feesVault = getFeesVault(program); let eventAuthority = getEventAuthority(program); const ix = program.methods.createAgent(agentUuid) .accountsStrict({ creator: payer, agent: agentAddress, agentState, feesVault, authority: PublicKey.default, rent: SYSVAR_RENT_PUBKEY, systemProgram: SystemProgram.programId, eventAuthority, program: program.programId, }) .instruction(); return ix; }