{"version":3,"file":"modifyHxroConfig.cjs","sources":["../../../../../src/plugins/hxroPrintTradeProviderModule/operations/modifyHxroConfig.ts"],"sourcesContent":["import { createModifyConfigInstruction } from '@convergence-rfq/hxro-print-trade-provider';\nimport { configCache } from '../cache';\nimport { Convergence } from '@/Convergence';\nimport {\n  Operation,\n  OperationHandler,\n  OperationScope,\n  PublicKey,\n  makeConfirmOptionsFinalizedOnMainnet,\n  useOperation,\n} from '@/types';\nimport { SendAndConfirmTransactionResponse } from '@/plugins';\nimport { TransactionBuilder, TransactionBuilderOptions } from '@/utils';\n\nconst Key = 'ModifyHxroConfig' as const;\n\nexport const modifyHxroConfigOperation =\n  useOperation<ModifyHxroConfigOperation>(Key);\n\n/**\n * @group Operations\n * @category Types\n */\nexport type ModifyHxroConfigOperation = Operation<\n  typeof Key,\n  ModifyHxroConfigInput,\n  ModifyHxroConfigOutput\n>;\n\n/**\n * @group Operations\n * @category Inputs\n */\nexport type ModifyHxroConfigInput = {\n  validMpg: PublicKey;\n\n  authority?: PublicKey;\n};\n\n/**\n * @group Operations\n * @category Outputs\n */\nexport type ModifyHxroConfigOutput = SendAndConfirmTransactionResponse;\n\n/**\n * @group Operations\n * @category Handlers\n */\nexport const modifyHxroConfigOperationHandler: OperationHandler<ModifyHxroConfigOperation> =\n  {\n    handle: async (\n      operation: ModifyHxroConfigOperation,\n      cvg: Convergence,\n      scope: OperationScope\n    ): Promise<ModifyHxroConfigOutput> => {\n      const builder = await modifyHxroBuilder(cvg, operation.input, scope);\n      scope.throwIfCanceled();\n\n      const confirmOptions = makeConfirmOptionsFinalizedOnMainnet(\n        cvg,\n        scope.confirmOptions\n      );\n      configCache.clear();\n      const output = await builder.sendAndConfirm(cvg, confirmOptions);\n      scope.throwIfCanceled();\n      return output.response;\n    },\n  };\n\nexport const modifyHxroBuilder = async (\n  cvg: Convergence,\n  params: ModifyHxroConfigInput,\n  options: TransactionBuilderOptions = {}\n): Promise<TransactionBuilder<{}>> => {\n  const { authority = cvg.identity().publicKey, validMpg } = params;\n  const { payer = cvg.rpc().getDefaultFeePayer() } = options;\n\n  const hxroPrintTradeProviderProgram = cvg\n    .programs()\n    .getHxroPrintTradeProvider();\n\n  const protocol = cvg.protocol().pdas().protocol();\n  const config = cvg.hxro().pdas().config();\n\n  return TransactionBuilder.make<{}>()\n    .setFeePayer(payer)\n    .add({\n      instruction: createModifyConfigInstruction(\n        {\n          protocol,\n          authority,\n          config,\n        },\n        {\n          validMpg,\n        },\n        hxroPrintTradeProviderProgram.address\n      ),\n      signers: [payer],\n      key: 'ModifyHxroConfig',\n    });\n};\n"],"names":["Key","modifyHxroConfigOperation","useOperation","modifyHxroConfigOperationHandler","handle","_handle","_asyncToGenerator","_regeneratorRuntime","mark","_callee","operation","cvg","scope","builder","confirmOptions","output","wrap","_callee$","_context","prev","next","modifyHxroBuilder","input","sent","throwIfCanceled","makeConfirmOptionsFinalizedOnMainnet","configCache","clear","sendAndConfirm","abrupt","response","stop","_x","_x2","_x3","apply","arguments","_ref","_callee2","params","options","_params$authority","authority","validMpg","_options$payer","payer","hxroPrintTradeProviderProgram","protocol","config","_args2","_callee2$","_context2","length","undefined","identity","publicKey","rpc","getDefaultFeePayer","programs","getHxroPrintTradeProvider","pdas","hxro","TransactionBuilder","make","setFeePayer","add","instruction","createModifyConfigInstruction","address","signers","key","_x4","_x5"],"mappings":"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"}