{"version":3,"file":"cache.mjs","sources":["../../../../src/plugins/protocolModule/cache.ts"],"sourcesContent":["import { Convergence } from '../../Convergence';\nimport { useCache } from '../../utils/cache';\nimport { ProtocolGpaBuilder } from './ProtocolGpaBuilder';\nimport {\n  toBaseAssetAccount,\n  toProtocolAccount,\n  toRegisteredMintAccount,\n} from './accounts';\nimport {\n  BaseAsset,\n  RegisteredMint,\n  toBaseAsset,\n  toProtocol,\n  toRegisteredMint,\n} from './models';\n\nexport const protocolCache = useCache(\n  async (cvg: Convergence, commitment = 'confirmed') => {\n    const address = cvg.protocol().pdas().protocol();\n    const account = await cvg.rpc().getAccount(address, commitment);\n    return toProtocol(toProtocolAccount(account));\n  }\n);\n\nexport const baseAssetsCache = useCache(async (cvg: Convergence) => {\n  const rfqProgram = cvg.programs().getRfq();\n  const protocolGpaBuilder = new ProtocolGpaBuilder(cvg, rfqProgram.address);\n  const baseAssets = await protocolGpaBuilder.whereBaseAssets().get();\n\n  return baseAssets\n    .map<BaseAsset | null>((account) => {\n      if (account === null) {\n        return null;\n      }\n\n      try {\n        return toBaseAsset(toBaseAssetAccount(account));\n      } catch (e) {\n        return null;\n      }\n    })\n    .filter((baseAsset): baseAsset is BaseAsset => baseAsset !== null)\n    .sort((a: BaseAsset, b: BaseAsset) => {\n      return a.index - b.index;\n    });\n});\n\nexport const registeredMintsCache = useCache(async (cvg: Convergence) => {\n  const rfqProgram = cvg.programs().getRfq();\n  const protocolGpaBuilder = new ProtocolGpaBuilder(cvg, rfqProgram.address);\n  const registeredMints = await protocolGpaBuilder.whereRegisteredMints().get();\n\n  return registeredMints\n    .map<RegisteredMint | null>((account) => {\n      if (account === null) {\n        return null;\n      }\n\n      try {\n        return toRegisteredMint(toRegisteredMintAccount(account));\n      } catch (e) {\n        return null;\n      }\n    })\n    .filter(\n      (registeredMint): registeredMint is RegisteredMint =>\n        registeredMint !== null\n    );\n});\n"],"names":["protocolCache","useCache","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","cvg","commitment","address","account","_args","arguments","wrap","_callee$","_context","prev","next","length","undefined","protocol","pdas","rpc","getAccount","sent","abrupt","toProtocol","toProtocolAccount","stop","_x","apply","baseAssetsCache","_ref2","_callee2","rfqProgram","protocolGpaBuilder","baseAssets","_callee2$","_context2","programs","getRfq","ProtocolGpaBuilder","whereBaseAssets","get","map","toBaseAsset","toBaseAssetAccount","e","filter","baseAsset","sort","a","b","index","_x2","registeredMintsCache","_ref3","_callee3","registeredMints","_callee3$","_context3","whereRegisteredMints","toRegisteredMint","toRegisteredMintAccount","registeredMint","_x3"],"mappings":"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"}