UNPKG

@metamask/snaps-utils

Version:
1 lines 2.38 kB
{"version":3,"file":"assets-conversion.cjs","sourceRoot":"","sources":["../../src/handlers/assets-conversion.ts"],"names":[],"mappings":";;;AAAA,mDAAqD;AACrD,uDAS+B;AAC/B,2CAAsD;AAEtD,sCAAgD;AAEhD;;GAEG;AACU,QAAA,wBAAwB,GAAG,IAAA,0BAAc,EACpD,IAAA,mBAAK,EAAC,CAAC,IAAA,qBAAO,EAAC,KAAK,CAAC,EAAE,4BAAqB,CAAC,CAAC,EAC9C,IAAA,oBAAM,GAAE,CACT,CAAC;AAEF;;GAEG;AACU,QAAA,gBAAgB,GAAG,IAAA,oBAAM,EAAC;IACrC,SAAS,EAAE,IAAA,oBAAM,GAAE;IACnB,WAAW,EAAE,IAAA,oBAAM,GAAE;IACrB,iBAAiB,EAAE,IAAA,oBAAM,GAAE;IAC3B,WAAW,EAAE,IAAA,oBAAM,GAAE;IACrB,UAAU,EAAE,IAAA,oBAAM,GAAE;IACpB,kBAAkB,EAAE,IAAA,sBAAQ,EAAC,gCAAwB,CAAC;CACvD,CAAC,CAAC;AAEH;;GAEG;AACU,QAAA,qBAAqB,GAAG,IAAA,oBAAM,EAAC;IAC1C,IAAI,EAAE,IAAA,oBAAM,GAAE;IACd,UAAU,EAAE,IAAA,sBAAQ,EAAC,wBAAgB,CAAC;IACtC,cAAc,EAAE,IAAA,oBAAM,GAAE;IACxB,cAAc,EAAE,IAAA,sBAAQ,EAAC,IAAA,oBAAM,GAAE,CAAC;CACnC,CAAC,CAAC;AAEH;;GAEG;AACU,QAAA,gCAAgC,GAAG,IAAA,oBAAM,EAAC;IACrD,eAAe,EAAE,IAAA,oBAAM,EACrB,2BAAmB,EACnB,IAAA,oBAAM,EAAC,2BAAmB,EAAE,IAAA,sBAAQ,EAAC,6BAAqB,CAAC,CAAC,CAC7D;CACF,CAAC,CAAC","sourcesContent":["import { nonEmptyRecord } from '@metamask/snaps-sdk';\nimport {\n literal,\n nullable,\n number,\n object,\n optional,\n record,\n string,\n union,\n} from '@metamask/superstruct';\nimport { CaipAssetTypeStruct } from '@metamask/utils';\n\nimport { ISO8601DurationStruct } from '../time';\n\n/**\n * A struct representing the market data for an asset.\n */\nexport const PricePercentChangeStruct = nonEmptyRecord(\n union([literal('all'), ISO8601DurationStruct]),\n number(),\n);\n\n/**\n * A struct representing the market data for an asset.\n */\nexport const MarketDataStruct = object({\n marketCap: string(),\n totalVolume: string(),\n circulatingSupply: string(),\n allTimeHigh: string(),\n allTimeLow: string(),\n pricePercentChange: optional(PricePercentChangeStruct),\n});\n\n/**\n * A struct representing the conversion rate between two assets.\n */\nexport const AssetConversionStruct = object({\n rate: string(),\n marketData: optional(MarketDataStruct),\n conversionTime: number(),\n expirationTime: optional(number()),\n});\n\n/**\n * A struct representing the response of the `onAssetsConversion` method.\n */\nexport const OnAssetsConversionResponseStruct = object({\n conversionRates: record(\n CaipAssetTypeStruct,\n record(CaipAssetTypeStruct, nullable(AssetConversionStruct)),\n ),\n});\n"]}