{"version":3,"file":"initializeHxroConfig.mjs","sources":["../../../../../src/plugins/hxroPrintTradeProviderModule/operations/initializeHxroConfig.ts"],"sourcesContent":["import { createInitializeConfigInstruction } from '@convergence-rfq/hxro-print-trade-provider';\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 = 'InitializeHxroConfig' as const;\n\nexport const initializeHxroConfigOperation =\n  useOperation<InitializeHxroConfigOperation>(Key);\n\n/**\n * @group Operations\n * @category Types\n */\nexport type InitializeHxroConfigOperation = Operation<\n  typeof Key,\n  InitializeHxroConfigInput,\n  InitializeHxroConfigOutput\n>;\n\n/**\n * @group Operations\n * @category Inputs\n */\nexport type InitializeHxroConfigInput = {\n  validMpg: PublicKey;\n\n  authority?: PublicKey;\n};\n\n/**\n * @group Operations\n * @category Outputs\n */\nexport type InitializeHxroConfigOutput = SendAndConfirmTransactionResponse;\n\n/**\n * @group Operations\n * @category Handlers\n */\nexport const initializeHxroConfigOperationHandler: OperationHandler<InitializeHxroConfigOperation> =\n  {\n    handle: async (\n      operation: InitializeHxroConfigOperation,\n      cvg: Convergence,\n      scope: OperationScope\n    ): Promise<InitializeHxroConfigOutput> => {\n      const builder = await initializeHxroConfigBuilder(\n        cvg,\n        operation.input,\n        scope\n      );\n      scope.throwIfCanceled();\n\n      const confirmOptions = makeConfirmOptionsFinalizedOnMainnet(\n        cvg,\n        scope.confirmOptions\n      );\n      const output = await builder.sendAndConfirm(cvg, confirmOptions);\n      scope.throwIfCanceled();\n      return output.response;\n    },\n  };\n\nexport const initializeHxroConfigBuilder = async (\n  cvg: Convergence,\n  params: InitializeHxroConfigInput,\n  options: TransactionBuilderOptions = {}\n): Promise<TransactionBuilder<{}>> => {\n  const { authority = cvg.identity().publicKey, validMpg } = params;\n  const { programs, payer = cvg.rpc().getDefaultFeePayer() } = options;\n\n  const hxroPrintTradeProviderProgram = cvg\n    .programs()\n    .getHxroPrintTradeProvider();\n  const systemProgram = cvg.programs().getSystem(programs);\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: createInitializeConfigInstruction(\n        {\n          protocol,\n          authority,\n          config,\n          systemProgram: systemProgram.address,\n        },\n        {\n          validMpg,\n        },\n        hxroPrintTradeProviderProgram.address\n      ),\n      signers: [payer],\n      key: 'initializeHxroConfig',\n    });\n};\n"],"names":["Key","initializeHxroConfigOperation","useOperation","initializeHxroConfigOperationHandler","handle","_handle","_asyncToGenerator","_regeneratorRuntime","mark","_callee","operation","cvg","scope","builder","confirmOptions","output","wrap","_callee$","_context","prev","next","initializeHxroConfigBuilder","input","sent","throwIfCanceled","makeConfirmOptionsFinalizedOnMainnet","sendAndConfirm","abrupt","response","stop","_x","_x2","_x3","apply","arguments","_ref","_callee2","params","options","_params$authority","authority","validMpg","programs","_options$payer","payer","hxroPrintTradeProviderProgram","systemProgram","protocol","config","_args2","_callee2$","_context2","length","undefined","identity","publicKey","rpc","getDefaultFeePayer","getHxroPrintTradeProvider","getSystem","pdas","hxro","TransactionBuilder","make","setFeePayer","add","instruction","createInitializeConfigInstruction","address","signers","key","_x4","_x5"],"mappings":";;;;;AAaA,IAAMA,GAAG,GAAG,sBAA+B,CAAA;IAE9BC,6BAA6B,GACxCC,YAAY,CAAgCF,GAAG,EAAC;;AAElD;AACA;AACA;AACA;;AAOA;AACA;AACA;AACA;;AAOA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACO,IAAMG,oCAAqF,GAChG;EACEC,MAAM,EAAA,YAAA;AAAA,IAAA,IAAAC,OAAA,GAAAC,iBAAA,eAAAC,mBAAA,EAAAC,CAAAA,IAAA,CAAE,SAAAC,OACNC,CAAAA,SAAwC,EACxCC,GAAgB,EAChBC,KAAqB,EAAA;AAAA,MAAA,IAAAC,OAAA,EAAAC,cAAA,EAAAC,MAAA,CAAA;AAAA,MAAA,OAAAR,mBAAA,EAAA,CAAAS,IAAA,CAAA,SAAAC,SAAAC,QAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;AAAA,UAAA,KAAA,CAAA;AAAAF,YAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA,CAAA;YAAA,OAECC,2BAA2B,CAC/CV,GAAG,EACHD,SAAS,CAACY,KAAK,EACfV,KACF,CAAC,CAAA;AAAA,UAAA,KAAA,CAAA;YAJKC,OAAO,GAAAK,QAAA,CAAAK,IAAA,CAAA;YAKbX,KAAK,CAACY,eAAe,EAAE,CAAA;YAEjBV,cAAc,GAAGW,oCAAoC,CACzDd,GAAG,EACHC,KAAK,CAACE,cACR,CAAC,CAAA;AAAAI,YAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA,CAAA;AAAA,YAAA,OACoBP,OAAO,CAACa,cAAc,CAACf,GAAG,EAAEG,cAAc,CAAC,CAAA;AAAA,UAAA,KAAA,CAAA;YAA1DC,MAAM,GAAAG,QAAA,CAAAK,IAAA,CAAA;YACZX,KAAK,CAACY,eAAe,EAAE,CAAA;AAAC,YAAA,OAAAN,QAAA,CAAAS,MAAA,CACjBZ,QAAAA,EAAAA,MAAM,CAACa,QAAQ,CAAA,CAAA;AAAA,UAAA,KAAA,EAAA,CAAA;AAAA,UAAA,KAAA,KAAA;YAAA,OAAAV,QAAA,CAAAW,IAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OAAA,EAAApB,OAAA,CAAA,CAAA;KACvB,CAAA,CAAA,CAAA;AAAA,IAAA,SAAAL,MAAA0B,CAAAA,EAAA,EAAAC,GAAA,EAAAC,GAAA,EAAA;AAAA,MAAA,OAAA3B,OAAA,CAAA4B,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA,OAAA9B,MAAA,CAAA;AAAA,GAAA,EAAA;AACH,EAAC;IAEUiB,2BAA2B,gBAAA,YAAA;AAAA,EAAA,IAAAc,IAAA,GAAA7B,iBAAA,eAAAC,mBAAA,EAAA,CAAAC,IAAA,CAAG,SAAA4B,QAAAA,CACzCzB,GAAgB,EAChB0B,MAAiC,EAAA;AAAA,IAAA,IAAAC,OAAA;MAAAC,iBAAA;MAAAC,SAAA;MAAAC,QAAA;MAAAC,QAAA;MAAAC,cAAA;MAAAC,KAAA;MAAAC,6BAAA;MAAAC,aAAA;MAAAC,QAAA;MAAAC,MAAA;AAAAC,MAAAA,MAAA,GAAAf,SAAA,CAAA;AAAA,IAAA,OAAA3B,mBAAA,EAAA,CAAAS,IAAA,CAAA,SAAAkC,UAAAC,SAAA,EAAA;AAAA,MAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAhC,IAAA,GAAAgC,SAAA,CAAA/B,IAAA;AAAA,QAAA,KAAA,CAAA;AACjCkB,UAAAA,OAAkC,GAAAW,MAAA,CAAAG,MAAA,GAAAH,CAAAA,IAAAA,MAAA,CAAAI,CAAAA,CAAAA,KAAAA,SAAA,GAAAJ,MAAA,CAAG,CAAA,CAAA,GAAA,EAAE,CAAA;UAAAV,iBAAA,GAEoBF,MAAM,CAAzDG,SAAS,EAATA,SAAS,GAAAD,iBAAA,KAAA,KAAA,CAAA,GAAG5B,GAAG,CAAC2C,QAAQ,EAAE,CAACC,SAAS,GAAAhB,iBAAA,EAAEE,QAAQ,GAAKJ,MAAM,CAAnBI,QAAQ,CAAA;UAC9CC,QAAQ,GAA6CJ,OAAO,CAA5DI,QAAQ,EAAAC,cAAA,GAA6CL,OAAO,CAAlDM,KAAK,EAALA,KAAK,GAAAD,cAAA,KAAA,KAAA,CAAA,GAAGhC,GAAG,CAAC6C,GAAG,EAAE,CAACC,kBAAkB,EAAE,GAAAd,cAAA,CAAA;UAElDE,6BAA6B,GAAGlC,GAAG,CACtC+B,QAAQ,EAAE,CACVgB,yBAAyB,EAAE,CAAA;UACxBZ,aAAa,GAAGnC,GAAG,CAAC+B,QAAQ,EAAE,CAACiB,SAAS,CAACjB,QAAQ,CAAC,CAAA;AAElDK,UAAAA,QAAQ,GAAGpC,GAAG,CAACoC,QAAQ,EAAE,CAACa,IAAI,EAAE,CAACb,QAAQ,EAAE,CAAA;AAC3CC,UAAAA,MAAM,GAAGrC,GAAG,CAACkD,IAAI,EAAE,CAACD,IAAI,EAAE,CAACZ,MAAM,EAAE,CAAA;AAAA,UAAA,OAAAG,SAAA,CAAAxB,MAAA,CAElCmC,QAAAA,EAAAA,kBAAkB,CAACC,IAAI,EAAM,CACjCC,WAAW,CAACpB,KAAK,CAAC,CAClBqB,GAAG,CAAC;YACHC,WAAW,EAAEC,iCAAiC,CAC5C;AACEpB,cAAAA,QAAQ,EAARA,QAAQ;AACRP,cAAAA,SAAS,EAATA,SAAS;AACTQ,cAAAA,MAAM,EAANA,MAAM;cACNF,aAAa,EAAEA,aAAa,CAACsB,OAAAA;AAC/B,aAAC,EACD;AACE3B,cAAAA,QAAQ,EAARA,QAAAA;AACF,aAAC,EACDI,6BAA6B,CAACuB,OAChC,CAAC;YACDC,OAAO,EAAE,CAACzB,KAAK,CAAC;AAChB0B,YAAAA,GAAG,EAAE,sBAAA;AACP,WAAC,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,CAAA,CAAA;AAAA,QAAA,KAAA,KAAA;UAAA,OAAAnB,SAAA,CAAAtB,IAAA,EAAA,CAAA;AAAA,OAAA;AAAA,KAAA,EAAAO,QAAA,CAAA,CAAA;GACL,CAAA,CAAA,CAAA;AAAA,EAAA,OAAA,SAlCYf,2BAA2BA,CAAAkD,GAAA,EAAAC,GAAA,EAAA;AAAA,IAAA,OAAArC,IAAA,CAAAF,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,GAAA,CAAA;AAAA,CAkCvC;;;;"}