{"version":3,"file":"cancelRfq.cjs","sources":["../../../../../src/plugins/rfqModule/operations/cancelRfq.ts"],"sourcesContent":["import { createCancelRfqInstruction } from '@convergence-rfq/rfq';\nimport { PublicKey } from '@solana/web3.js';\nimport { SendAndConfirmTransactionResponse } from '../../rpcModule';\n\nimport { Convergence } from '../../../Convergence';\nimport {\n  Operation,\n  OperationHandler,\n  OperationScope,\n  useOperation,\n  Signer,\n} from '../../../types';\nimport {\n  TransactionBuilder,\n  TransactionBuilderOptions,\n} from '../../../utils/TransactionBuilder';\nimport { addComputeBudgetIxsIfNeeded } from '@/utils/helpers';\n\nconst Key = 'CancelRfqOperation' as const;\n\n/**\n * Cancels an existing Rfq.\n *\n * ```ts\n * await convergence\n *   .rfqs()\n *   .cancelRfq({ rfq: <address> });\n * ```\n *\n * @group Operations\n * @category Constructors\n */\nexport const cancelRfqOperation = useOperation<CancelRfqOperation>(Key);\n\n/**\n * @group Operations\n * @category Types\n */\nexport type CancelRfqOperation = Operation<\n  typeof Key,\n  CancelRfqInput,\n  CancelRfqOutput\n>;\n\n/**\n * @group Operations\n * @category Inputs\n */\nexport type CancelRfqInput = {\n  /** The address of the Rfq account. */\n  rfq: PublicKey;\n\n  /**\n   * The Taker of the Rfq as a Signer.\n   *\n   * @defaultValue `convergence.identity()`\n   */\n  taker?: Signer;\n\n  /**\n   * The protocol address.\n   *\n   * @defaultValue `convergence.protocol().pdas().protocol()`\n   */\n  protocol?: PublicKey;\n};\n\n/**\n * @group Operations\n * @category Outputs\n */\nexport type CancelRfqOutput = {\n  /** The blockchain response from sending and confirming the transaction. */\n  response: SendAndConfirmTransactionResponse;\n};\n\n/**\n * @group Operations\n * @category Handlers\n */\nexport const cancelRfqOperationHandler: OperationHandler<CancelRfqOperation> = {\n  handle: async (\n    operation: CancelRfqOperation,\n    convergence: Convergence,\n    scope: OperationScope\n  ) => {\n    const builder = await cancelRfqBuilder(convergence, operation.input, scope);\n    const output = await builder.sendAndConfirm(\n      convergence,\n      scope.confirmOptions\n    );\n    scope.throwIfCanceled();\n\n    return output;\n  },\n};\n\n/**\n * @group Transaction Builders\n * @category Inputs\n */\nexport type CancelRfqBuilderParams = CancelRfqInput;\n\n/**\n * Cancels an existing Rfq.\n *\n * ```ts\n * const transactionBuilder = convergence\n *   .rfqs()\n *   .builders()\n *   .cancel({ address });\n * ```\n *\n * @group Transaction Builders\n * @category Constructors\n */\nexport const cancelRfqBuilder = async (\n  convergence: Convergence,\n  params: CancelRfqBuilderParams,\n  options: TransactionBuilderOptions = {}\n): Promise<TransactionBuilder> => {\n  const { programs, payer = convergence.rpc().getDefaultFeePayer() } = options;\n  const {\n    rfq,\n    taker = convergence.identity(),\n    protocol = convergence.protocol().pdas().protocol(),\n  } = params;\n  const txBuilder = TransactionBuilder.make()\n    .setFeePayer(payer)\n    .add({\n      instruction: createCancelRfqInstruction(\n        {\n          protocol,\n          rfq,\n          taker: taker.publicKey,\n        },\n        convergence.programs().getRfq(programs).address\n      ),\n      signers: [taker],\n      key: 'cancelRfq',\n    });\n  await addComputeBudgetIxsIfNeeded(txBuilder, convergence);\n  return txBuilder;\n};\n"],"names":["Key","cancelRfqOperation","useOperation","cancelRfqOperationHandler","handle","_handle","_asyncToGenerator","_regeneratorRuntime","mark","_callee","operation","convergence","scope","builder","output","wrap","_callee$","_context","prev","next","cancelRfqBuilder","input","sent","sendAndConfirm","confirmOptions","throwIfCanceled","abrupt","stop","_x","_x2","_x3","apply","arguments","_ref","_callee2","params","options","programs","_options$payer","payer","rfq","_params$taker","taker","_params$protocol","protocol","txBuilder","_args2","_callee2$","_context2","length","undefined","rpc","getDefaultFeePayer","identity","pdas","TransactionBuilder","make","setFeePayer","add","instruction","createCancelRfqInstruction","publicKey","getRfq","address","signers","key","addComputeBudgetIxsIfNeeded","_x4","_x5"],"mappings":"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"}