{"version":3,"file":"client.cjs","sources":["../../../../src/transactions/client.ts"],"sourcesContent":["import type {\n  Rpc,\n  RpcSubscriptions,\n  SolanaRpcApi,\n  SolanaRpcSubscriptionsApi,\n} from \"@solana/kit\";\nimport { makeGetComputeUnits, type GetComputeUnitsFn } from \"./getComputeUnits\";\nimport {\n  SendTransactionFn,\n  SendTransactionWithSenderFn,\n  type BroadcastTransactionFn,\n  type CreateSmartTransactionFn,\n  type PollTransactionConfirmationFn,\n  type SendSmartTransactionFn,\n} from \"./types\";\nimport { makeCreateSmartTransaction } from \"./createSmartTransaction\";\nimport { GetPriorityFeeEstimateFn } from \"../rpc/methods/getPriorityFeeEstimate\";\nimport { makeSendSmartTransaction } from \"./sendSmartTransaction\";\nimport { makePollTransactionConfirmation } from \"./pollTransactionConfirmation\";\nimport { broadcastTransactionFactory } from \"./broadcastTransaction\";\nimport { makeCreateSmartTransactionWithTip } from \"./createSmartTransactionWithTip\";\nimport { makeSendTransactionWithSender } from \"./sendTransactionWithSender\";\nimport { makeSendTransaction } from \"./sendTransaction\";\n\n/**\n * Transaction helper methods available on `helius.tx`.\n *\n * Provides utilities for simulating compute units, building smart\n * transactions with automatic priority fees, sending via the Helius\n * sender infrastructure, and polling for confirmations.\n */\nexport interface TxHelpersLazy {\n  /** Simulate a transaction and return the compute units consumed. */\n  getComputeUnits: GetComputeUnitsFn;\n  /** Poll the RPC until a transaction reaches the desired confirmation status. */\n  pollTransactionConfirmation: PollTransactionConfirmationFn;\n  /** Submit a base-64 wire transaction and poll until confirmed. */\n  broadcastTransaction: BroadcastTransactionFn;\n  /** Build, simulate, and sign a smart transaction with automatic compute budget and priority fees. */\n  createSmartTransaction: CreateSmartTransactionFn;\n  /** Build, sign, send, and confirm a smart transaction in one call. */\n  sendSmartTransaction: SendSmartTransactionFn;\n  /** Build and send a transaction via the Helius sender infrastructure (SWQOS). */\n  sendTransactionWithSender: SendTransactionWithSenderFn;\n  /** Send a pre-signed transaction (any supported format). */\n  sendTransaction: SendTransactionFn;\n}\n\nexport const makeTxHelpersLazy = (\n  rpc: Rpc<SolanaRpcApi>,\n  getPriorityFeeEstimate: GetPriorityFeeEstimateFn,\n  rpcSubscriptions?: RpcSubscriptions<SolanaRpcSubscriptionsApi>\n): TxHelpersLazy => {\n  const getComputeUnits = makeGetComputeUnits(rpc);\n\n  const { create } = makeCreateSmartTransaction({\n    raw: rpc,\n    getComputeUnits,\n    getPriorityFeeEstimate,\n  });\n\n  const { create: createSmartTransactionWithTip } =\n    makeCreateSmartTransactionWithTip(create);\n\n  const pollTransactionConfirmation = makePollTransactionConfirmation(rpc);\n\n  const broadcastTransaction = broadcastTransactionFactory(rpc);\n\n  const { send } = makeSendSmartTransaction({\n    raw: rpc,\n    rpcSubscriptions,\n    createSmartTransaction: create,\n  });\n\n  const { send: sendWithSender } = makeSendTransactionWithSender({\n    raw: rpc,\n    createSmartTransactionWithTip,\n  });\n\n  const { send: sendTransaction } = makeSendTransaction(rpc);\n\n  return {\n    getComputeUnits,\n    pollTransactionConfirmation,\n    broadcastTransaction,\n    createSmartTransaction: create,\n    sendSmartTransaction: send,\n    sendTransactionWithSender: sendWithSender,\n    sendTransaction,\n  };\n};\n"],"names":["getComputeUnits","makeGetComputeUnits","makeCreateSmartTransaction","createSmartTransactionWithTip","makeCreateSmartTransactionWithTip","pollTransactionConfirmation","makePollTransactionConfirmation","broadcastTransaction","broadcastTransactionFactory","makeSendSmartTransaction","makeSendTransactionWithSender","sendTransaction","makeSendTransaction"],"mappings":";;;;;;;;;;;AAgDO,MAAM,iBAAiB,GAAG,CAC/B,GAAsB,EACtB,sBAAgD,EAChD,gBAA8D,KAC7C;AACjB,IAAA,MAAMA,iBAAe,GAAGC,mCAAmB,CAAC,GAAG,CAAC;AAEhD,IAAA,MAAM,EAAE,MAAM,EAAE,GAAGC,iDAA0B,CAAC;AAC5C,QAAA,GAAG,EAAE,GAAG;yBACRF,iBAAe;QACf,sBAAsB;AACvB,KAAA,CAAC;IAEF,MAAM,EAAE,MAAM,EAAEG,+BAA6B,EAAE,GAC7CC,+DAAiC,CAAC,MAAM,CAAC;AAE3C,IAAA,MAAMC,6BAA2B,GAAGC,2DAA+B,CAAC,GAAG,CAAC;AAExE,IAAA,MAAMC,sBAAoB,GAAGC,gDAA2B,CAAC,GAAG,CAAC;AAE7D,IAAA,MAAM,EAAE,IAAI,EAAE,GAAGC,6CAAwB,CAAC;AACxC,QAAA,GAAG,EAAE,GAAG;QACR,gBAAgB;AAChB,QAAA,sBAAsB,EAAE,MAAM;AAC/B,KAAA,CAAC;AAEF,IAAA,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAGC,uDAA6B,CAAC;AAC7D,QAAA,GAAG,EAAE,GAAG;uCACRP,+BAA6B;AAC9B,KAAA,CAAC;IAEF,MAAM,EAAE,IAAI,EAAEQ,iBAAe,EAAE,GAAGC,mCAAmB,CAAC,GAAG,CAAC;IAE1D,OAAO;yBACLZ,iBAAe;qCACfK,6BAA2B;8BAC3BE,sBAAoB;AACpB,QAAA,sBAAsB,EAAE,MAAM;AAC9B,QAAA,oBAAoB,EAAE,IAAI;AAC1B,QAAA,yBAAyB,EAAE,cAAc;yBACzCI,iBAAe;KAChB;AACH;;;;"}