{"version":3,"file":"plugin.mjs","sources":["../../../../src/plugins/vaultOperatorModule/plugin.ts"],"sourcesContent":["import { ProgramClient } from '../programModule';\nimport { ConvergencePlugin, Program } from '../../types';\nimport type { Convergence } from '../../Convergence';\nimport {\n  createVaultOperation,\n  createVaultOperationHandler,\n  findVaultByAddressOperation,\n  findVaultByAddressOperationHandler,\n  findVaultsOperation,\n  findVaultsOperationHandler,\n  confirmAndPrepareVaultOperation,\n  confirmAndPrepareVaultOperationHandler,\n  withdrawVaultTokensOperation,\n  withdrawVaultTokensOperationHandler,\n} from './operations';\nimport { vaultOperatorProgram } from './program';\nimport { VaultOperatorClient } from './client';\n\n/** @group Plugins */\nexport const vaultOperatorModule = (): ConvergencePlugin => ({\n  install(cvg: Convergence) {\n    cvg.programs().register(vaultOperatorProgram);\n    cvg.programs().getVaultOperator = function (\n      this: ProgramClient,\n      programs?: Program[]\n    ) {\n      return this.get(vaultOperatorProgram.name, programs);\n    };\n\n    const op = cvg.operations();\n    op.register(createVaultOperation, createVaultOperationHandler);\n    op.register(\n      findVaultByAddressOperation,\n      findVaultByAddressOperationHandler\n    );\n    op.register(findVaultsOperation, findVaultsOperationHandler);\n    op.register(\n      confirmAndPrepareVaultOperation,\n      confirmAndPrepareVaultOperationHandler\n    );\n    op.register(\n      withdrawVaultTokensOperation,\n      withdrawVaultTokensOperationHandler\n    );\n\n    cvg.vaultOperator = function () {\n      return new VaultOperatorClient(this);\n    };\n  },\n});\n\ndeclare module '../../Convergence' {\n  interface Convergence {\n    vaultOperator(): VaultOperatorClient;\n  }\n}\n\ndeclare module '../programModule/ProgramClient' {\n  interface ProgramClient {\n    getVaultOperator(programs?: Program[]): Program;\n  }\n}\n"],"names":["vaultOperatorModule","install","cvg","programs","register","vaultOperatorProgram","getVaultOperator","get","name","op","operations","createVaultOperation","createVaultOperationHandler","findVaultByAddressOperation","findVaultByAddressOperationHandler","findVaultsOperation","findVaultsOperationHandler","confirmAndPrepareVaultOperation","confirmAndPrepareVaultOperationHandler","withdrawVaultTokensOperation","withdrawVaultTokensOperationHandler","vaultOperator","VaultOperatorClient"],"mappings":";;;;;;;;AAkBA;AACaA,IAAAA,mBAAmB,GAAG,SAAtBA,mBAAmBA,GAAA;EAAA,OAA6B;IAC3DC,OAAO,EAAA,SAAAA,OAACC,CAAAA,GAAgB,EAAE;MACxBA,GAAG,CAACC,QAAQ,EAAE,CAACC,QAAQ,CAACC,oBAAoB,CAAC,CAAA;MAC7CH,GAAG,CAACC,QAAQ,EAAE,CAACG,gBAAgB,GAAG,UAEhCH,QAAoB,EACpB;QACA,OAAO,IAAI,CAACI,GAAG,CAACF,oBAAoB,CAACG,IAAI,EAAEL,QAAQ,CAAC,CAAA;OACrD,CAAA;AAED,MAAA,IAAMM,EAAE,GAAGP,GAAG,CAACQ,UAAU,EAAE,CAAA;AAC3BD,MAAAA,EAAE,CAACL,QAAQ,CAACO,oBAAoB,EAAEC,2BAA2B,CAAC,CAAA;AAC9DH,MAAAA,EAAE,CAACL,QAAQ,CACTS,2BAA2B,EAC3BC,kCACF,CAAC,CAAA;AACDL,MAAAA,EAAE,CAACL,QAAQ,CAACW,mBAAmB,EAAEC,0BAA0B,CAAC,CAAA;AAC5DP,MAAAA,EAAE,CAACL,QAAQ,CACTa,+BAA+B,EAC/BC,sCACF,CAAC,CAAA;AACDT,MAAAA,EAAE,CAACL,QAAQ,CACTe,4BAA4B,EAC5BC,mCACF,CAAC,CAAA;MAEDlB,GAAG,CAACmB,aAAa,GAAG,YAAY;AAC9B,QAAA,OAAO,IAAIC,mBAAmB,CAAC,IAAI,CAAC,CAAA;OACrC,CAAA;AACH,KAAA;GACD,CAAA;AAAA;;;;"}