{"version":3,"file":"findResponseByAddress.cjs","sources":["../../../../../src/plugins/rfqModule/operations/findResponseByAddress.ts"],"sourcesContent":["import { PublicKey } from '@solana/web3.js';\n\nimport { toResponseAccount } from '../accounts';\nimport { assertResponse, Response, toResponse } from '../models/Response';\nimport {\n  Operation,\n  OperationHandler,\n  OperationScope,\n  useOperation,\n} from '../../../types';\nimport { Convergence } from '../../../Convergence';\nimport { collateralMintCache } from '../../collateralModule';\n\nconst Key = 'FindResponseByAddressOperation' as const;\n\n/**\n * Finds Response by a given address.\n *\n * ```ts\n * await convergence.rfqs().findResponseByAddress({ address });\n * ```\n *\n * @group Operations\n * @category Constructors\n */\nexport const findResponseByAddressOperation =\n  useOperation<FindResponseByAddressOperation>(Key);\n\n/**\n * @group Operations\n * @category Types\n */\nexport type FindResponseByAddressOperation = Operation<\n  typeof Key,\n  FindResponseByAddressInput,\n  FindResponseByAddressOutput\n>;\n\n/**\n * @group Operations\n * @category Inputs\n */\nexport type FindResponseByAddressInput = {\n  /** The address of the Response account. */\n  address: PublicKey;\n};\n\n/**\n * @group Operations\n * @category Outputs\n */\nexport type FindResponseByAddressOutput = Response;\n\n/**\n * @group Operations\n * @category Handlers\n */\nexport const findResponseByAddressOperationHandler: OperationHandler<FindResponseByAddressOperation> =\n  {\n    handle: async (\n      operation: FindResponseByAddressOperation,\n      convergence: Convergence,\n      scope: OperationScope\n    ): Promise<FindResponseByAddressOutput> => {\n      const { commitment } = scope;\n      const { address } = operation.input;\n\n      const account = await convergence.rpc().getAccount(address, commitment);\n      const responseAccount = toResponseAccount(account);\n      const rfq = await convergence\n        .rfqs()\n        .findRfqByAddress({ address: responseAccount.data.rfq });\n\n      const collateralMint = await collateralMintCache.get(convergence);\n      const response = toResponse(\n        responseAccount,\n        collateralMint.decimals,\n        rfq\n      );\n      assertResponse(response);\n\n      scope.throwIfCanceled();\n\n      return response;\n    },\n  };\n"],"names":["Key","findResponseByAddressOperation","useOperation","findResponseByAddressOperationHandler","handle","_handle","_asyncToGenerator","_regeneratorRuntime","mark","_callee","operation","convergence","scope","commitment","address","account","responseAccount","rfq","collateralMint","response","wrap","_callee$","_context","prev","next","input","rpc","getAccount","sent","toResponseAccount","rfqs","findRfqByAddress","data","collateralMintCache","get","toResponse","decimals","assertResponse","throwIfCanceled","abrupt","stop","_x","_x2","_x3","apply","arguments"],"mappings":";;;;;;;;;;AAaA,IAAMA,GAAG,GAAG,gCAAyC,CAAA;;AAErD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACaC,8BAA8B,GACzCC,sBAAY,CAAiCF,GAAG,EAAC;;AAEnD;AACA;AACA;AACA;;AAOA;AACA;AACA;AACA;;AAMA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACO,IAAMG,qCAAuF,GAClG;EACEC,MAAM,EAAA,YAAA;AAAA,IAAA,IAAAC,OAAA,GAAAC,0CAAA,eAAAC,4CAAA,EAAAC,CAAAA,IAAA,CAAE,SAAAC,OACNC,CAAAA,SAAyC,EACzCC,WAAwB,EACxBC,KAAqB,EAAA;AAAA,MAAA,IAAAC,UAAA,EAAAC,OAAA,EAAAC,OAAA,EAAAC,eAAA,EAAAC,GAAA,EAAAC,cAAA,EAAAC,QAAA,CAAA;AAAA,MAAA,OAAAZ,4CAAA,EAAA,CAAAa,IAAA,CAAA,SAAAC,SAAAC,QAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;AAAA,UAAA,KAAA,CAAA;YAEbX,UAAU,GAAKD,KAAK,CAApBC,UAAU,CAAA;AACVC,YAAAA,OAAO,GAAKJ,SAAS,CAACe,KAAK,CAA3BX,OAAO,CAAA;AAAAQ,YAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA,CAAA;YAAA,OAEOb,WAAW,CAACe,GAAG,EAAE,CAACC,UAAU,CAACb,OAAO,EAAED,UAAU,CAAC,CAAA;AAAA,UAAA,KAAA,CAAA;YAAjEE,OAAO,GAAAO,QAAA,CAAAM,IAAA,CAAA;AACPZ,YAAAA,eAAe,GAAGa,0BAAiB,CAACd,OAAO,CAAC,CAAA;AAAAO,YAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA,CAAA;AAAA,YAAA,OAChCb,WAAW,CAC1BmB,IAAI,EAAE,CACNC,gBAAgB,CAAC;AAAEjB,cAAAA,OAAO,EAAEE,eAAe,CAACgB,IAAI,CAACf,GAAAA;AAAI,aAAC,CAAC,CAAA;AAAA,UAAA,KAAA,CAAA;YAFpDA,GAAG,GAAAK,QAAA,CAAAM,IAAA,CAAA;AAAAN,YAAAA,QAAA,CAAAE,IAAA,GAAA,EAAA,CAAA;AAAA,YAAA,OAIoBS,yBAAmB,CAACC,GAAG,CAACvB,WAAW,CAAC,CAAA;AAAA,UAAA,KAAA,EAAA;YAA3DO,cAAc,GAAAI,QAAA,CAAAM,IAAA,CAAA;YACdT,QAAQ,GAAGgB,mBAAU,CACzBnB,eAAe,EACfE,cAAc,CAACkB,QAAQ,EACvBnB,GACF,CAAC,CAAA;YACDoB,uBAAc,CAAClB,QAAQ,CAAC,CAAA;YAExBP,KAAK,CAAC0B,eAAe,EAAE,CAAA;AAAC,YAAA,OAAAhB,QAAA,CAAAiB,MAAA,CAAA,QAAA,EAEjBpB,QAAQ,CAAA,CAAA;AAAA,UAAA,KAAA,EAAA,CAAA;AAAA,UAAA,KAAA,KAAA;YAAA,OAAAG,QAAA,CAAAkB,IAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OAAA,EAAA/B,OAAA,CAAA,CAAA;KAChB,CAAA,CAAA,CAAA;AAAA,IAAA,SAAAL,MAAAqC,CAAAA,EAAA,EAAAC,GAAA,EAAAC,GAAA,EAAA;AAAA,MAAA,OAAAtC,OAAA,CAAAuC,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA,OAAAzC,MAAA,CAAA;AAAA,GAAA,EAAA;AACH;;;;;"}