{"version":3,"file":"client.cjs","sources":["../../../../src/staking/client.ts"],"sourcesContent":["import type { Rpc, SolanaRpcApi } from \"@solana/kit\";\nimport { makeCreateStakeTransaction } from \"./createStakeTransaction\";\nimport {\n  GetHeliusStakeAccountsFn,\n  GetStakeInstructionsFn,\n  GetUnstakeInstructionFn,\n  GetWithdrawableAmountFn,\n  GetWithdrawIxFn,\n  type CreateStakeTransactionFn,\n  type createUnstakeTransactionFn,\n  type CreateWithdrawTransactionFn,\n} from \"./types\";\nimport { makeCreateUnstakeTransaction } from \"./createUnstakeTransaction\";\nimport { makeCreateWithdrawTransaction } from \"./createWithdrawTransaction\";\nimport { makeGetHeliusStakeAccounts } from \"./getHeliusStakeAccounts\";\nimport { makeGetWithdrawableAmount } from \"./getWithdrawableAmount\";\nimport { makeGetStakeInstructions } from \"./getStakeInstructions\";\nimport { makeGetUnstakeInstruction } from \"./getUnstakeInstruction\";\nimport { makeGetWithdrawInstruction } from \"./getWithdrawInstruction\";\n\n/**\n * Client for Helius native staking operations. All delegations\n * target the Helius validator (`he1ius...`).\n */\nexport interface StakeClientLazy {\n  /** Create a signed stake transaction delegating to the Helius validator. */\n  createStakeTransaction: CreateStakeTransactionFn;\n  /** Create a signed deactivation (unstake) transaction. */\n  createUnstakeTransaction: createUnstakeTransactionFn;\n  /** Create a signed withdrawal transaction for a deactivated stake account. */\n  createWithdrawTransaction: CreateWithdrawTransactionFn;\n  /** Fetch all stake accounts delegated to the Helius validator for a wallet. */\n  getHeliusStakeAccounts: GetHeliusStakeAccountsFn;\n  /** Get the withdrawable lamport amount for a deactivated stake account. */\n  getWithdrawableAmount: GetWithdrawableAmountFn;\n  /** Build the raw instructions to create and delegate a stake account. */\n  getStakeInstructions: GetStakeInstructionsFn;\n  /** Build a deactivation (unstake) instruction. */\n  getUnstakeInstruction: GetUnstakeInstructionFn;\n  /** Build a withdrawal instruction. */\n  getWithdrawInstruction: GetWithdrawIxFn;\n}\n\nexport const makeStakeClientLazy = (\n  rpc: Rpc<SolanaRpcApi>\n): StakeClientLazy => {\n  const createStakeTransaction = makeCreateStakeTransaction({ rpc });\n  const createUnstakeTransaction = makeCreateUnstakeTransaction({ rpc });\n  const createWithdrawTransaction = makeCreateWithdrawTransaction({ rpc });\n  const getHeliusStakeAccounts = makeGetHeliusStakeAccounts({ rpc });\n  const getWithdrawableAmount = makeGetWithdrawableAmount({ rpc });\n  const getStakeInstructions = makeGetStakeInstructions({ rpc });\n  const getUnstakeInstruction = makeGetUnstakeInstruction();\n  const getWithdrawInstruction = makeGetWithdrawInstruction();\n\n  return {\n    createStakeTransaction,\n    createUnstakeTransaction,\n    createWithdrawTransaction,\n    getHeliusStakeAccounts,\n    getWithdrawableAmount,\n    getStakeInstructions,\n    getUnstakeInstruction,\n    getWithdrawInstruction,\n  };\n};\n"],"names":["createStakeTransaction","makeCreateStakeTransaction","createUnstakeTransaction","makeCreateUnstakeTransaction","createWithdrawTransaction","makeCreateWithdrawTransaction","getHeliusStakeAccounts","makeGetHeliusStakeAccounts","getWithdrawableAmount","makeGetWithdrawableAmount","getStakeInstructions","makeGetStakeInstructions","getUnstakeInstruction","makeGetUnstakeInstruction","getWithdrawInstruction","makeGetWithdrawInstruction"],"mappings":";;;;;;;;;;;AA2CO,MAAM,mBAAmB,GAAG,CACjC,GAAsB,KACH;IACnB,MAAMA,wBAAsB,GAAGC,iDAA0B,CAAC,EAAE,GAAG,EAAE,CAAC;IAClE,MAAMC,0BAAwB,GAAGC,qDAA4B,CAAC,EAAE,GAAG,EAAE,CAAC;IACtE,MAAMC,2BAAyB,GAAGC,uDAA6B,CAAC,EAAE,GAAG,EAAE,CAAC;IACxE,MAAMC,wBAAsB,GAAGC,iDAA0B,CAAC,EAAE,GAAG,EAAE,CAAC;IAClE,MAAMC,uBAAqB,GAAGC,+CAAyB,CAAC,EAAE,GAAG,EAAE,CAAC;IAChE,MAAMC,sBAAoB,GAAGC,6CAAwB,CAAC,EAAE,GAAG,EAAE,CAAC;AAC9D,IAAA,MAAMC,uBAAqB,GAAGC,+CAAyB,EAAE;AACzD,IAAA,MAAMC,wBAAsB,GAAGC,iDAA0B,EAAE;IAE3D,OAAO;gCACLf,wBAAsB;kCACtBE,0BAAwB;mCACxBE,2BAAyB;gCACzBE,wBAAsB;+BACtBE,uBAAqB;8BACrBE,sBAAoB;+BACpBE,uBAAqB;gCACrBE,wBAAsB;KACvB;AACH;;;;"}