@metamask-previews/client-utils 2.1.1-preview-abca9bcea → 3.0.0-preview-0a30e47

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. package/CHANGELOG.md +12 -2
  2. package/dist/formatters/{create-formatters.d.mts → create-formatters.d.ts} +1 -1
  3. package/dist/formatters/create-formatters.d.ts.map +1 -0
  4. package/dist/formatters/{create-formatters.mjs → create-formatters.js} +4 -4
  5. package/dist/formatters/create-formatters.js.map +1 -0
  6. package/dist/index.d.ts +9 -0
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/index.js +6 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/mappers/{api-transaction-mapper.d.cts → api-transaction-mapper.d.ts} +3 -3
  11. package/dist/mappers/api-transaction-mapper.d.ts.map +1 -0
  12. package/dist/mappers/{api-transaction-mapper.mjs → api-transaction-mapper.js} +6 -6
  13. package/dist/mappers/api-transaction-mapper.js.map +1 -0
  14. package/dist/mappers/constants.d.ts +26 -0
  15. package/dist/mappers/constants.d.ts.map +1 -0
  16. package/dist/mappers/{constants.mjs → constants.js} +1 -1
  17. package/dist/mappers/constants.js.map +1 -0
  18. package/dist/mappers/helpers/{caip.d.cts → caip.d.ts} +2 -2
  19. package/dist/mappers/helpers/caip.d.ts.map +1 -0
  20. package/dist/mappers/helpers/{caip.mjs → caip.js} +6 -6
  21. package/dist/mappers/helpers/caip.js.map +1 -0
  22. package/dist/mappers/helpers/{token-metadata.d.cts → token-metadata.d.ts} +2 -2
  23. package/dist/mappers/helpers/token-metadata.d.ts.map +1 -0
  24. package/dist/mappers/helpers/{token-metadata.mjs → token-metadata.js} +4 -11
  25. package/dist/mappers/helpers/token-metadata.js.map +1 -0
  26. package/dist/mappers/helpers/{transactions.d.mts → transactions.d.ts} +5 -5
  27. package/dist/mappers/helpers/transactions.d.ts.map +1 -0
  28. package/dist/mappers/helpers/{transactions.mjs → transactions.js} +6 -6
  29. package/dist/mappers/helpers/transactions.js.map +1 -0
  30. package/dist/mappers/{keyring-transaction-mapper.d.cts → keyring-transaction-mapper.d.ts} +3 -3
  31. package/dist/mappers/keyring-transaction-mapper.d.ts.map +1 -0
  32. package/dist/mappers/{keyring-transaction-mapper.mjs → keyring-transaction-mapper.js} +2 -2
  33. package/dist/mappers/keyring-transaction-mapper.js.map +1 -0
  34. package/dist/mappers/{local-transaction-mapper.d.cts → local-transaction-mapper.d.ts} +3 -3
  35. package/dist/mappers/local-transaction-mapper.d.ts.map +1 -0
  36. package/dist/mappers/{local-transaction-mapper.mjs → local-transaction-mapper.js} +8 -8
  37. package/dist/mappers/local-transaction-mapper.js.map +1 -0
  38. package/dist/mappers/{ramps-order-mapper.d.cts → ramps-order-mapper.d.ts} +2 -2
  39. package/dist/mappers/ramps-order-mapper.d.ts.map +1 -0
  40. package/dist/mappers/{ramps-order-mapper.mjs → ramps-order-mapper.js} +3 -3
  41. package/dist/mappers/ramps-order-mapper.js.map +1 -0
  42. package/dist/{types.d.cts → types.d.ts} +3 -3
  43. package/dist/types.d.ts.map +1 -0
  44. package/dist/types.js +2 -0
  45. package/dist/types.js.map +1 -0
  46. package/package.json +15 -19
  47. package/dist/formatters/create-formatters.cjs +0 -238
  48. package/dist/formatters/create-formatters.cjs.map +0 -1
  49. package/dist/formatters/create-formatters.d.cts +0 -19
  50. package/dist/formatters/create-formatters.d.cts.map +0 -1
  51. package/dist/formatters/create-formatters.d.mts.map +0 -1
  52. package/dist/formatters/create-formatters.mjs.map +0 -1
  53. package/dist/index.cjs +0 -14
  54. package/dist/index.cjs.map +0 -1
  55. package/dist/index.d.cts +0 -9
  56. package/dist/index.d.cts.map +0 -1
  57. package/dist/index.d.mts +0 -9
  58. package/dist/index.d.mts.map +0 -1
  59. package/dist/index.mjs +0 -6
  60. package/dist/index.mjs.map +0 -1
  61. package/dist/mappers/api-transaction-mapper.cjs +0 -316
  62. package/dist/mappers/api-transaction-mapper.cjs.map +0 -1
  63. package/dist/mappers/api-transaction-mapper.d.cts.map +0 -1
  64. package/dist/mappers/api-transaction-mapper.d.mts +0 -15
  65. package/dist/mappers/api-transaction-mapper.d.mts.map +0 -1
  66. package/dist/mappers/api-transaction-mapper.mjs.map +0 -1
  67. package/dist/mappers/constants.cjs +0 -47
  68. package/dist/mappers/constants.cjs.map +0 -1
  69. package/dist/mappers/constants.d.cts +0 -26
  70. package/dist/mappers/constants.d.cts.map +0 -1
  71. package/dist/mappers/constants.d.mts +0 -26
  72. package/dist/mappers/constants.d.mts.map +0 -1
  73. package/dist/mappers/constants.mjs.map +0 -1
  74. package/dist/mappers/helpers/caip.cjs +0 -140
  75. package/dist/mappers/helpers/caip.cjs.map +0 -1
  76. package/dist/mappers/helpers/caip.d.cts.map +0 -1
  77. package/dist/mappers/helpers/caip.d.mts +0 -32
  78. package/dist/mappers/helpers/caip.d.mts.map +0 -1
  79. package/dist/mappers/helpers/caip.mjs.map +0 -1
  80. package/dist/mappers/helpers/token-metadata.cjs +0 -31
  81. package/dist/mappers/helpers/token-metadata.cjs.map +0 -1
  82. package/dist/mappers/helpers/token-metadata.d.cts.map +0 -1
  83. package/dist/mappers/helpers/token-metadata.d.mts +0 -8
  84. package/dist/mappers/helpers/token-metadata.d.mts.map +0 -1
  85. package/dist/mappers/helpers/token-metadata.mjs.map +0 -1
  86. package/dist/mappers/helpers/transactions.cjs +0 -254
  87. package/dist/mappers/helpers/transactions.cjs.map +0 -1
  88. package/dist/mappers/helpers/transactions.d.cts +0 -51
  89. package/dist/mappers/helpers/transactions.d.cts.map +0 -1
  90. package/dist/mappers/helpers/transactions.d.mts.map +0 -1
  91. package/dist/mappers/helpers/transactions.mjs.map +0 -1
  92. package/dist/mappers/keyring-transaction-mapper.cjs +0 -201
  93. package/dist/mappers/keyring-transaction-mapper.cjs.map +0 -1
  94. package/dist/mappers/keyring-transaction-mapper.d.cts.map +0 -1
  95. package/dist/mappers/keyring-transaction-mapper.d.mts +0 -26
  96. package/dist/mappers/keyring-transaction-mapper.d.mts.map +0 -1
  97. package/dist/mappers/keyring-transaction-mapper.mjs.map +0 -1
  98. package/dist/mappers/local-transaction-mapper.cjs +0 -436
  99. package/dist/mappers/local-transaction-mapper.cjs.map +0 -1
  100. package/dist/mappers/local-transaction-mapper.d.cts.map +0 -1
  101. package/dist/mappers/local-transaction-mapper.d.mts +0 -20
  102. package/dist/mappers/local-transaction-mapper.d.mts.map +0 -1
  103. package/dist/mappers/local-transaction-mapper.mjs.map +0 -1
  104. package/dist/mappers/ramps-order-mapper.cjs +0 -145
  105. package/dist/mappers/ramps-order-mapper.cjs.map +0 -1
  106. package/dist/mappers/ramps-order-mapper.d.cts.map +0 -1
  107. package/dist/mappers/ramps-order-mapper.d.mts +0 -50
  108. package/dist/mappers/ramps-order-mapper.d.mts.map +0 -1
  109. package/dist/mappers/ramps-order-mapper.mjs.map +0 -1
  110. package/dist/types.cjs +0 -3
  111. package/dist/types.cjs.map +0 -1
  112. package/dist/types.d.cts.map +0 -1
  113. package/dist/types.d.mts +0 -114
  114. package/dist/types.d.mts.map +0 -1
  115. package/dist/types.mjs +0 -2
  116. package/dist/types.mjs.map +0 -1
@@ -1,145 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mapRampsOrder = void 0;
4
- const utils_1 = require("@metamask/utils");
5
- const caip_js_1 = require("./helpers/caip.cjs");
6
- /**
7
- * Extracts the CAIP-2 chain id from a CAIP-19 asset id
8
- * (`eip155:1/slip44:60` → `eip155:1`).
9
- *
10
- * @param assetId - CAIP-19 asset id.
11
- * @returns The CAIP-2 chain id, or `undefined` when it can't be extracted.
12
- */
13
- function caipChainIdFromAssetId(assetId) {
14
- if (!assetId) {
15
- return undefined;
16
- }
17
- const slash = assetId.indexOf('/');
18
- const chainPart = slash === -1 ? assetId : assetId.slice(0, slash);
19
- return (0, utils_1.isCaipChainId)(chainPart) ? chainPart : undefined;
20
- }
21
- function mapStatus(status) {
22
- switch (status) {
23
- case 'COMPLETED':
24
- return 'success';
25
- case 'FAILED':
26
- return 'failed';
27
- case 'CANCELLED':
28
- return 'cancelled';
29
- default:
30
- return 'pending';
31
- }
32
- }
33
- // `UNKNOWN`, `ID_EXPIRED`, and `PRECREATED` represent background checkout
34
- // attempts (e.g. precreated orders that never matched a real order, or whose
35
- // id expired before the provider assigned one) that the user never knowingly
36
- // initiated as a distinct order and shouldn't see in their history.
37
- const HIDDEN_STATUSES = new Set([
38
- 'UNKNOWN',
39
- 'ID_EXPIRED',
40
- 'PRECREATED',
41
- ]);
42
- /**
43
- * Resolves the CAIP-2 chain id for a ramps order.
44
- *
45
- * Tries each source in order and falls through when a value is present but
46
- * unparseable (e.g. Coinbase's network name string `"ethereum"`). Generic
47
- * providers often return a free-form network name while still attaching a
48
- * real CAIP `cryptoCurrency.chainId` / `assetId`.
49
- *
50
- * Precedence: `network.chainId` (object) → `network` (string) →
51
- * `cryptoCurrency.chainId` → chain segment of `cryptoCurrency.assetId`.
52
- *
53
- * @param order - The ramps order to resolve a chain id for.
54
- * @returns The CAIP-2 chain id, or `undefined` when it can't be resolved.
55
- */
56
- function resolveRampsOrderChainId(order) {
57
- const { network } = order;
58
- const networkChainId = typeof network === 'string' ? network : network.chainId;
59
- return ((0, caip_js_1.formatChainIdToCaip)(networkChainId) ??
60
- (order.cryptoCurrency?.chainId
61
- ? (0, caip_js_1.formatChainIdToCaip)(order.cryptoCurrency.chainId)
62
- : undefined) ??
63
- caipChainIdFromAssetId(order.cryptoCurrency?.assetId));
64
- }
65
- /**
66
- * Returns true when `txHash` looks like a real on-chain hash. Provider
67
- * placeholders such as `""`, `"0x"`, and all-zero hashes must not be used as
68
- * Activity row keys — they collide across orders whose hash isn't set yet.
69
- *
70
- * @param txHash - The order's raw `txHash` value.
71
- * @returns `true` when the hash looks like a real on-chain hash.
72
- */
73
- function isPlausibleRampTxHash(txHash) {
74
- const normalized = txHash.trim().toLowerCase();
75
- return normalized !== '' && !/^0x0*$/u.test(normalized);
76
- }
77
- /**
78
- * Maps a ramps order into the shared activity item shape.
79
- *
80
- * @param order - The ramps order to map.
81
- * @returns The normalized activity item, or `null` if the order's status
82
- * should not be surfaced in the activity list, or if no CAIP chain id can be
83
- * resolved from the order.
84
- */
85
- function mapRampsOrder(order) {
86
- if (HIDDEN_STATUSES.has(order.status) || order.excludeFromPurchases) {
87
- return null;
88
- }
89
- const chainId = resolveRampsOrderChainId(order);
90
- if (!chainId) {
91
- return null;
92
- }
93
- // The V2 API returns `orderType` uppercased (e.g. `'BUY'`); normalize since
94
- // some call sites (e.g. locally-created stub orders) use lowercase. Transak
95
- // deposits (`'DEPOSIT'`) are a buy variant, not a sell.
96
- const normalizedOrderType = order.orderType.toUpperCase();
97
- const isBuy = normalizedOrderType === 'BUY' || normalizedOrderType === 'DEPOSIT';
98
- const direction = isBuy ? 'in' : 'out';
99
- // `cryptoAmount`/`fiatAmount` are already human-formatted by the API, unlike
100
- // `TokenAmount.decimals` elsewhere in this package, which signals a raw
101
- // on-chain amount that still needs scaling. Omit `decimals` so clients don't
102
- // wrongly re-scale an already-human amount.
103
- const token = order.cryptoCurrency
104
- ? {
105
- amount: String(order.cryptoAmount),
106
- symbol: order.cryptoCurrency.symbol,
107
- assetId: order.cryptoCurrency.assetId,
108
- direction,
109
- }
110
- : undefined;
111
- const fiat = {
112
- amount: String(order.fiatAmount),
113
- currency: order.fiatCurrency?.symbol,
114
- };
115
- const fees = [
116
- {
117
- type: 'total',
118
- amount: String(order.totalFeesFiat),
119
- symbol: order.fiatCurrency?.symbol,
120
- },
121
- ];
122
- return {
123
- type: isBuy ? 'rampBuy' : 'rampSell',
124
- chainId,
125
- status: mapStatus(order.status),
126
- timestamp: order.createdAt,
127
- hash: isPlausibleRampTxHash(order.txHash) ? order.txHash : undefined,
128
- data: {
129
- from: order.walletAddress,
130
- fiat,
131
- token,
132
- fees,
133
- provider: {
134
- id: order.provider?.id,
135
- name: order.provider?.name,
136
- orderLink: order.providerOrderLink,
137
- },
138
- statusDescription: order.statusDescription,
139
- paymentDetails: order.paymentDetails,
140
- id: order.id ?? order.providerOrderId,
141
- },
142
- };
143
- }
144
- exports.mapRampsOrder = mapRampsOrder;
145
- //# sourceMappingURL=ramps-order-mapper.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ramps-order-mapper.cjs","sourceRoot":"","sources":["../../src/mappers/ramps-order-mapper.ts"],"names":[],"mappings":"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","sourcesContent":["import type { CaipChainId } from '@metamask/utils';\nimport { isCaipChainId } from '@metamask/utils';\n\nimport type {\n ActivityItem,\n Fee,\n FiatAmount,\n RampOrderPaymentDetail,\n Status,\n TokenAmount,\n} from '../types.js';\nimport { formatChainIdToCaip } from './helpers/caip.js';\n\n/**\n * Extracts the CAIP-2 chain id from a CAIP-19 asset id\n * (`eip155:1/slip44:60` → `eip155:1`).\n *\n * @param assetId - CAIP-19 asset id.\n * @returns The CAIP-2 chain id, or `undefined` when it can't be extracted.\n */\nfunction caipChainIdFromAssetId(\n assetId: string | undefined,\n): CaipChainId | undefined {\n if (!assetId) {\n return undefined;\n }\n const slash = assetId.indexOf('/');\n const chainPart = slash === -1 ? assetId : assetId.slice(0, slash);\n return isCaipChainId(chainPart) ? chainPart : undefined;\n}\n\ntype RampsOrderStatusLike =\n | 'UNKNOWN'\n | 'PRECREATED'\n | 'CREATED'\n | 'PENDING'\n | 'FAILED'\n | 'COMPLETED'\n | 'CANCELLED'\n | 'ID_EXPIRED';\n\n/**\n * The subset of `RampsOrder` (from `@metamask/ramps-controller`) that this\n * mapper depends on. Redeclared locally rather than imported to keep\n * `client-utils` free of a dependency on `ramps-controller`.\n */\nexport type RampsOrderLike = {\n id?: string;\n provider?: { id?: string; name?: string };\n cryptoAmount: string | number;\n fiatAmount: number;\n cryptoCurrency?: {\n assetId?: string;\n chainId?: string;\n symbol: string;\n decimals?: number;\n };\n fiatCurrency?: { symbol: string };\n providerOrderId: string;\n providerOrderLink: string;\n createdAt: number;\n totalFeesFiat: number;\n txHash: string;\n walletAddress: string;\n status: RampsOrderStatusLike;\n // Declared as an object, but generic providers (e.g. Coinbase) actually send\n // a free-form network name string at runtime — see `resolveRampsOrderChainId`.\n network: { chainId: string } | string;\n statusDescription?: string;\n orderType: string;\n excludeFromPurchases?: boolean;\n paymentDetails?: RampOrderPaymentDetail[];\n};\n\nfunction mapStatus(status: RampsOrderStatusLike): Status {\n switch (status) {\n case 'COMPLETED':\n return 'success';\n case 'FAILED':\n return 'failed';\n case 'CANCELLED':\n return 'cancelled';\n default:\n return 'pending';\n }\n}\n\n// `UNKNOWN`, `ID_EXPIRED`, and `PRECREATED` represent background checkout\n// attempts (e.g. precreated orders that never matched a real order, or whose\n// id expired before the provider assigned one) that the user never knowingly\n// initiated as a distinct order and shouldn't see in their history.\nconst HIDDEN_STATUSES = new Set<RampsOrderStatusLike>([\n 'UNKNOWN',\n 'ID_EXPIRED',\n 'PRECREATED',\n]);\n\n/**\n * Resolves the CAIP-2 chain id for a ramps order.\n *\n * Tries each source in order and falls through when a value is present but\n * unparseable (e.g. Coinbase's network name string `\"ethereum\"`). Generic\n * providers often return a free-form network name while still attaching a\n * real CAIP `cryptoCurrency.chainId` / `assetId`.\n *\n * Precedence: `network.chainId` (object) → `network` (string) →\n * `cryptoCurrency.chainId` → chain segment of `cryptoCurrency.assetId`.\n *\n * @param order - The ramps order to resolve a chain id for.\n * @returns The CAIP-2 chain id, or `undefined` when it can't be resolved.\n */\nfunction resolveRampsOrderChainId(\n order: RampsOrderLike,\n): ReturnType<typeof formatChainIdToCaip> {\n const { network } = order;\n const networkChainId =\n typeof network === 'string' ? network : network.chainId;\n\n return (\n formatChainIdToCaip(networkChainId) ??\n (order.cryptoCurrency?.chainId\n ? formatChainIdToCaip(order.cryptoCurrency.chainId)\n : undefined) ??\n caipChainIdFromAssetId(order.cryptoCurrency?.assetId)\n );\n}\n\n/**\n * Returns true when `txHash` looks like a real on-chain hash. Provider\n * placeholders such as `\"\"`, `\"0x\"`, and all-zero hashes must not be used as\n * Activity row keys — they collide across orders whose hash isn't set yet.\n *\n * @param txHash - The order's raw `txHash` value.\n * @returns `true` when the hash looks like a real on-chain hash.\n */\nfunction isPlausibleRampTxHash(txHash: string): boolean {\n const normalized = txHash.trim().toLowerCase();\n return normalized !== '' && !/^0x0*$/u.test(normalized);\n}\n\n/**\n * Maps a ramps order into the shared activity item shape.\n *\n * @param order - The ramps order to map.\n * @returns The normalized activity item, or `null` if the order's status\n * should not be surfaced in the activity list, or if no CAIP chain id can be\n * resolved from the order.\n */\nexport function mapRampsOrder(order: RampsOrderLike): ActivityItem | null {\n if (HIDDEN_STATUSES.has(order.status) || order.excludeFromPurchases) {\n return null;\n }\n\n const chainId = resolveRampsOrderChainId(order);\n if (!chainId) {\n return null;\n }\n\n // The V2 API returns `orderType` uppercased (e.g. `'BUY'`); normalize since\n // some call sites (e.g. locally-created stub orders) use lowercase. Transak\n // deposits (`'DEPOSIT'`) are a buy variant, not a sell.\n const normalizedOrderType = order.orderType.toUpperCase();\n const isBuy =\n normalizedOrderType === 'BUY' || normalizedOrderType === 'DEPOSIT';\n const direction: TokenAmount['direction'] = isBuy ? 'in' : 'out';\n\n // `cryptoAmount`/`fiatAmount` are already human-formatted by the API, unlike\n // `TokenAmount.decimals` elsewhere in this package, which signals a raw\n // on-chain amount that still needs scaling. Omit `decimals` so clients don't\n // wrongly re-scale an already-human amount.\n const token: TokenAmount | undefined = order.cryptoCurrency\n ? {\n amount: String(order.cryptoAmount),\n symbol: order.cryptoCurrency.symbol,\n assetId: order.cryptoCurrency.assetId,\n direction,\n }\n : undefined;\n\n const fiat: FiatAmount = {\n amount: String(order.fiatAmount),\n currency: order.fiatCurrency?.symbol,\n };\n\n const fees: Fee[] = [\n {\n type: 'total',\n amount: String(order.totalFeesFiat),\n symbol: order.fiatCurrency?.symbol,\n },\n ];\n\n return {\n type: isBuy ? 'rampBuy' : 'rampSell',\n chainId,\n status: mapStatus(order.status),\n timestamp: order.createdAt,\n hash: isPlausibleRampTxHash(order.txHash) ? order.txHash : undefined,\n data: {\n from: order.walletAddress,\n fiat,\n token,\n fees,\n provider: {\n id: order.provider?.id,\n name: order.provider?.name,\n orderLink: order.providerOrderLink,\n },\n statusDescription: order.statusDescription,\n paymentDetails: order.paymentDetails,\n id: order.id ?? order.providerOrderId,\n },\n };\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ramps-order-mapper.d.cts","sourceRoot":"","sources":["../../src/mappers/ramps-order-mapper.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,YAAY,EAGZ,sBAAsB,EAGvB,qBAAoB;AAqBrB,KAAK,oBAAoB,GACrB,SAAS,GACT,YAAY,GACZ,SAAS,GACT,SAAS,GACT,QAAQ,GACR,WAAW,GACX,WAAW,GACX,YAAY,CAAC;AAEjB;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,YAAY,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAClC,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,oBAAoB,CAAC;IAG7B,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC;IACtC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,cAAc,CAAC,EAAE,sBAAsB,EAAE,CAAC;CAC3C,CAAC;AAoEF;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,cAAc,GAAG,YAAY,GAAG,IAAI,CAiExE"}
@@ -1,50 +0,0 @@
1
- import type { ActivityItem, RampOrderPaymentDetail } from "../types.mjs";
2
- type RampsOrderStatusLike = 'UNKNOWN' | 'PRECREATED' | 'CREATED' | 'PENDING' | 'FAILED' | 'COMPLETED' | 'CANCELLED' | 'ID_EXPIRED';
3
- /**
4
- * The subset of `RampsOrder` (from `@metamask/ramps-controller`) that this
5
- * mapper depends on. Redeclared locally rather than imported to keep
6
- * `client-utils` free of a dependency on `ramps-controller`.
7
- */
8
- export type RampsOrderLike = {
9
- id?: string;
10
- provider?: {
11
- id?: string;
12
- name?: string;
13
- };
14
- cryptoAmount: string | number;
15
- fiatAmount: number;
16
- cryptoCurrency?: {
17
- assetId?: string;
18
- chainId?: string;
19
- symbol: string;
20
- decimals?: number;
21
- };
22
- fiatCurrency?: {
23
- symbol: string;
24
- };
25
- providerOrderId: string;
26
- providerOrderLink: string;
27
- createdAt: number;
28
- totalFeesFiat: number;
29
- txHash: string;
30
- walletAddress: string;
31
- status: RampsOrderStatusLike;
32
- network: {
33
- chainId: string;
34
- } | string;
35
- statusDescription?: string;
36
- orderType: string;
37
- excludeFromPurchases?: boolean;
38
- paymentDetails?: RampOrderPaymentDetail[];
39
- };
40
- /**
41
- * Maps a ramps order into the shared activity item shape.
42
- *
43
- * @param order - The ramps order to map.
44
- * @returns The normalized activity item, or `null` if the order's status
45
- * should not be surfaced in the activity list, or if no CAIP chain id can be
46
- * resolved from the order.
47
- */
48
- export declare function mapRampsOrder(order: RampsOrderLike): ActivityItem | null;
49
- export {};
50
- //# sourceMappingURL=ramps-order-mapper.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ramps-order-mapper.d.mts","sourceRoot":"","sources":["../../src/mappers/ramps-order-mapper.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,YAAY,EAGZ,sBAAsB,EAGvB,qBAAoB;AAqBrB,KAAK,oBAAoB,GACrB,SAAS,GACT,YAAY,GACZ,SAAS,GACT,SAAS,GACT,QAAQ,GACR,WAAW,GACX,WAAW,GACX,YAAY,CAAC;AAEjB;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,YAAY,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAClC,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,oBAAoB,CAAC;IAG7B,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC;IACtC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,cAAc,CAAC,EAAE,sBAAsB,EAAE,CAAC;CAC3C,CAAC;AAoEF;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,cAAc,GAAG,YAAY,GAAG,IAAI,CAiExE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ramps-order-mapper.mjs","sourceRoot":"","sources":["../../src/mappers/ramps-order-mapper.ts"],"names":[],"mappings":"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","sourcesContent":["import type { CaipChainId } from '@metamask/utils';\nimport { isCaipChainId } from '@metamask/utils';\n\nimport type {\n ActivityItem,\n Fee,\n FiatAmount,\n RampOrderPaymentDetail,\n Status,\n TokenAmount,\n} from '../types.js';\nimport { formatChainIdToCaip } from './helpers/caip.js';\n\n/**\n * Extracts the CAIP-2 chain id from a CAIP-19 asset id\n * (`eip155:1/slip44:60` → `eip155:1`).\n *\n * @param assetId - CAIP-19 asset id.\n * @returns The CAIP-2 chain id, or `undefined` when it can't be extracted.\n */\nfunction caipChainIdFromAssetId(\n assetId: string | undefined,\n): CaipChainId | undefined {\n if (!assetId) {\n return undefined;\n }\n const slash = assetId.indexOf('/');\n const chainPart = slash === -1 ? assetId : assetId.slice(0, slash);\n return isCaipChainId(chainPart) ? chainPart : undefined;\n}\n\ntype RampsOrderStatusLike =\n | 'UNKNOWN'\n | 'PRECREATED'\n | 'CREATED'\n | 'PENDING'\n | 'FAILED'\n | 'COMPLETED'\n | 'CANCELLED'\n | 'ID_EXPIRED';\n\n/**\n * The subset of `RampsOrder` (from `@metamask/ramps-controller`) that this\n * mapper depends on. Redeclared locally rather than imported to keep\n * `client-utils` free of a dependency on `ramps-controller`.\n */\nexport type RampsOrderLike = {\n id?: string;\n provider?: { id?: string; name?: string };\n cryptoAmount: string | number;\n fiatAmount: number;\n cryptoCurrency?: {\n assetId?: string;\n chainId?: string;\n symbol: string;\n decimals?: number;\n };\n fiatCurrency?: { symbol: string };\n providerOrderId: string;\n providerOrderLink: string;\n createdAt: number;\n totalFeesFiat: number;\n txHash: string;\n walletAddress: string;\n status: RampsOrderStatusLike;\n // Declared as an object, but generic providers (e.g. Coinbase) actually send\n // a free-form network name string at runtime — see `resolveRampsOrderChainId`.\n network: { chainId: string } | string;\n statusDescription?: string;\n orderType: string;\n excludeFromPurchases?: boolean;\n paymentDetails?: RampOrderPaymentDetail[];\n};\n\nfunction mapStatus(status: RampsOrderStatusLike): Status {\n switch (status) {\n case 'COMPLETED':\n return 'success';\n case 'FAILED':\n return 'failed';\n case 'CANCELLED':\n return 'cancelled';\n default:\n return 'pending';\n }\n}\n\n// `UNKNOWN`, `ID_EXPIRED`, and `PRECREATED` represent background checkout\n// attempts (e.g. precreated orders that never matched a real order, or whose\n// id expired before the provider assigned one) that the user never knowingly\n// initiated as a distinct order and shouldn't see in their history.\nconst HIDDEN_STATUSES = new Set<RampsOrderStatusLike>([\n 'UNKNOWN',\n 'ID_EXPIRED',\n 'PRECREATED',\n]);\n\n/**\n * Resolves the CAIP-2 chain id for a ramps order.\n *\n * Tries each source in order and falls through when a value is present but\n * unparseable (e.g. Coinbase's network name string `\"ethereum\"`). Generic\n * providers often return a free-form network name while still attaching a\n * real CAIP `cryptoCurrency.chainId` / `assetId`.\n *\n * Precedence: `network.chainId` (object) → `network` (string) →\n * `cryptoCurrency.chainId` → chain segment of `cryptoCurrency.assetId`.\n *\n * @param order - The ramps order to resolve a chain id for.\n * @returns The CAIP-2 chain id, or `undefined` when it can't be resolved.\n */\nfunction resolveRampsOrderChainId(\n order: RampsOrderLike,\n): ReturnType<typeof formatChainIdToCaip> {\n const { network } = order;\n const networkChainId =\n typeof network === 'string' ? network : network.chainId;\n\n return (\n formatChainIdToCaip(networkChainId) ??\n (order.cryptoCurrency?.chainId\n ? formatChainIdToCaip(order.cryptoCurrency.chainId)\n : undefined) ??\n caipChainIdFromAssetId(order.cryptoCurrency?.assetId)\n );\n}\n\n/**\n * Returns true when `txHash` looks like a real on-chain hash. Provider\n * placeholders such as `\"\"`, `\"0x\"`, and all-zero hashes must not be used as\n * Activity row keys — they collide across orders whose hash isn't set yet.\n *\n * @param txHash - The order's raw `txHash` value.\n * @returns `true` when the hash looks like a real on-chain hash.\n */\nfunction isPlausibleRampTxHash(txHash: string): boolean {\n const normalized = txHash.trim().toLowerCase();\n return normalized !== '' && !/^0x0*$/u.test(normalized);\n}\n\n/**\n * Maps a ramps order into the shared activity item shape.\n *\n * @param order - The ramps order to map.\n * @returns The normalized activity item, or `null` if the order's status\n * should not be surfaced in the activity list, or if no CAIP chain id can be\n * resolved from the order.\n */\nexport function mapRampsOrder(order: RampsOrderLike): ActivityItem | null {\n if (HIDDEN_STATUSES.has(order.status) || order.excludeFromPurchases) {\n return null;\n }\n\n const chainId = resolveRampsOrderChainId(order);\n if (!chainId) {\n return null;\n }\n\n // The V2 API returns `orderType` uppercased (e.g. `'BUY'`); normalize since\n // some call sites (e.g. locally-created stub orders) use lowercase. Transak\n // deposits (`'DEPOSIT'`) are a buy variant, not a sell.\n const normalizedOrderType = order.orderType.toUpperCase();\n const isBuy =\n normalizedOrderType === 'BUY' || normalizedOrderType === 'DEPOSIT';\n const direction: TokenAmount['direction'] = isBuy ? 'in' : 'out';\n\n // `cryptoAmount`/`fiatAmount` are already human-formatted by the API, unlike\n // `TokenAmount.decimals` elsewhere in this package, which signals a raw\n // on-chain amount that still needs scaling. Omit `decimals` so clients don't\n // wrongly re-scale an already-human amount.\n const token: TokenAmount | undefined = order.cryptoCurrency\n ? {\n amount: String(order.cryptoAmount),\n symbol: order.cryptoCurrency.symbol,\n assetId: order.cryptoCurrency.assetId,\n direction,\n }\n : undefined;\n\n const fiat: FiatAmount = {\n amount: String(order.fiatAmount),\n currency: order.fiatCurrency?.symbol,\n };\n\n const fees: Fee[] = [\n {\n type: 'total',\n amount: String(order.totalFeesFiat),\n symbol: order.fiatCurrency?.symbol,\n },\n ];\n\n return {\n type: isBuy ? 'rampBuy' : 'rampSell',\n chainId,\n status: mapStatus(order.status),\n timestamp: order.createdAt,\n hash: isPlausibleRampTxHash(order.txHash) ? order.txHash : undefined,\n data: {\n from: order.walletAddress,\n fiat,\n token,\n fees,\n provider: {\n id: order.provider?.id,\n name: order.provider?.name,\n orderLink: order.providerOrderLink,\n },\n statusDescription: order.statusDescription,\n paymentDetails: order.paymentDetails,\n id: order.id ?? order.providerOrderId,\n },\n };\n}\n"]}
package/dist/types.cjs DELETED
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=types.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.cjs","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ValueTransfer as _ValueTransfer } from '@metamask/core-backend';\nimport type { CaipChainId } from '@metamask/utils';\n\nexport type PerpsOrderKind =\n | 'marketShort'\n | 'stopMarketCloseShort'\n | 'marketCloseShort'\n | 'limitShort'\n | 'limitCloseShort'\n | 'marketLong'\n | 'stopMarketCloseLong'\n | 'marketCloseLong'\n | 'limitLong'\n | 'limitCloseLong';\n\nexport type ActivityKind =\n | 'receive'\n | 'sell'\n | 'buy'\n | 'deposit'\n | 'swap'\n | 'claim'\n | 'claimMusdBonus'\n | 'send'\n | 'wrap'\n | 'unwrap'\n | 'approveSpendingCap'\n | 'revokeSpendingCap'\n | 'increaseSpendingCap'\n | 'contractInteraction'\n | 'contractDeployment'\n | 'bridge'\n | 'convert'\n | 'nftBuy'\n | 'nftMint'\n | 'nftSell'\n | 'smartAccountUpgrade'\n | 'lendingDeposit'\n | 'lendingWithdrawal'\n | 'stake'\n | 'unstake'\n | 'predictionsAddFunds'\n | 'predictionsWithdrawFunds'\n | 'predictionClaimWinnings'\n | 'predictionCashedOut'\n | 'predictionPlaced'\n | 'perpsAddFunds'\n | 'perpsWithdraw'\n | 'perpsOpenLong'\n | 'perpsCloseLong'\n | 'perpsCloseLongLiquidated'\n | 'perpsCloseLongStopLoss'\n | 'perpsOpenShort'\n | 'perpsCloseShort'\n | 'perpsCloseShortLiquidated'\n | 'perpsCloseShortStopLoss'\n | 'perpsPaidFundingFees'\n | 'perpsReceivedFundingFees'\n | 'perpsCloseShortTakeProfit'\n | 'perpsCloseLongTakeProfit'\n | PerpsOrderKind\n | 'assetActivation'\n | 'assetDeactivation'\n | 'rampBuy'\n | 'rampSell';\n\nexport type Status = 'pending' | 'success' | 'failed' | 'cancelled';\n\nexport type AssetType = 'native' | 'erc20' | 'erc721' | 'erc1155';\n\nexport type TokenAmount = {\n amount?: string;\n decimals?: number;\n symbol?: string;\n assetId?: string;\n assetType?: AssetType;\n direction: 'in' | 'out';\n};\n\nexport type FiatAmount = {\n amount: string;\n currency?: string;\n};\n\nexport type Fee = {\n type: string;\n amount?: string;\n decimals?: number;\n symbol?: string;\n assetId?: string;\n assetType?: AssetType;\n};\n\ntype ActivityData<Type extends ActivityKind, Data> = {\n type: Type;\n chainId: CaipChainId;\n status: Status;\n timestamp: number;\n hash?: string;\n data: Data;\n};\n\n/**\n * Bank transfer instruction fields attached to a ramp order by providers\n * that require manual payment (e.g. SEPA, wire transfer).\n */\nexport type RampOrderPaymentDetail = {\n fiatCurrency: string;\n paymentMethod: string;\n fields: { name: string; id: string; value: string }[];\n};\n\nexport type ActivityItem =\n | ActivityData<\n 'approveSpendingCap' | 'revokeSpendingCap' | 'increaseSpendingCap',\n {\n from?: string;\n token?: TokenAmount;\n fees?: Fee[];\n }\n >\n | ActivityData<\n 'assetActivation' | 'assetDeactivation',\n {\n from?: string;\n token?: TokenAmount;\n fees?: Fee[];\n }\n >\n | ActivityData<\n 'send' | 'receive',\n {\n from: string;\n to: string;\n token?: TokenAmount;\n fees?: Fee[];\n }\n >\n | ActivityData<\n 'nftBuy' | 'nftMint' | 'nftSell',\n {\n from?: string;\n to?: string;\n token?: TokenAmount;\n paymentToken?: TokenAmount;\n }\n >\n | ActivityData<\n | 'swap'\n | 'bridge'\n | 'convert'\n | 'lendingDeposit'\n | 'lendingWithdrawal'\n | 'wrap'\n | 'unwrap',\n {\n from?: string;\n sourceToken?: TokenAmount;\n destinationToken?: TokenAmount;\n fees?: Fee[];\n }\n >\n | ActivityData<\n 'buy' | 'claim' | 'deposit' | 'claimMusdBonus',\n {\n from?: string;\n token?: TokenAmount;\n }\n >\n | ActivityData<\n 'perpsAddFunds' | 'perpsWithdraw',\n {\n from?: string;\n fiat?: FiatAmount;\n networkFee?: FiatAmount;\n token?: TokenAmount;\n }\n >\n | ActivityData<\n | 'stake'\n | 'unstake'\n | 'sell'\n | 'contractDeployment'\n | 'smartAccountUpgrade'\n | 'predictionsAddFunds'\n | 'predictionsWithdrawFunds'\n | 'predictionClaimWinnings'\n | 'predictionCashedOut'\n | 'predictionPlaced'\n | 'perpsOpenLong'\n | 'perpsCloseLong'\n | 'perpsCloseLongLiquidated'\n | 'perpsCloseLongStopLoss'\n | 'perpsOpenShort'\n | 'perpsCloseShort'\n | 'perpsCloseShortLiquidated'\n | 'perpsCloseShortStopLoss'\n | 'perpsPaidFundingFees'\n | 'perpsReceivedFundingFees'\n | 'perpsCloseShortTakeProfit'\n | 'perpsCloseLongTakeProfit'\n | PerpsOrderKind,\n {\n from?: string;\n to?: string;\n token?: TokenAmount;\n sourceToken?: TokenAmount;\n destinationToken?: TokenAmount;\n fees?: Fee[];\n }\n >\n | ActivityData<\n 'contractInteraction',\n {\n from: string;\n to: string;\n token?: TokenAmount;\n fees?: Fee[];\n methodId?: string;\n transactionCategory?: string;\n transactionProtocol?: string;\n }\n >\n | ActivityData<\n 'rampBuy' | 'rampSell',\n {\n from?: string;\n fiat?: FiatAmount;\n token?: TokenAmount;\n fees?: Fee[];\n provider?: {\n id?: string;\n name?: string;\n orderLink?: string;\n };\n statusDescription?: string;\n paymentDetails?: RampOrderPaymentDetail[];\n // Stable identifier for orders that may not have a hash yet (e.g. a\n // ramp order pending fiat settlement, where `hash` is empty until it\n // settles on-chain). Lives in `data` as a ramp-specific property.\n id?: string;\n }\n >;\n\n// Note: Update core-backend\nexport type ValueTransfer = _ValueTransfer & {\n contractAddress: string;\n symbol: string;\n name: string;\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.cts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.d.mts DELETED
@@ -1,114 +0,0 @@
1
- import type { ValueTransfer as _ValueTransfer } from "@metamask/core-backend";
2
- import type { CaipChainId } from "@metamask/utils";
3
- export type PerpsOrderKind = 'marketShort' | 'stopMarketCloseShort' | 'marketCloseShort' | 'limitShort' | 'limitCloseShort' | 'marketLong' | 'stopMarketCloseLong' | 'marketCloseLong' | 'limitLong' | 'limitCloseLong';
4
- export type ActivityKind = 'receive' | 'sell' | 'buy' | 'deposit' | 'swap' | 'claim' | 'claimMusdBonus' | 'send' | 'wrap' | 'unwrap' | 'approveSpendingCap' | 'revokeSpendingCap' | 'increaseSpendingCap' | 'contractInteraction' | 'contractDeployment' | 'bridge' | 'convert' | 'nftBuy' | 'nftMint' | 'nftSell' | 'smartAccountUpgrade' | 'lendingDeposit' | 'lendingWithdrawal' | 'stake' | 'unstake' | 'predictionsAddFunds' | 'predictionsWithdrawFunds' | 'predictionClaimWinnings' | 'predictionCashedOut' | 'predictionPlaced' | 'perpsAddFunds' | 'perpsWithdraw' | 'perpsOpenLong' | 'perpsCloseLong' | 'perpsCloseLongLiquidated' | 'perpsCloseLongStopLoss' | 'perpsOpenShort' | 'perpsCloseShort' | 'perpsCloseShortLiquidated' | 'perpsCloseShortStopLoss' | 'perpsPaidFundingFees' | 'perpsReceivedFundingFees' | 'perpsCloseShortTakeProfit' | 'perpsCloseLongTakeProfit' | PerpsOrderKind | 'assetActivation' | 'assetDeactivation' | 'rampBuy' | 'rampSell';
5
- export type Status = 'pending' | 'success' | 'failed' | 'cancelled';
6
- export type AssetType = 'native' | 'erc20' | 'erc721' | 'erc1155';
7
- export type TokenAmount = {
8
- amount?: string;
9
- decimals?: number;
10
- symbol?: string;
11
- assetId?: string;
12
- assetType?: AssetType;
13
- direction: 'in' | 'out';
14
- };
15
- export type FiatAmount = {
16
- amount: string;
17
- currency?: string;
18
- };
19
- export type Fee = {
20
- type: string;
21
- amount?: string;
22
- decimals?: number;
23
- symbol?: string;
24
- assetId?: string;
25
- assetType?: AssetType;
26
- };
27
- type ActivityData<Type extends ActivityKind, Data> = {
28
- type: Type;
29
- chainId: CaipChainId;
30
- status: Status;
31
- timestamp: number;
32
- hash?: string;
33
- data: Data;
34
- };
35
- /**
36
- * Bank transfer instruction fields attached to a ramp order by providers
37
- * that require manual payment (e.g. SEPA, wire transfer).
38
- */
39
- export type RampOrderPaymentDetail = {
40
- fiatCurrency: string;
41
- paymentMethod: string;
42
- fields: {
43
- name: string;
44
- id: string;
45
- value: string;
46
- }[];
47
- };
48
- export type ActivityItem = ActivityData<'approveSpendingCap' | 'revokeSpendingCap' | 'increaseSpendingCap', {
49
- from?: string;
50
- token?: TokenAmount;
51
- fees?: Fee[];
52
- }> | ActivityData<'assetActivation' | 'assetDeactivation', {
53
- from?: string;
54
- token?: TokenAmount;
55
- fees?: Fee[];
56
- }> | ActivityData<'send' | 'receive', {
57
- from: string;
58
- to: string;
59
- token?: TokenAmount;
60
- fees?: Fee[];
61
- }> | ActivityData<'nftBuy' | 'nftMint' | 'nftSell', {
62
- from?: string;
63
- to?: string;
64
- token?: TokenAmount;
65
- paymentToken?: TokenAmount;
66
- }> | ActivityData<'swap' | 'bridge' | 'convert' | 'lendingDeposit' | 'lendingWithdrawal' | 'wrap' | 'unwrap', {
67
- from?: string;
68
- sourceToken?: TokenAmount;
69
- destinationToken?: TokenAmount;
70
- fees?: Fee[];
71
- }> | ActivityData<'buy' | 'claim' | 'deposit' | 'claimMusdBonus', {
72
- from?: string;
73
- token?: TokenAmount;
74
- }> | ActivityData<'perpsAddFunds' | 'perpsWithdraw', {
75
- from?: string;
76
- fiat?: FiatAmount;
77
- networkFee?: FiatAmount;
78
- token?: TokenAmount;
79
- }> | ActivityData<'stake' | 'unstake' | 'sell' | 'contractDeployment' | 'smartAccountUpgrade' | 'predictionsAddFunds' | 'predictionsWithdrawFunds' | 'predictionClaimWinnings' | 'predictionCashedOut' | 'predictionPlaced' | 'perpsOpenLong' | 'perpsCloseLong' | 'perpsCloseLongLiquidated' | 'perpsCloseLongStopLoss' | 'perpsOpenShort' | 'perpsCloseShort' | 'perpsCloseShortLiquidated' | 'perpsCloseShortStopLoss' | 'perpsPaidFundingFees' | 'perpsReceivedFundingFees' | 'perpsCloseShortTakeProfit' | 'perpsCloseLongTakeProfit' | PerpsOrderKind, {
80
- from?: string;
81
- to?: string;
82
- token?: TokenAmount;
83
- sourceToken?: TokenAmount;
84
- destinationToken?: TokenAmount;
85
- fees?: Fee[];
86
- }> | ActivityData<'contractInteraction', {
87
- from: string;
88
- to: string;
89
- token?: TokenAmount;
90
- fees?: Fee[];
91
- methodId?: string;
92
- transactionCategory?: string;
93
- transactionProtocol?: string;
94
- }> | ActivityData<'rampBuy' | 'rampSell', {
95
- from?: string;
96
- fiat?: FiatAmount;
97
- token?: TokenAmount;
98
- fees?: Fee[];
99
- provider?: {
100
- id?: string;
101
- name?: string;
102
- orderLink?: string;
103
- };
104
- statusDescription?: string;
105
- paymentDetails?: RampOrderPaymentDetail[];
106
- id?: string;
107
- }>;
108
- export type ValueTransfer = _ValueTransfer & {
109
- contractAddress: string;
110
- symbol: string;
111
- name: string;
112
- };
113
- export {};
114
- //# sourceMappingURL=types.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.mts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.mjs DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.mjs","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ValueTransfer as _ValueTransfer } from '@metamask/core-backend';\nimport type { CaipChainId } from '@metamask/utils';\n\nexport type PerpsOrderKind =\n | 'marketShort'\n | 'stopMarketCloseShort'\n | 'marketCloseShort'\n | 'limitShort'\n | 'limitCloseShort'\n | 'marketLong'\n | 'stopMarketCloseLong'\n | 'marketCloseLong'\n | 'limitLong'\n | 'limitCloseLong';\n\nexport type ActivityKind =\n | 'receive'\n | 'sell'\n | 'buy'\n | 'deposit'\n | 'swap'\n | 'claim'\n | 'claimMusdBonus'\n | 'send'\n | 'wrap'\n | 'unwrap'\n | 'approveSpendingCap'\n | 'revokeSpendingCap'\n | 'increaseSpendingCap'\n | 'contractInteraction'\n | 'contractDeployment'\n | 'bridge'\n | 'convert'\n | 'nftBuy'\n | 'nftMint'\n | 'nftSell'\n | 'smartAccountUpgrade'\n | 'lendingDeposit'\n | 'lendingWithdrawal'\n | 'stake'\n | 'unstake'\n | 'predictionsAddFunds'\n | 'predictionsWithdrawFunds'\n | 'predictionClaimWinnings'\n | 'predictionCashedOut'\n | 'predictionPlaced'\n | 'perpsAddFunds'\n | 'perpsWithdraw'\n | 'perpsOpenLong'\n | 'perpsCloseLong'\n | 'perpsCloseLongLiquidated'\n | 'perpsCloseLongStopLoss'\n | 'perpsOpenShort'\n | 'perpsCloseShort'\n | 'perpsCloseShortLiquidated'\n | 'perpsCloseShortStopLoss'\n | 'perpsPaidFundingFees'\n | 'perpsReceivedFundingFees'\n | 'perpsCloseShortTakeProfit'\n | 'perpsCloseLongTakeProfit'\n | PerpsOrderKind\n | 'assetActivation'\n | 'assetDeactivation'\n | 'rampBuy'\n | 'rampSell';\n\nexport type Status = 'pending' | 'success' | 'failed' | 'cancelled';\n\nexport type AssetType = 'native' | 'erc20' | 'erc721' | 'erc1155';\n\nexport type TokenAmount = {\n amount?: string;\n decimals?: number;\n symbol?: string;\n assetId?: string;\n assetType?: AssetType;\n direction: 'in' | 'out';\n};\n\nexport type FiatAmount = {\n amount: string;\n currency?: string;\n};\n\nexport type Fee = {\n type: string;\n amount?: string;\n decimals?: number;\n symbol?: string;\n assetId?: string;\n assetType?: AssetType;\n};\n\ntype ActivityData<Type extends ActivityKind, Data> = {\n type: Type;\n chainId: CaipChainId;\n status: Status;\n timestamp: number;\n hash?: string;\n data: Data;\n};\n\n/**\n * Bank transfer instruction fields attached to a ramp order by providers\n * that require manual payment (e.g. SEPA, wire transfer).\n */\nexport type RampOrderPaymentDetail = {\n fiatCurrency: string;\n paymentMethod: string;\n fields: { name: string; id: string; value: string }[];\n};\n\nexport type ActivityItem =\n | ActivityData<\n 'approveSpendingCap' | 'revokeSpendingCap' | 'increaseSpendingCap',\n {\n from?: string;\n token?: TokenAmount;\n fees?: Fee[];\n }\n >\n | ActivityData<\n 'assetActivation' | 'assetDeactivation',\n {\n from?: string;\n token?: TokenAmount;\n fees?: Fee[];\n }\n >\n | ActivityData<\n 'send' | 'receive',\n {\n from: string;\n to: string;\n token?: TokenAmount;\n fees?: Fee[];\n }\n >\n | ActivityData<\n 'nftBuy' | 'nftMint' | 'nftSell',\n {\n from?: string;\n to?: string;\n token?: TokenAmount;\n paymentToken?: TokenAmount;\n }\n >\n | ActivityData<\n | 'swap'\n | 'bridge'\n | 'convert'\n | 'lendingDeposit'\n | 'lendingWithdrawal'\n | 'wrap'\n | 'unwrap',\n {\n from?: string;\n sourceToken?: TokenAmount;\n destinationToken?: TokenAmount;\n fees?: Fee[];\n }\n >\n | ActivityData<\n 'buy' | 'claim' | 'deposit' | 'claimMusdBonus',\n {\n from?: string;\n token?: TokenAmount;\n }\n >\n | ActivityData<\n 'perpsAddFunds' | 'perpsWithdraw',\n {\n from?: string;\n fiat?: FiatAmount;\n networkFee?: FiatAmount;\n token?: TokenAmount;\n }\n >\n | ActivityData<\n | 'stake'\n | 'unstake'\n | 'sell'\n | 'contractDeployment'\n | 'smartAccountUpgrade'\n | 'predictionsAddFunds'\n | 'predictionsWithdrawFunds'\n | 'predictionClaimWinnings'\n | 'predictionCashedOut'\n | 'predictionPlaced'\n | 'perpsOpenLong'\n | 'perpsCloseLong'\n | 'perpsCloseLongLiquidated'\n | 'perpsCloseLongStopLoss'\n | 'perpsOpenShort'\n | 'perpsCloseShort'\n | 'perpsCloseShortLiquidated'\n | 'perpsCloseShortStopLoss'\n | 'perpsPaidFundingFees'\n | 'perpsReceivedFundingFees'\n | 'perpsCloseShortTakeProfit'\n | 'perpsCloseLongTakeProfit'\n | PerpsOrderKind,\n {\n from?: string;\n to?: string;\n token?: TokenAmount;\n sourceToken?: TokenAmount;\n destinationToken?: TokenAmount;\n fees?: Fee[];\n }\n >\n | ActivityData<\n 'contractInteraction',\n {\n from: string;\n to: string;\n token?: TokenAmount;\n fees?: Fee[];\n methodId?: string;\n transactionCategory?: string;\n transactionProtocol?: string;\n }\n >\n | ActivityData<\n 'rampBuy' | 'rampSell',\n {\n from?: string;\n fiat?: FiatAmount;\n token?: TokenAmount;\n fees?: Fee[];\n provider?: {\n id?: string;\n name?: string;\n orderLink?: string;\n };\n statusDescription?: string;\n paymentDetails?: RampOrderPaymentDetail[];\n // Stable identifier for orders that may not have a hash yet (e.g. a\n // ramp order pending fiat settlement, where `hash` is empty until it\n // settles on-chain). Lives in `data` as a ramp-specific property.\n id?: string;\n }\n >;\n\n// Note: Update core-backend\nexport type ValueTransfer = _ValueTransfer & {\n contractAddress: string;\n symbol: string;\n name: string;\n};\n"]}