@metamask-previews/client-utils 2.1.1-preview-3866c0ff1 → 2.1.1-preview-e3275932a
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.
- package/CHANGELOG.md +0 -1
- package/dist/formatters/create-formatters.cjs +238 -0
- package/dist/formatters/create-formatters.cjs.map +1 -0
- package/dist/formatters/{create-formatters.d.ts → create-formatters.d.cts} +1 -1
- package/dist/formatters/create-formatters.d.cts.map +1 -0
- package/dist/formatters/create-formatters.d.mts +19 -0
- package/dist/formatters/create-formatters.d.mts.map +1 -0
- package/dist/formatters/{create-formatters.js → create-formatters.mjs} +4 -4
- package/dist/formatters/create-formatters.mjs.map +1 -0
- package/dist/index.cjs +14 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +9 -0
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.mts +9 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +6 -0
- package/dist/index.mjs.map +1 -0
- package/dist/mappers/api-transaction-mapper.cjs +316 -0
- package/dist/mappers/api-transaction-mapper.cjs.map +1 -0
- package/dist/mappers/{api-transaction-mapper.d.ts → api-transaction-mapper.d.cts} +3 -3
- package/dist/mappers/api-transaction-mapper.d.cts.map +1 -0
- package/dist/mappers/api-transaction-mapper.d.mts +15 -0
- package/dist/mappers/api-transaction-mapper.d.mts.map +1 -0
- package/dist/mappers/{api-transaction-mapper.js → api-transaction-mapper.mjs} +6 -6
- package/dist/mappers/api-transaction-mapper.mjs.map +1 -0
- package/dist/mappers/constants.cjs +47 -0
- package/dist/mappers/constants.cjs.map +1 -0
- package/dist/mappers/constants.d.cts +26 -0
- package/dist/mappers/constants.d.cts.map +1 -0
- package/dist/mappers/constants.d.mts +26 -0
- package/dist/mappers/constants.d.mts.map +1 -0
- package/dist/mappers/{constants.js → constants.mjs} +1 -1
- package/dist/mappers/constants.mjs.map +1 -0
- package/dist/mappers/helpers/caip.cjs +140 -0
- package/dist/mappers/helpers/caip.cjs.map +1 -0
- package/dist/mappers/helpers/{caip.d.ts → caip.d.cts} +2 -2
- package/dist/mappers/helpers/caip.d.cts.map +1 -0
- package/dist/mappers/helpers/caip.d.mts +32 -0
- package/dist/mappers/helpers/caip.d.mts.map +1 -0
- package/dist/mappers/helpers/{caip.js → caip.mjs} +6 -6
- package/dist/mappers/helpers/caip.mjs.map +1 -0
- package/dist/mappers/helpers/token-metadata.cjs +31 -0
- package/dist/mappers/helpers/token-metadata.cjs.map +1 -0
- package/dist/mappers/helpers/{token-metadata.d.ts → token-metadata.d.cts} +2 -2
- package/dist/mappers/helpers/token-metadata.d.cts.map +1 -0
- package/dist/mappers/helpers/token-metadata.d.mts +8 -0
- package/dist/mappers/helpers/token-metadata.d.mts.map +1 -0
- package/dist/mappers/helpers/{token-metadata.js → token-metadata.mjs} +11 -4
- package/dist/mappers/helpers/token-metadata.mjs.map +1 -0
- package/dist/mappers/helpers/transactions.cjs +254 -0
- package/dist/mappers/helpers/transactions.cjs.map +1 -0
- package/dist/mappers/helpers/{transactions.d.ts → transactions.d.cts} +5 -5
- package/dist/mappers/helpers/transactions.d.cts.map +1 -0
- package/dist/mappers/helpers/transactions.d.mts +51 -0
- package/dist/mappers/helpers/transactions.d.mts.map +1 -0
- package/dist/mappers/helpers/{transactions.js → transactions.mjs} +6 -6
- package/dist/mappers/helpers/transactions.mjs.map +1 -0
- package/dist/mappers/keyring-transaction-mapper.cjs +201 -0
- package/dist/mappers/keyring-transaction-mapper.cjs.map +1 -0
- package/dist/mappers/{keyring-transaction-mapper.d.ts → keyring-transaction-mapper.d.cts} +3 -3
- package/dist/mappers/keyring-transaction-mapper.d.cts.map +1 -0
- package/dist/mappers/keyring-transaction-mapper.d.mts +26 -0
- package/dist/mappers/keyring-transaction-mapper.d.mts.map +1 -0
- package/dist/mappers/{keyring-transaction-mapper.js → keyring-transaction-mapper.mjs} +2 -2
- package/dist/mappers/keyring-transaction-mapper.mjs.map +1 -0
- package/dist/mappers/local-transaction-mapper.cjs +436 -0
- package/dist/mappers/local-transaction-mapper.cjs.map +1 -0
- package/dist/mappers/{local-transaction-mapper.d.ts → local-transaction-mapper.d.cts} +3 -3
- package/dist/mappers/local-transaction-mapper.d.cts.map +1 -0
- package/dist/mappers/local-transaction-mapper.d.mts +20 -0
- package/dist/mappers/local-transaction-mapper.d.mts.map +1 -0
- package/dist/mappers/{local-transaction-mapper.js → local-transaction-mapper.mjs} +8 -8
- package/dist/mappers/local-transaction-mapper.mjs.map +1 -0
- package/dist/mappers/ramps-order-mapper.cjs +145 -0
- package/dist/mappers/ramps-order-mapper.cjs.map +1 -0
- package/dist/mappers/{ramps-order-mapper.d.ts → ramps-order-mapper.d.cts} +2 -2
- package/dist/mappers/ramps-order-mapper.d.cts.map +1 -0
- package/dist/mappers/ramps-order-mapper.d.mts +50 -0
- package/dist/mappers/ramps-order-mapper.d.mts.map +1 -0
- package/dist/mappers/{ramps-order-mapper.js → ramps-order-mapper.mjs} +3 -3
- package/dist/mappers/ramps-order-mapper.mjs.map +1 -0
- package/dist/types.cjs +3 -0
- package/dist/types.cjs.map +1 -0
- package/dist/{types.d.ts → types.d.cts} +3 -3
- package/dist/types.d.cts.map +1 -0
- package/dist/types.d.mts +114 -0
- package/dist/types.d.mts.map +1 -0
- package/dist/types.mjs +2 -0
- package/dist/types.mjs.map +1 -0
- package/package.json +16 -12
- package/dist/formatters/create-formatters.d.ts.map +0 -1
- package/dist/formatters/create-formatters.js.map +0 -1
- package/dist/index.d.ts +0 -9
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -6
- package/dist/index.js.map +0 -1
- package/dist/mappers/api-transaction-mapper.d.ts.map +0 -1
- package/dist/mappers/api-transaction-mapper.js.map +0 -1
- package/dist/mappers/constants.d.ts +0 -26
- package/dist/mappers/constants.d.ts.map +0 -1
- package/dist/mappers/constants.js.map +0 -1
- package/dist/mappers/helpers/caip.d.ts.map +0 -1
- package/dist/mappers/helpers/caip.js.map +0 -1
- package/dist/mappers/helpers/token-metadata.d.ts.map +0 -1
- package/dist/mappers/helpers/token-metadata.js.map +0 -1
- package/dist/mappers/helpers/transactions.d.ts.map +0 -1
- package/dist/mappers/helpers/transactions.js.map +0 -1
- package/dist/mappers/keyring-transaction-mapper.d.ts.map +0 -1
- package/dist/mappers/keyring-transaction-mapper.js.map +0 -1
- package/dist/mappers/local-transaction-mapper.d.ts.map +0 -1
- package/dist/mappers/local-transaction-mapper.js.map +0 -1
- package/dist/mappers/ramps-order-mapper.d.ts.map +0 -1
- package/dist/mappers/ramps-order-mapper.js.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -2
- package/dist/types.js.map +0 -1
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAGrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC","sourcesContent":["export { createFormatters } from './formatters/create-formatters.js';\nexport type { Formatters } from './formatters/create-formatters.js';\n\nexport { mapApiTransaction } from './mappers/api-transaction-mapper.js';\nexport { mapKeyringTransaction } from './mappers/keyring-transaction-mapper.js';\nexport { mapLocalTransaction } from './mappers/local-transaction-mapper.js';\nexport { mapRampsOrder } from './mappers/ramps-order-mapper.js';\nexport type { RampsOrderLike } from './mappers/ramps-order-mapper.js';\n\nexport type * from './types.js';\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"api-transaction-mapper.d.ts","sourceRoot":"","sources":["../../src/mappers/api-transaction-mapper.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAG1E,OAAO,KAAK,EACV,YAAY,EAIb,MAAM,aAAa,CAAC;AAiBrB;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,WAAW,EACX,cAAc,GACf,EAAE;IACD,WAAW,EAAE,2BAA2B,CAAC;IACzC,cAAc,EAAE,MAAM,CAAC;CACxB,GAAG,YAAY,CAgXf"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"api-transaction-mapper.js","sourceRoot":"","sources":["../../src/mappers/api-transaction-mapper.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n isEqualCaseInsensitive as equalsIgnoreCase,\n isValidHexAddress,\n} from '@metamask/controller-utils';\nimport type { V1TransactionByHashResponse } from '@metamask/core-backend';\nimport { KnownCaipNamespace, toCaipChainId } from '@metamask/utils';\n\nimport type {\n ActivityItem,\n Status,\n TokenAmount,\n ValueTransfer,\n} from '../types.js';\nimport {\n nativeTokenAddress,\n supplyMethodIds,\n swapsWrappedTokensAddresses,\n withdrawMethodIds,\n wrapMethodIds,\n} from './constants.js';\nimport { formatAddressToAssetId, getNativeAsset } from './helpers/caip.js';\nimport {\n getFees,\n getNftPaymentTransfer,\n getTokenAmountFromTransfer,\n getTokenMetadataFromKnownToken,\n parseValueTransfers,\n} from './helpers/transactions.js';\n\n/**\n * Maps an indexed API transaction into the shared activity item shape.\n *\n * @param options - The mapping options.\n * @param options.transaction - The indexed API transaction to map.\n * @param options.subjectAddress - The account the activity is being mapped for.\n * @returns The normalized activity item.\n */\nexport function mapApiTransaction({\n transaction,\n subjectAddress,\n}: {\n transaction: V1TransactionByHashResponse;\n subjectAddress: string;\n}): ActivityItem {\n const { hash, transactionCategory, valueTransfers, from, methodId } =\n transaction;\n const normalizedMethodId = methodId?.toLowerCase() ?? '';\n const status: Status = transaction.isError ? 'failed' : 'success';\n const timestamp = new Date(transaction.timestamp).getTime();\n const chainId = toCaipChainId(\n KnownCaipNamespace.Eip155,\n transaction.chainId.toString(),\n );\n const getToken = (\n transfer: ValueTransfer | undefined,\n direction: TokenAmount['direction'],\n ): TokenAmount | undefined =>\n getTokenAmountFromTransfer(transfer, direction, chainId);\n\n const {\n sentTransfer,\n receivedTransfer,\n sentNativeTransfer,\n sentNftTransfer,\n receivedNftTransfer,\n } = parseValueTransfers(valueTransfers, subjectAddress);\n\n const common = { chainId, status, timestamp, hash };\n\n if (transactionCategory === 'SWAP' || transactionCategory === 'EXCHANGE') {\n return {\n type: 'swap',\n ...common,\n data: {\n sourceToken: getToken(sentTransfer, 'out'),\n destinationToken: getToken(receivedTransfer, 'in'),\n fees: getFees(transaction),\n from,\n },\n };\n }\n\n if (transactionCategory === 'APPROVE') {\n // Note: Categorize REVOKE in the backend\n const direction = receivedTransfer && !sentTransfer ? 'in' : 'out';\n const valueTransferContractAddress = valueTransfers?.find(\n ({ contractAddress, transferType }) =>\n contractAddress &&\n transferType !== 'normal' &&\n transferType !== 'internal',\n )?.contractAddress;\n const contractAddress =\n (isValidHexAddress(transaction.to, { allowNonPrefixed: false })\n ? transaction.to\n : undefined) ??\n (valueTransferContractAddress &&\n isValidHexAddress(valueTransferContractAddress, {\n allowNonPrefixed: false,\n })\n ? valueTransferContractAddress\n : undefined);\n const assetId = contractAddress\n ? formatAddressToAssetId(contractAddress, chainId)\n : undefined;\n const token =\n getTokenMetadataFromKnownToken(contractAddress, direction, chainId) ??\n (assetId ? { direction, assetId } : undefined);\n\n return {\n type: 'approveSpendingCap',\n ...common,\n data: {\n from,\n token,\n fees: getFees(transaction),\n },\n };\n }\n\n // Note: Categorize NFT in the backend\n const isNftExchange = transactionCategory === 'NFT_EXCHANGE';\n\n if (receivedNftTransfer) {\n if (receivedNftTransfer.from === nativeTokenAddress) {\n return {\n type: 'nftMint',\n ...common,\n data: {\n from: receivedNftTransfer.from,\n to: receivedNftTransfer.to,\n token: getToken(receivedNftTransfer, 'in'),\n },\n };\n }\n\n const purchasePaymentTransfer = getNftPaymentTransfer({\n side: 'buy',\n sentTransfer,\n sentNativeTransfer,\n nftCounterparty: receivedNftTransfer.from,\n transactionTo: transaction.to,\n subjectAddress,\n });\n\n if (isNftExchange || purchasePaymentTransfer) {\n return {\n type: 'nftBuy',\n ...common,\n data: {\n from: receivedNftTransfer.from,\n to: receivedNftTransfer.to,\n token: getToken(receivedNftTransfer, 'in'),\n paymentToken: getToken(purchasePaymentTransfer, 'out'),\n },\n };\n }\n\n return {\n type: 'receive',\n ...common,\n data: {\n from: receivedNftTransfer.from,\n to: receivedNftTransfer.to,\n token: getToken(receivedNftTransfer, 'in'),\n },\n };\n }\n\n if (sentNftTransfer) {\n const saleProceedsTransfer = getNftPaymentTransfer({\n side: 'sell',\n receivedTransfer,\n nftCounterparty: sentNftTransfer.to,\n transactionFrom: from,\n subjectAddress,\n });\n\n if (isNftExchange || saleProceedsTransfer) {\n return {\n type: 'nftSell',\n ...common,\n data: {\n from: sentNftTransfer.from,\n to: sentNftTransfer.to,\n token: getToken(sentNftTransfer, 'out'),\n paymentToken: getToken(saleProceedsTransfer, 'in'),\n },\n };\n }\n\n return {\n type: 'send',\n ...common,\n data: {\n from: sentNftTransfer.from,\n to: sentNftTransfer.to,\n token: getToken(sentNftTransfer, 'out'),\n },\n };\n }\n\n const hasNativeTransferWithoutMethod =\n transactionCategory === 'CONTRACT_CALL' &&\n !methodId &&\n valueTransfers?.some(({ transferType }) => transferType === 'normal');\n\n if (\n transactionCategory === 'TRANSFER' ||\n transactionCategory === 'STANDARD' ||\n hasNativeTransferWithoutMethod\n ) {\n const isReceive =\n Boolean(receivedTransfer && !sentTransfer) ||\n (equalsIgnoreCase(transaction.to, subjectAddress) &&\n !equalsIgnoreCase(from, subjectAddress));\n\n const transfer = isReceive ? receivedTransfer : sentTransfer;\n const direction: TokenAmount['direction'] = isReceive ? 'in' : 'out';\n let token = getToken(transfer, direction);\n\n if (!token) {\n // Zero-value sends can omit valueTransfers\n if (transactionCategory === 'STANDARD') {\n const nativeAsset = getNativeAsset(chainId);\n if (nativeAsset) {\n token = {\n symbol: nativeAsset.symbol,\n decimals: nativeAsset.decimals,\n assetId: nativeAsset.assetId,\n amount: transaction.value,\n direction,\n assetType: 'native',\n };\n }\n }\n } else if (\n !token.assetId &&\n transfer?.transferType !== 'normal' &&\n transfer?.transferType !== 'internal'\n ) {\n // ERC-20 transfer missing contractAddress — fall back to tx.to.\n const assetId = formatAddressToAssetId(transaction.to, chainId);\n if (assetId) {\n token = { ...token, assetId };\n }\n }\n\n return {\n type: isReceive ? 'receive' : 'send',\n ...common,\n data: {\n from: transfer?.from ?? from,\n to: transfer?.to ?? transaction.to,\n token,\n fees: getFees(transaction),\n },\n };\n }\n\n if (transactionCategory === 'CLAIM_BONUS') {\n return {\n type: 'claimMusdBonus',\n ...common,\n data: {\n from,\n token: getToken(receivedTransfer, 'in'),\n },\n };\n }\n\n if (transactionCategory === 'CLAIM') {\n return {\n type: 'claim',\n ...common,\n data: {\n from,\n token: getToken(\n receivedTransfer ?? sentTransfer,\n receivedTransfer ? 'in' : 'out',\n ),\n },\n };\n }\n\n if (transactionCategory === 'BRIDGE_WITHDRAW') {\n return {\n type: 'bridge',\n ...common,\n data: {\n from,\n sourceToken: getToken(sentTransfer, 'out'),\n fees: getFees(transaction),\n },\n };\n }\n\n if (\n transactionCategory === 'WITHDRAW' &&\n withdrawMethodIds.has(normalizedMethodId)\n ) {\n return {\n type: 'lendingWithdrawal',\n ...common,\n data: {\n from,\n sourceToken: getToken(sentTransfer, 'out'),\n destinationToken: getToken(receivedTransfer, 'in'),\n fees: getFees(transaction),\n },\n };\n }\n\n // Note: Categorize Deposit/Stake in the backend\n if (sentTransfer && supplyMethodIds.has(normalizedMethodId)) {\n return {\n type: 'lendingDeposit',\n ...common,\n data: {\n from,\n sourceToken: getToken(sentTransfer, 'out'),\n destinationToken: getToken(receivedTransfer, 'in'),\n fees: getFees(transaction),\n },\n };\n }\n\n const wrappedNativeAddress =\n swapsWrappedTokensAddresses[\n `0x${transaction.chainId.toString(\n 16,\n )}` as keyof typeof swapsWrappedTokensAddresses\n ];\n\n if (\n receivedTransfer &&\n wrapMethodIds.has(normalizedMethodId) &&\n wrappedNativeAddress &&\n equalsIgnoreCase(transaction.to, wrappedNativeAddress)\n ) {\n return {\n type: 'wrap',\n ...common,\n data: {\n from,\n sourceToken: getToken(sentTransfer, 'out'),\n destinationToken: getToken(receivedTransfer, 'in'),\n fees: getFees(transaction),\n },\n };\n }\n\n if (transactionCategory === 'UNWRAP') {\n return {\n type: 'unwrap',\n ...common,\n data: {\n from,\n sourceToken: getToken(sentTransfer, 'out'),\n destinationToken: getToken(receivedTransfer, 'in'),\n fees: getFees(transaction),\n },\n };\n }\n\n // Note: Categorize these Swaps in the backend\n if (\n transactionCategory === 'CONTRACT_CALL' &&\n sentTransfer?.symbol &&\n receivedTransfer?.symbol &&\n sentTransfer.symbol !== receivedTransfer.symbol\n ) {\n return {\n type: 'swap',\n ...common,\n data: {\n from,\n sourceToken: getToken(sentTransfer, 'out'),\n destinationToken: getToken(receivedTransfer, 'in'),\n fees: getFees(transaction),\n },\n };\n }\n\n if (transactionCategory === 'DEPOSIT') {\n return {\n type: 'deposit',\n ...common,\n data: {\n from,\n token: getToken(sentTransfer, 'out'),\n },\n };\n }\n\n const token = getToken(\n sentTransfer ?? receivedTransfer,\n sentTransfer ? 'out' : 'in',\n );\n\n return {\n type: 'contractInteraction',\n ...common,\n data: {\n methodId,\n from,\n to: transaction.to,\n transactionCategory,\n transactionProtocol: transaction.transactionProtocol,\n ...(token ? { token } : {}),\n },\n };\n}\n"]}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
export declare const supplyMethodIds: Set<string>;
|
|
2
|
-
export declare const withdrawMethodIds: Set<string>;
|
|
3
|
-
export declare const wrapMethodIds: Set<string>;
|
|
4
|
-
export declare const unwrapMethodIds: Set<string>;
|
|
5
|
-
export declare const permit2ApproveMethodId = "0x87517c45";
|
|
6
|
-
export declare const tokenTransferLogTopicHash = "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef";
|
|
7
|
-
export declare const nativeTokenAddress = "0x0000000000000000000000000000000000000000";
|
|
8
|
-
export declare const nativeTokenDecimals = 18;
|
|
9
|
-
export declare const swapsWrappedTokensAddresses: {
|
|
10
|
-
readonly '0x1': '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2';
|
|
11
|
-
readonly '0x539': '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2';
|
|
12
|
-
readonly '0x38': '0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c';
|
|
13
|
-
readonly '0x89': '0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270';
|
|
14
|
-
readonly '0x5': '0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6';
|
|
15
|
-
readonly '0xa86a': '0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7';
|
|
16
|
-
readonly '0xa': '0x4200000000000000000000000000000000000006';
|
|
17
|
-
readonly '0xa4b1': '0x82af49447d8a07e3bd95bd0d56f35241523fbab1';
|
|
18
|
-
readonly '0x144': '0x5AEa5775959fBC2557Cc8789bC1bf90A239D9a91';
|
|
19
|
-
readonly '0xe708': '0xe5D7C2a44FfDDf6b295A15c148167daaAf5Cf34f';
|
|
20
|
-
readonly '0x2105': '0x4200000000000000000000000000000000000006';
|
|
21
|
-
readonly '0x531': '0xe30fedd158a2e3b13e9badaeabafc5516e95e8c7';
|
|
22
|
-
readonly '0x8f': '0x3bd359c1119da7da1d913d1c4d2b7c461115433a';
|
|
23
|
-
readonly '0x3e7': '0x5555555555555555555555555555555555555555';
|
|
24
|
-
readonly '0x10e6': '0x4200000000000000000000000000000000000006';
|
|
25
|
-
};
|
|
26
|
-
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/mappers/constants.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,eAAe,aAK1B,CAAC;AAOH,eAAO,MAAM,iBAAiB,aAI5B,CAAC;AAEH,eAAO,MAAM,aAAa,aAA0B,CAAC;AACrD,eAAO,MAAM,eAAe,aAA0B,CAAC;AAEvD,eAAO,MAAM,sBAAsB,eAAe,CAAC;AAEnD,eAAO,MAAM,yBAAyB,uEACgC,CAAC;AAEvE,eAAO,MAAM,kBAAkB,+CAA+C,CAAC;AAE/E,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAEtC,eAAO,MAAM,2BAA2B;aACtC,KAAK,EAAE,4CAA4C;aACnD,OAAO,EAAE,4CAA4C;aACrD,MAAM,EAAE,4CAA4C;aACpD,MAAM,EAAE,4CAA4C;aACpD,KAAK,EAAE,4CAA4C;aACnD,QAAQ,EAAE,4CAA4C;aACtD,KAAK,EAAE,4CAA4C;aACnD,QAAQ,EAAE,4CAA4C;aACtD,OAAO,EAAE,4CAA4C;aACrD,QAAQ,EAAE,4CAA4C;aACtD,QAAQ,EAAE,4CAA4C;aACtD,OAAO,EAAE,4CAA4C;aACrD,MAAM,EAAE,4CAA4C;aACpD,OAAO,EAAE,4CAA4C;aACrD,QAAQ,EAAE,4CAA4C;CAC9C,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/mappers/constants.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,MAAM,kBAAkB,GAAG,YAAY,CAAC;AACxC,MAAM,kBAAkB,GAAG,YAAY,CAAC;AACxC,MAAM,mBAAmB,GAAG,YAAY,CAAC,CAAC,mCAAmC;AAC7E,MAAM,yBAAyB,GAAG,YAAY,CAAC,CAAC,iCAAiC;AAEjF,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IACrC,kBAAkB;IAClB,kBAAkB;IAClB,mBAAmB;IACnB,yBAAyB;CAC1B,CAAC,CAAC;AAEH,sCAAsC;AACtC,MAAM,oBAAoB,GAAG,YAAY,CAAC;AAC1C,MAAM,yBAAyB,GAAG,YAAY,CAAC;AAC/C,MAAM,sBAAsB,GAAG,YAAY,CAAC;AAE5C,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;IACvC,oBAAoB;IACpB,yBAAyB;IACzB,sBAAsB;CACvB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;AACrD,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;AAEvD,MAAM,CAAC,MAAM,sBAAsB,GAAG,YAAY,CAAC;AAEnD,MAAM,CAAC,MAAM,yBAAyB,GACpC,oEAAoE,CAAC;AAEvE,MAAM,CAAC,MAAM,kBAAkB,GAAG,4CAA4C,CAAC;AAE/E,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAEtC,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,KAAK,EAAE,4CAA4C;IACnD,OAAO,EAAE,4CAA4C;IACrD,MAAM,EAAE,4CAA4C;IACpD,MAAM,EAAE,4CAA4C;IACpD,KAAK,EAAE,4CAA4C;IACnD,QAAQ,EAAE,4CAA4C;IACtD,KAAK,EAAE,4CAA4C;IACnD,QAAQ,EAAE,4CAA4C;IACtD,OAAO,EAAE,4CAA4C;IACrD,QAAQ,EAAE,4CAA4C;IACtD,QAAQ,EAAE,4CAA4C;IACtD,OAAO,EAAE,4CAA4C;IACrD,MAAM,EAAE,4CAA4C;IACpD,OAAO,EAAE,4CAA4C;IACrD,QAAQ,EAAE,4CAA4C;CAC9C,CAAC","sourcesContent":["// Known method IDs for supply/deposit calls\nconst aaveSupplyMethodId = '0x617ba037';\nconst lidoSubmitMethodId = '0xa1903eab';\nconst lidoDepositMethodId = '0x8a99b4f2'; // MM staking contract Lido deposit\nconst rocketPoolDepositMethodId = '0xfa4bbb71'; // MM staking contract RP deposit\n\nexport const supplyMethodIds = new Set([\n aaveSupplyMethodId,\n lidoSubmitMethodId,\n lidoDepositMethodId,\n rocketPoolDepositMethodId,\n]);\n\n// Known method IDs for withdraw calls\nconst aaveWithdrawMethodId = '0x69328dec';\nconst lidoClaimWithdrawMethodId = '0xf8444436';\nconst rocketPoolBurnMethodId = '0x42966c68';\n\nexport const withdrawMethodIds = new Set([\n aaveWithdrawMethodId,\n lidoClaimWithdrawMethodId,\n rocketPoolBurnMethodId,\n]);\n\nexport const wrapMethodIds = new Set(['0xd0e30db0']);\nexport const unwrapMethodIds = new Set(['0x2e1a7d4d']);\n\nexport const permit2ApproveMethodId = '0x87517c45';\n\nexport const tokenTransferLogTopicHash =\n '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef';\n\nexport const nativeTokenAddress = '0x0000000000000000000000000000000000000000';\n\nexport const nativeTokenDecimals = 18;\n\nexport const swapsWrappedTokensAddresses = {\n '0x1': '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',\n '0x539': '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',\n '0x38': '0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c',\n '0x89': '0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270',\n '0x5': '0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6',\n '0xa86a': '0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7',\n '0xa': '0x4200000000000000000000000000000000000006',\n '0xa4b1': '0x82af49447d8a07e3bd95bd0d56f35241523fbab1',\n '0x144': '0x5AEa5775959fBC2557Cc8789bC1bf90A239D9a91',\n '0xe708': '0xe5D7C2a44FfDDf6b295A15c148167daaAf5Cf34f',\n '0x2105': '0x4200000000000000000000000000000000000006',\n '0x531': '0xe30fedd158a2e3b13e9badaeabafc5516e95e8c7',\n '0x8f': '0x3bd359c1119da7da1d913d1c4d2b7c461115433a',\n '0x3e7': '0x5555555555555555555555555555555555555555',\n '0x10e6': '0x4200000000000000000000000000000000000006',\n} as const;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"caip.d.ts","sourceRoot":"","sources":["../../../src/mappers/helpers/caip.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAoCvE;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,GAAG,MAAM,GACvB,WAAW,GAAG,SAAS,CAoBzB;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,EACpC,MAAM,EAAE,MAAM,GAAG,SAAS,GACzB,aAAa,GAAG,SAAS,CA0B3B;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,WAAW,GAC/C;IACE,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,aAAa,CAAC;CACxB,GACD,SAAS,CA+BZ;AAWD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,GAAG,GAAG,aAAa,GAAG,MAAM,EACrC,OAAO,CAAC,EAAE,WAAW,GAAG,GAAG,GAC1B,aAAa,GAAG,SAAS,CAwB3B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"caip.js","sourceRoot":"","sources":["../../../src/mappers/helpers/caip.ts"],"names":[],"mappings":"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","sourcesContent":["import { toChecksumHexAddress } from '@metamask/controller-utils';\n// @ts-expect-error: No type definitions for '@metamask/slip44'\nimport slip44data from '@metamask/slip44';\nimport type { CaipAssetType, CaipChainId, Hex } from '@metamask/utils';\nimport {\n isCaipAssetType,\n isStrictHexString,\n KnownCaipNamespace,\n parseCaipChainId,\n toCaipAssetType,\n} from '@metamask/utils';\nimport { getChainById } from 'eth-chainlist';\n\nimport { nativeTokenAddress, nativeTokenDecimals } from '../constants.js';\n\nconst slip44BySymbol = ((): Map<string, string> => {\n const coinTypeBySymbol = new Map<string, string>();\n\n for (const [coinType, entry] of Object.entries(\n slip44data as Record<string, { symbol: string }>,\n )) {\n const normalizedSymbol = entry.symbol.toUpperCase();\n\n if (!coinTypeBySymbol.has(normalizedSymbol)) {\n coinTypeBySymbol.set(normalizedSymbol, coinType);\n }\n }\n\n return coinTypeBySymbol;\n})();\n\nfunction getCoinType(symbol: string): string | undefined {\n const normalizedSymbol = symbol.toUpperCase();\n return (\n slip44BySymbol.get(normalizedSymbol) ??\n (normalizedSymbol === 'POL' ? slip44BySymbol.get('MATIC') : undefined)\n );\n}\n\n/**\n * Normalizes a hex, decimal, numeric, or CAIP chain id to its CAIP-2 form.\n * Only EVM (eip155) chains are normalized here; CAIP ids are returned as-is.\n *\n * @param chainId - Hex (`0x1`), numeric, decimal string, or CAIP chain id.\n * @returns The CAIP-2 chain id, or `undefined` when it can't be normalized.\n */\nexport function formatChainIdToCaip(\n chainId: string | number,\n): CaipChainId | undefined {\n if (typeof chainId === 'number') {\n return `eip155:${chainId}`;\n }\n\n if (chainId.includes(':')) {\n return chainId as CaipChainId;\n }\n\n if (chainId.startsWith('0x')) {\n const reference = Number.parseInt(chainId, 16);\n return Number.isNaN(reference) ? undefined : `eip155:${reference}`;\n }\n\n if (chainId === '') {\n return undefined;\n }\n\n const reference = Number(chainId);\n return Number.isNaN(reference) ? undefined : `eip155:${reference}`;\n}\n\nexport function resolveNativeAssetId(\n chainId: string | number | undefined,\n symbol: string | undefined,\n): CaipAssetType | undefined {\n if (chainId === undefined) {\n return undefined;\n }\n\n const caipChainId = formatChainIdToCaip(chainId);\n\n if (!caipChainId) {\n return undefined;\n }\n\n const { namespace, reference } = parseCaipChainId(caipChainId);\n const assetReference = symbol ? getCoinType(symbol) : undefined;\n\n if (assetReference) {\n return toCaipAssetType(namespace, reference, 'slip44', assetReference);\n }\n\n if (namespace === KnownCaipNamespace.Eip155) {\n return (\n getNativeAsset(caipChainId)?.assetId ??\n toCaipAssetType(namespace, reference, 'erc20', nativeTokenAddress)\n );\n }\n\n return undefined;\n}\n\n/**\n * Resolves EVM native symbol, decimals, and CAIP asset id for a chain.\n * Prefers eth-chainlist slip44 except testnet coin type 1, then falls back to\n * `@metamask/slip44` by native symbol.\n *\n * @param chainId - CAIP-2 chain id (eip155 only).\n * @returns Native asset metadata, or undefined when it cannot be resolved.\n */\nexport function getNativeAsset(chainId: CaipChainId):\n | {\n symbol: string;\n decimals: number;\n assetId: CaipAssetType;\n }\n | undefined {\n const { namespace, reference } = parseCaipChainId(chainId);\n if (namespace !== KnownCaipNamespace.Eip155) {\n return undefined;\n }\n\n const chain = getChainById(Number(reference));\n if (!chain) {\n return undefined;\n }\n\n const { nativeCurrency, slip44 } = chain;\n if (!nativeCurrency?.symbol) {\n return undefined;\n }\n\n const slip44TestnetCoinType = 1;\n const assetReference =\n typeof slip44 === 'number' && slip44 !== slip44TestnetCoinType\n ? String(slip44)\n : getCoinType(nativeCurrency.symbol);\n\n const assetId = assetReference\n ? toCaipAssetType(namespace, reference, 'slip44', assetReference)\n : toCaipAssetType(namespace, reference, 'erc20', nativeTokenAddress);\n\n return {\n symbol: nativeCurrency.symbol,\n decimals: nativeCurrency.decimals ?? nativeTokenDecimals,\n assetId,\n };\n}\n\nfunction isNativeAddress(address: string): boolean {\n const normalized = address.toLowerCase();\n return (\n normalized === nativeTokenAddress ||\n normalized === '0x0' ||\n /^0x0+$/u.test(normalized)\n );\n}\n\n/**\n * Encodes an EVM token address + chain id into a CAIP-19 asset id.\n *\n * @param address - Hex contract address, native sentinel, or CAIP asset id.\n * @param chainId - CAIP-2 or hex chain id.\n * @returns The CAIP-19 asset id, or `undefined` when it can't be encoded.\n */\nexport function formatAddressToAssetId(\n address: Hex | CaipAssetType | string,\n chainId?: CaipChainId | Hex,\n): CaipAssetType | undefined {\n if (isCaipAssetType(address)) {\n return address;\n }\n\n const caipChainId = chainId ? formatChainIdToCaip(chainId) : undefined;\n\n if (!caipChainId) {\n return undefined;\n }\n\n if (isNativeAddress(address)) {\n return undefined;\n }\n\n const checksummedAddress = toChecksumHexAddress(address);\n\n if (!isStrictHexString(checksummedAddress)) {\n return undefined;\n }\n\n const { namespace, reference } = parseCaipChainId(caipChainId);\n\n return toCaipAssetType(namespace, reference, 'erc20', checksummedAddress);\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"token-metadata.d.ts","sourceRoot":"","sources":["../../../src/mappers/helpers/token-metadata.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAIxD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAaF,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,WAAW,GAAG,GAAG,EAC1B,eAAe,CAAC,EAAE,MAAM,GACvB,kBAAkB,GAAG,SAAS,CAsBhC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"token-metadata.js","sourceRoot":"","sources":["../../../src/mappers/helpers/token-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAGlE,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAenD,MAAM,aAAa,GAAG,WAAoD,CAAC;AAE3E,MAAM,oBAAoB,GAAG,WAAW,CAAC;AAEzC,MAAM,UAAU,qBAAqB,CACnC,OAA0B,EAC1B,eAAwB;IAExB,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,OAAO,GAAG,sBAAsB,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IAEjE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;QAC/C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,KAAK,GAAG,aAAa,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC,CAAC;IAEnE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,OAAO;KACR,CAAC;AACJ,CAAC","sourcesContent":["import contractMap from '@metamask/contract-metadata';\nimport { toChecksumHexAddress } from '@metamask/controller-utils';\nimport type { CaipChainId, Hex } from '@metamask/utils';\n\nimport { formatAddressToAssetId } from './caip.js';\n\nexport type KnownTokenMetadata = {\n symbol?: string;\n decimals?: number;\n assetId?: string;\n};\n\ntype ContractMetadataEntry = {\n name?: string;\n symbol?: string;\n decimals?: number;\n erc20?: boolean;\n};\n\nconst mainnetTokens = contractMap as Record<string, ContractMetadataEntry>;\n\nconst mainnetAssetIdPrefix = 'eip155:1/';\n\nexport function getKnownTokenMetadata(\n chainId: CaipChainId | Hex,\n contractAddress?: string,\n): KnownTokenMetadata | undefined {\n if (!contractAddress) {\n return undefined;\n }\n\n const assetId = formatAddressToAssetId(contractAddress, chainId);\n\n if (!assetId?.startsWith(mainnetAssetIdPrefix)) {\n return undefined;\n }\n\n const entry = mainnetTokens[toChecksumHexAddress(contractAddress)];\n\n if (!entry) {\n return undefined;\n }\n\n return {\n symbol: entry.symbol,\n decimals: entry.decimals,\n assetId,\n };\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transactions.d.ts","sourceRoot":"","sources":["../../../src/mappers/helpers/transactions.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAKxE,OAAO,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,KAAK,EAEV,GAAG,EACH,MAAM,EACN,WAAW,EACX,aAAa,EACd,MAAM,gBAAgB,CAAC;AAWxB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,kBAAkB,EAAE,eAAe,GAAG;QAAE,kBAAkB,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACvE,KAAK,EAAE,GAAG,CAAC;IACX,kBAAkB,EAAE,eAAe,CAAC;IACpC,YAAY,EAAE,eAAe,EAAE,CAAC;CACjC,CAAC;AA0FF,wBAAgB,OAAO,CACrB,WAAW,EAAE,2BAA2B,GACvC,GAAG,EAAE,GAAG,SAAS,CAInB;AAED,wBAAgB,uBAAuB,CACrC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,GAAG;IAC/D,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,GACA,GAAG,EAAE,GAAG,SAAS,CAmBnB;AAqCD,wBAAgB,yBAAyB,CAAC,EACxC,kBAAkB,EAClB,kBAAkB,GACnB,EAAE;IACD,kBAAkB,EAAE,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;IAC3D,kBAAkB,EAAE,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;CAC5D,GAAG,MAAM,CA4CT;AAED,wBAAgB,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAErD;AAED,wBAAgB,qBAAqB,CAAC,EACpC,IAAI,EACJ,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,aAAa,EACb,cAAc,GACf,EAAE;IACD,IAAI,EAAE,KAAK,GAAG,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,gBAAgB,CAAC,EAAE,aAAa,CAAC;IACjC,kBAAkB,CAAC,EAAE,aAAa,CAAC;IACnC,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB,GAAG,aAAa,GAAG,SAAS,CAsC5B;AAaD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,cAAc,EAAE,aAAa,EAAE,GAAG,SAAS,EAC3C,cAAc,EAAE,MAAM,GACrB;IACD,YAAY,EAAE,aAAa,GAAG,SAAS,CAAC;IACxC,gBAAgB,EAAE,aAAa,GAAG,SAAS,CAAC;IAC5C,kBAAkB,EAAE,aAAa,GAAG,SAAS,CAAC;IAC9C,eAAe,EAAE,aAAa,GAAG,SAAS,CAAC;IAC3C,mBAAmB,EAAE,aAAa,GAAG,SAAS,CAAC;CAChD,CAgCA;AAED,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,aAAa,GAAG,SAAS,EACnC,SAAS,EAAE,WAAW,CAAC,WAAW,CAAC,EACnC,OAAO,EAAE,WAAW,GACnB,WAAW,GAAG,SAAS,CAkCzB;AAED,wBAAgB,8BAA8B,CAC5C,eAAe,EAAE,MAAM,GAAG,SAAS,EACnC,SAAS,EAAE,WAAW,CAAC,WAAW,CAAC,EACnC,OAAO,EAAE,WAAW,GACnB,WAAW,GAAG,SAAS,CAgBzB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transactions.js","sourceRoot":"","sources":["../../../src/mappers/helpers/transactions.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n ERC721,\n ERC1155,\n isEqualCaseInsensitive as equalsIgnoreCase,\n} from '@metamask/controller-utils';\nimport type { V1TransactionByHashResponse } from '@metamask/core-backend';\nimport type { TransactionMeta } from '@metamask/transaction-controller';\nimport {\n TransactionStatus,\n TransactionType,\n} from '@metamask/transaction-controller';\nimport type { CaipChainId, Hex } from '@metamask/utils';\n\nimport type {\n AssetType,\n Fee,\n Status,\n TokenAmount,\n ValueTransfer,\n} from '../../types.js';\nimport { nativeTokenDecimals } from '../constants.js';\nimport {\n formatAddressToAssetId,\n formatChainIdToCaip,\n getNativeAsset,\n resolveNativeAssetId,\n} from './caip.js';\nimport { getKnownTokenMetadata } from './token-metadata.js';\n\n// Adds optional `isSmartTransaction` to `TransactionMeta`.\nexport type TransactionGroup = {\n hasCancelled: boolean;\n hasRetried: boolean;\n initialTransaction: TransactionMeta & { isSmartTransaction?: boolean };\n nonce: Hex;\n primaryTransaction: TransactionMeta;\n transactions: TransactionMeta[];\n};\n\nfunction calculateNetworkFee(\n gasUsed: string | number | undefined,\n gasPrice: string | number | undefined,\n): string | undefined {\n if (gasUsed === undefined || gasPrice === undefined) {\n return undefined;\n }\n\n try {\n return String(BigInt(gasUsed) * BigInt(gasPrice));\n } catch {\n return undefined;\n }\n}\n\nfunction toNetworkFee(\n amount: string,\n chainId: CaipChainId,\n symbol?: string,\n): Fee {\n const nativeAsset = getNativeAsset(chainId);\n\n if (nativeAsset) {\n return {\n type: 'base',\n amount,\n decimals: nativeTokenDecimals,\n assetType: 'native',\n symbol: symbol ?? nativeAsset.symbol,\n assetId: nativeAsset.assetId,\n };\n }\n\n const assetId = symbol ? resolveNativeAssetId(chainId, symbol) : undefined;\n\n return {\n type: 'base',\n amount,\n decimals: nativeTokenDecimals,\n assetType: 'native',\n ...(symbol ? { symbol } : {}),\n ...(assetId ? { assetId } : {}),\n };\n}\n\nfunction getAssetTypeFromTransferType(\n transferType: string | undefined,\n): AssetType | undefined {\n if (transferType === 'normal' || transferType === 'internal') {\n return 'native';\n }\n\n if (transferType === 'erc20') {\n return 'erc20';\n }\n\n if (transferType === ERC721.toLowerCase() || transferType === 'erc721') {\n return 'erc721';\n }\n\n if (transferType === ERC1155.toLowerCase() || transferType === 'erc1155') {\n return 'erc1155';\n }\n\n return undefined;\n}\n\nfunction getNetworkFee(\n transaction: V1TransactionByHashResponse,\n): Fee | undefined {\n const chainId = formatChainIdToCaip(transaction.chainId);\n\n if (!chainId) {\n return undefined;\n }\n\n const amount = calculateNetworkFee(\n transaction.gasUsed,\n transaction.effectiveGasPrice,\n );\n\n if (!amount) {\n return undefined;\n }\n\n return toNetworkFee(amount, chainId);\n}\n\nexport function getFees(\n transaction: V1TransactionByHashResponse,\n): Fee[] | undefined {\n const networkFee = getNetworkFee(transaction);\n\n return networkFee ? [networkFee] : undefined;\n}\n\nexport function getLocalTransactionFees(\n transactionGroup: Pick<TransactionGroup, 'primaryTransaction'> & {\n nativeAssetSymbol?: string;\n },\n): Fee[] | undefined {\n const { primaryTransaction, nativeAssetSymbol } = transactionGroup;\n const chainId = formatChainIdToCaip(primaryTransaction.chainId);\n\n if (!chainId) {\n return undefined;\n }\n\n const amount = calculateNetworkFee(\n primaryTransaction.txReceipt?.gasUsed,\n primaryTransaction.txReceipt?.effectiveGasPrice ??\n primaryTransaction.txParams?.gasPrice,\n );\n\n if (!amount) {\n return undefined;\n }\n\n return [toNetworkFee(amount, chainId, nativeAssetSymbol)];\n}\n\nconst inProgressTransactionStatuses = [\n TransactionStatus.unapproved,\n TransactionStatus.approved,\n TransactionStatus.signed,\n TransactionStatus.submitted,\n];\n\nconst transactionGroupCancelledStatus = 'cancelled';\n\nconst smartTransactionStatus = {\n cancelled: 'cancelled',\n pending: 'pending',\n success: 'success',\n} as const;\n\nfunction getTransactionStatusKey(\n transaction: TransactionGroup['primaryTransaction'],\n): string {\n const { type, status } = transaction;\n const receiptStatus = transaction.txReceipt?.status;\n\n if (receiptStatus === '0x0') {\n return TransactionStatus.failed;\n }\n\n if (\n status === TransactionStatus.confirmed &&\n type === TransactionType.cancel\n ) {\n return transactionGroupCancelledStatus;\n }\n\n return transaction.status;\n}\n\nexport function getLocalTransactionStatus({\n primaryTransaction,\n initialTransaction,\n}: {\n primaryTransaction: TransactionGroup['primaryTransaction'];\n initialTransaction: TransactionGroup['initialTransaction'];\n}): Status {\n if (initialTransaction.isSmartTransaction) {\n const smartStatus = initialTransaction.status as string | undefined;\n\n if (smartStatus === smartTransactionStatus.pending) {\n return 'pending';\n }\n\n if (smartStatus === smartTransactionStatus.success) {\n return 'success';\n }\n\n if (smartStatus === smartTransactionStatus.cancelled) {\n return 'failed';\n }\n\n return 'pending';\n }\n\n const statusKey = getTransactionStatusKey(primaryTransaction);\n\n if (statusKey === TransactionStatus.confirmed) {\n return 'success';\n }\n\n if (\n statusKey === TransactionStatus.cancelled ||\n statusKey === transactionGroupCancelledStatus ||\n statusKey === TransactionStatus.dropped ||\n statusKey === TransactionStatus.failed ||\n statusKey === TransactionStatus.rejected\n ) {\n return 'failed';\n }\n\n if (\n inProgressTransactionStatuses.includes(\n statusKey as (typeof inProgressTransactionStatuses)[number],\n )\n ) {\n return 'pending';\n }\n\n return 'pending';\n}\n\nexport function isNftStandard(value?: string): boolean {\n return value === ERC721.toLowerCase() || value === ERC1155.toLowerCase();\n}\n\nexport function getNftPaymentTransfer({\n side,\n sentTransfer,\n receivedTransfer,\n sentNativeTransfer,\n nftCounterparty,\n transactionFrom,\n transactionTo,\n subjectAddress,\n}: {\n side: 'buy' | 'sell';\n sentTransfer?: ValueTransfer;\n receivedTransfer?: ValueTransfer;\n sentNativeTransfer?: ValueTransfer;\n nftCounterparty: string;\n transactionFrom?: string;\n transactionTo?: string;\n subjectAddress: string;\n}): ValueTransfer | undefined {\n const isFungible = (transfer?: ValueTransfer): boolean =>\n Boolean(transfer && !isNftStandard(transfer.transferType));\n\n if (side === 'buy') {\n for (const transfer of [sentNativeTransfer, sentTransfer]) {\n if (!transfer || !isFungible(transfer)) {\n continue;\n }\n\n // Only count a payment that goes to the NFT counterparty (direct sale) or\n // to the contract being called (marketplace/router). This avoids treating\n // an unrelated native send in the same transaction as the NFT payment.\n if (\n equalsIgnoreCase(transfer.to, nftCounterparty) ||\n equalsIgnoreCase(transfer.to, transactionTo as string)\n ) {\n return transfer;\n }\n }\n\n return undefined;\n }\n\n if (!receivedTransfer || !isFungible(receivedTransfer)) {\n return undefined;\n }\n\n if (\n equalsIgnoreCase(receivedTransfer.from, nftCounterparty) ||\n (transactionFrom &&\n !equalsIgnoreCase(transactionFrom, subjectAddress) &&\n equalsIgnoreCase(receivedTransfer.from, transactionFrom))\n ) {\n return receivedTransfer;\n }\n\n return undefined;\n}\n\nconst resolveAssetId = (\n chainId: CaipChainId,\n contractAddress: string | undefined,\n): string | undefined => {\n if (!contractAddress) {\n return undefined;\n }\n\n return formatAddressToAssetId(contractAddress, chainId);\n};\n\n/**\n * Resolves the user's primary send and receive legs from indexed value transfers.\n * Prefers a receive whose symbol differs from the sent leg so dust does not win.\n *\n * @param valueTransfers - Indexed value transfers from the Accounts API.\n * @param subjectAddress - The account address to match transfers against.\n * @returns The primary sent and received transfers for the account.\n */\nexport function parseValueTransfers(\n valueTransfers: ValueTransfer[] | undefined,\n subjectAddress: string,\n): {\n sentTransfer: ValueTransfer | undefined;\n receivedTransfer: ValueTransfer | undefined;\n sentNativeTransfer: ValueTransfer | undefined;\n sentNftTransfer: ValueTransfer | undefined;\n receivedNftTransfer: ValueTransfer | undefined;\n} {\n const sent = valueTransfers?.filter(({ from }) =>\n equalsIgnoreCase(from, subjectAddress),\n );\n const received = valueTransfers?.filter(({ to }) =>\n equalsIgnoreCase(to, subjectAddress),\n );\n\n const sentTransfer = sent?.[0];\n\n const receivedTransfer =\n received?.find(({ symbol }) => symbol !== sentTransfer?.symbol) ??\n received?.[0];\n\n const sentNativeTransfer = sent?.find(\n ({ transferType }) => transferType === 'normal',\n );\n\n const sentNftTransfer = sent?.find(({ transferType }) =>\n isNftStandard(transferType),\n );\n const receivedNftTransfer = received?.find(({ transferType }) =>\n isNftStandard(transferType),\n );\n\n return {\n sentTransfer,\n receivedTransfer,\n sentNativeTransfer,\n sentNftTransfer,\n receivedNftTransfer,\n };\n}\n\nexport function getTokenAmountFromTransfer(\n transfer: ValueTransfer | undefined,\n direction: TokenAmount['direction'],\n chainId: CaipChainId,\n): TokenAmount | undefined {\n if (!transfer) {\n return undefined;\n }\n\n const { transferType, amount } = transfer;\n const isNftTransfer = isNftStandard(transferType);\n const symbol = isNftTransfer\n ? transfer.name || transfer.symbol\n : transfer.symbol;\n\n if (!symbol && amount === undefined) {\n return undefined;\n }\n\n const hasTransferAmount =\n !isNftTransfer && amount !== null && amount !== undefined;\n const assetType = getAssetTypeFromTransferType(transferType);\n\n let assetId: string | undefined;\n if (assetType === 'native') {\n assetId = resolveNativeAssetId(chainId, symbol);\n } else if (transfer && !isNftTransfer) {\n assetId = resolveAssetId(chainId, transfer.contractAddress);\n }\n\n return {\n direction,\n ...(hasTransferAmount ? { amount: String(amount) } : {}),\n ...(transfer.decimal === undefined ? {} : { decimals: transfer.decimal }),\n ...(symbol ? { symbol } : {}),\n ...(assetId ? { assetId } : {}),\n ...(assetType ? { assetType } : {}),\n };\n}\n\nexport function getTokenMetadataFromKnownToken(\n contractAddress: string | undefined,\n direction: TokenAmount['direction'],\n chainId: CaipChainId,\n): TokenAmount | undefined {\n const tokenMetadata = getKnownTokenMetadata(chainId, contractAddress);\n\n if (!tokenMetadata) {\n return undefined;\n }\n\n return {\n direction,\n assetType: 'erc20',\n ...(tokenMetadata.symbol ? { symbol: tokenMetadata.symbol } : {}),\n ...(tokenMetadata.decimals === undefined\n ? {}\n : { decimals: tokenMetadata.decimals }),\n ...(tokenMetadata.assetId ? { assetId: tokenMetadata.assetId } : {}),\n };\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"keyring-transaction-mapper.d.ts","sourceRoot":"","sources":["../../src/mappers/keyring-transaction-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,IAAI,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAM/E,OAAO,KAAK,EAAO,YAAY,EAAuB,MAAM,aAAa,CAAC;AAS1E;;;;;;GAMG;AACH,oBAAY,0BAA0B;IAEpC,gBAAgB,sBAAsB;IAEtC,mBAAmB,yBAAyB;CAC7C;AA8ED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,WAAW,EACX,cAAc,GACf,EAAE;IACD,WAAW,EAAE,kBAAkB,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,GAAG,YAAY,CAuIf"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"keyring-transaction-mapper.js","sourceRoot":"","sources":["../../src/mappers/keyring-transaction-mapper.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Transaction as KeyringTransaction } from '@metamask/keyring-api';\nimport {\n TransactionStatus,\n TransactionType as KeyringTransactionType,\n} from '@metamask/keyring-api';\n\nimport type { Fee, ActivityItem, Status, TokenAmount } from '../types.js';\n\ntype Movement = KeyringTransaction['from'][number];\ntype KeyringFee = KeyringTransaction['fees'][number];\ntype FungibleAsset = Extract<\n NonNullable<Movement['asset']>,\n { fungible: true }\n>;\n\n/**\n * Custom labels for non-EVM transactions.\n *\n * The labels are used to map the transaction type to the title in the activity list and dialog.\n * The labels are defined in the `transaction.details.typeLabel` property.\n * For details: {@link https://github.com/MetaMask/metamask-extension/pull/38040}\n */\nexport enum CustomTransactionTypeLabel {\n // Token requires one off approve to receive\n TrustlineApprove = 'trustline-approve',\n // Token requires revoke the approve to stop receiving\n TrustlineDisapprove = 'trustline-disapprove',\n}\n\nfunction hasTrustlineTypeLabel(\n details: KeyringTransaction['details'],\n): boolean {\n // A flag to indicate if the transaction is a trustline type.\n return [\n String(CustomTransactionTypeLabel.TrustlineApprove),\n String(CustomTransactionTypeLabel.TrustlineDisapprove),\n ].includes(details?.typeLabel ?? '');\n}\n\nfunction mapStatus(status: KeyringTransaction['status']): Status {\n switch (status) {\n case TransactionStatus.Confirmed:\n return 'success';\n case TransactionStatus.Failed:\n return 'failed';\n case TransactionStatus.Submitted:\n case TransactionStatus.Unconfirmed:\n default:\n return 'pending';\n }\n}\n\nfunction getAddress(movements: Movement[]): string {\n return movements[0]?.address ?? '';\n}\n\nfunction hasFungibleAsset(\n movement: Movement,\n): movement is Movement & { asset: FungibleAsset } {\n return movement.asset?.fungible === true;\n}\n\nfunction getToken(\n movements: Movement[],\n direction: TokenAmount['direction'],\n): TokenAmount | undefined {\n const movement = movements.find(hasFungibleAsset);\n\n if (!movement) {\n return undefined;\n }\n\n return {\n amount: movement.asset.amount,\n symbol: movement.asset.unit,\n assetId: movement.asset.type,\n direction,\n };\n}\n\nfunction getFee(fee: KeyringFee): Fee | undefined {\n const { asset } = fee;\n\n if (!asset.fungible) {\n return undefined;\n }\n\n return {\n type: fee.type,\n amount: asset.amount,\n symbol: asset.unit,\n assetId: asset.type,\n };\n}\n\nfunction getFees(transaction: KeyringTransaction): Fee[] {\n return transaction.fees.flatMap((fee) => {\n const mappedFee = getFee(fee);\n\n return mappedFee ? [mappedFee] : [];\n });\n}\n\nconst approveAmountMaxIntegerDigits = 15;\n\n/**\n * Maps a keyring transaction into the shared activity item shape.\n *\n * @param options - The mapping options.\n * @param options.transaction - The keyring transaction to map.\n * @param options.subjectAddress - Account address used for send/receive attribution.\n * @returns The normalized activity item.\n */\nexport function mapKeyringTransaction({\n transaction,\n subjectAddress,\n}: {\n transaction: KeyringTransaction;\n subjectAddress?: string;\n}): ActivityItem {\n const { type, id } = transaction;\n const status = mapStatus(transaction.status);\n const timestamp = transaction.timestamp ? transaction.timestamp * 1000 : 0;\n const chainId = transaction.chain;\n\n const from =\n type === KeyringTransactionType.Send && subjectAddress\n ? subjectAddress\n : getAddress(transaction.from);\n\n const to =\n type === KeyringTransactionType.Receive && subjectAddress\n ? subjectAddress\n : getAddress(transaction.to);\n\n const fees = getFees(transaction);\n const common = { chainId, status, timestamp, hash: id };\n\n switch (type) {\n case KeyringTransactionType.Send: {\n const fromSubject = subjectAddress\n ? transaction.from.filter(({ address }) => address === subjectAddress)\n : transaction.from;\n const fromToken = getToken(fromSubject, 'out');\n const token =\n !fromToken && chainId.startsWith('bip122:')\n ? getToken(transaction.to, 'out')\n : fromToken;\n\n return {\n type: 'send',\n ...common,\n data: {\n from,\n to,\n token,\n fees,\n },\n };\n }\n\n case KeyringTransactionType.Receive:\n return {\n type: 'receive',\n ...common,\n data: {\n from,\n to,\n token: getToken(transaction.to, 'in'),\n fees,\n },\n };\n\n case KeyringTransactionType.Swap:\n return {\n type: 'swap',\n ...common,\n data: {\n from,\n destinationToken: getToken(transaction.to, 'in'),\n sourceToken: getToken(transaction.from, 'out'),\n fees,\n },\n };\n\n case KeyringTransactionType.TokenApprove: {\n const rawToken = getToken(transaction.from, 'out');\n\n if (hasTrustlineTypeLabel(transaction.details)) {\n return {\n type: 'assetActivation',\n ...common,\n data: {\n from,\n token: rawToken ? { ...rawToken, amount: undefined } : rawToken,\n fees,\n },\n };\n }\n\n const isUnlimited =\n rawToken?.amount !== undefined &&\n rawToken.amount.split('.')[0].length > approveAmountMaxIntegerDigits;\n\n return {\n type: 'approveSpendingCap',\n ...common,\n data: {\n from,\n token: rawToken\n ? { ...rawToken, amount: isUnlimited ? undefined : rawToken.amount }\n : rawToken,\n fees,\n },\n };\n }\n\n case KeyringTransactionType.TokenDisapprove: {\n if (!hasTrustlineTypeLabel(transaction.details)) {\n return {\n type: 'contractInteraction',\n ...common,\n data: {\n from,\n to,\n fees,\n },\n };\n }\n\n const rawToken = getToken(transaction.from, 'out');\n\n return {\n type: 'assetDeactivation',\n ...common,\n data: {\n from,\n token: rawToken ? { ...rawToken, amount: undefined } : rawToken,\n fees,\n },\n };\n }\n\n default:\n return {\n type: 'contractInteraction',\n ...common,\n data: {\n from,\n to,\n fees,\n },\n };\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"local-transaction-mapper.d.ts","sourceRoot":"","sources":["../../src/mappers/local-transaction-mapper.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAoBlE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAIlE;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,gBAAgB,EAAE,gBAAgB,GAAG;IACnC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,gBAAgB,CAAC,EAAE,WAAW,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,qBAAqB,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/D,cAAc,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;IACxC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;CACd,GACA,YAAY,CA0gBd"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"local-transaction-mapper.js","sourceRoot":"","sources":["../../src/mappers/local-transaction-mapper.ts"],"names":[],"mappings":"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","sourcesContent":["import { isEqualCaseInsensitive as equalsIgnoreCase } from '@metamask/controller-utils';\nimport { TransactionType } from '@metamask/transaction-controller';\nimport { KnownCaipNamespace, toCaipChainId } from '@metamask/utils';\n\nimport type { Fee, ActivityItem, TokenAmount } from '../types.js';\nimport {\n permit2ApproveMethodId,\n swapsWrappedTokensAddresses,\n supplyMethodIds,\n tokenTransferLogTopicHash,\n unwrapMethodIds,\n withdrawMethodIds,\n wrapMethodIds,\n} from './constants.js';\nimport {\n formatAddressToAssetId,\n resolveNativeAssetId,\n} from './helpers/caip.js';\nimport { getKnownTokenMetadata } from './helpers/token-metadata.js';\nimport {\n getLocalTransactionFees,\n getLocalTransactionStatus,\n isNftStandard,\n} from './helpers/transactions.js';\nimport type { TransactionGroup } from './helpers/transactions.js';\n\nconst evmNativeDecimals = 18;\n\n/**\n * Maps a local TransactionController group into the shared activity item shape.\n *\n * @param transactionGroup - The transaction group to map, optionally enriched by the client.\n * @returns The normalized activity item.\n */\nexport function mapLocalTransaction(\n transactionGroup: TransactionGroup & {\n sourceToken?: TokenAmount;\n destinationToken?: TokenAmount;\n nativeAssetSymbol?: string;\n contractTokenMetadata?: { symbol?: string; decimals?: number };\n activityStatus?: ActivityItem['status'];\n fees?: Fee[];\n },\n): ActivityItem {\n const { initialTransaction, primaryTransaction } = transactionGroup;\n const chainId = toCaipChainId(\n KnownCaipNamespace.Eip155,\n Number.parseInt(initialTransaction.chainId, 16).toString(),\n );\n const nativeSymbol = transactionGroup.nativeAssetSymbol;\n const fees =\n transactionGroup.fees ?? getLocalTransactionFees(transactionGroup);\n const {\n transferInformation,\n type: transactionType,\n simulationData,\n txReceipt,\n metamaskPay,\n txParams: { from = '', to = '', data: txData, value: txValue } = {},\n } = initialTransaction;\n const {\n time: primaryTime,\n hash: primaryHash,\n id: primaryId,\n } = primaryTransaction;\n const methodId = txData?.slice(0, 10);\n // Permit2 approvals use the Permit2 contract as `to`, not the approved token.\n // Keep this mapper thin: still classify the activity as an approve, but omit\n // the token rather than surfacing the wrong one — the API mapper provides\n // accurate token data.\n const isPermit2Approve = methodId === permit2ApproveMethodId;\n const tokenContractAddress = isPermit2Approve\n ? undefined\n : (transferInformation?.contractAddress ?? (to || undefined));\n\n const getNativeToken = (\n transaction: TransactionGroup['initialTransaction'],\n direction: TokenAmount['direction'],\n ): TokenAmount | undefined => {\n const rawAmount = transaction.txParams.value;\n let amount: string | undefined;\n if (rawAmount) {\n try {\n amount = BigInt(rawAmount) > 0n ? rawAmount : undefined;\n } catch {\n amount = undefined;\n }\n }\n\n if (!amount && nativeSymbol === undefined) {\n return undefined;\n }\n\n const assetId = resolveNativeAssetId(chainId, nativeSymbol);\n\n return {\n direction,\n assetType: 'native',\n decimals: evmNativeDecimals,\n ...(amount ? { amount } : {}),\n ...(nativeSymbol === undefined ? {} : { symbol: nativeSymbol }),\n ...(assetId ? { assetId } : {}),\n };\n };\n\n const getContractTokenFromTransaction = ({\n contractAddress,\n direction,\n transaction,\n }: {\n contractAddress?: string;\n direction: TokenAmount['direction'];\n transaction: TransactionGroup['initialTransaction'];\n }): TokenAmount | undefined => {\n if (!contractAddress) {\n return undefined;\n }\n\n const symbol =\n transaction.transferInformation?.symbol ??\n transactionGroup.contractTokenMetadata?.symbol;\n const decimals =\n transaction.transferInformation?.decimals ??\n transactionGroup.contractTokenMetadata?.decimals;\n const amount = transaction.transferInformation?.amount;\n const assetId = formatAddressToAssetId(contractAddress, chainId);\n\n return {\n direction,\n ...(symbol ? { symbol } : {}),\n ...(assetId ? { assetId } : {}),\n ...(amount ? { amount } : {}),\n ...(decimals === undefined ? {} : { decimals }),\n };\n };\n\n const getContractTokenWithKnownMetadata = ({\n amount,\n contractAddress,\n direction,\n transaction,\n }: {\n amount?: string;\n contractAddress?: string;\n direction: TokenAmount['direction'];\n transaction: TransactionGroup['initialTransaction'];\n }): TokenAmount | undefined => {\n if (!contractAddress) {\n return undefined;\n }\n\n const tokenMetadata = getKnownTokenMetadata(chainId, contractAddress);\n\n const isWrappedNativeToken = equalsIgnoreCase(\n contractAddress,\n swapsWrappedTokensAddresses[\n initialTransaction.chainId as keyof typeof swapsWrappedTokensAddresses\n ] || '',\n );\n const wrappedNativeTokenDecimals = isWrappedNativeToken\n ? evmNativeDecimals\n : undefined;\n\n const decimals =\n transaction.transferInformation?.amount === undefined\n ? (tokenMetadata?.decimals ??\n transactionGroup.contractTokenMetadata?.decimals ??\n wrappedNativeTokenDecimals)\n : transaction.transferInformation.decimals;\n const tokenAmount = transaction.transferInformation?.amount ?? amount;\n const symbol =\n transaction.transferInformation?.symbol ??\n tokenMetadata?.symbol ??\n transactionGroup.contractTokenMetadata?.symbol;\n const assetId = formatAddressToAssetId(contractAddress, chainId);\n\n return {\n direction,\n ...(symbol ? { symbol } : {}),\n ...(assetId ? { assetId } : {}),\n ...(tokenAmount ? { amount: tokenAmount } : {}),\n ...(decimals === undefined ? {} : { decimals }),\n };\n };\n\n const status =\n transactionGroup.activityStatus ??\n getLocalTransactionStatus({\n primaryTransaction,\n initialTransaction,\n });\n const timestamp = primaryTime ?? initialTransaction.time;\n const hash = primaryHash ?? initialTransaction.hash ?? primaryId;\n const common = { chainId, status, timestamp, hash };\n\n switch (transactionType) {\n case TransactionType.simpleSend: {\n return {\n type: 'send',\n ...common,\n data: {\n from,\n to,\n token: getNativeToken(initialTransaction, 'out'),\n },\n };\n }\n\n case TransactionType.swap:\n case TransactionType.swapAndSend:\n case TransactionType.bridge: {\n const { sourceToken, destinationToken } = transactionGroup;\n\n return {\n type: transactionType === TransactionType.bridge ? 'bridge' : 'swap',\n ...common,\n data: {\n from,\n sourceToken,\n destinationToken,\n fees,\n },\n };\n }\n\n case TransactionType.tokenMethodSafeTransferFrom:\n case TransactionType.tokenMethodTransfer:\n case TransactionType.tokenMethodTransferFrom: {\n return {\n type: 'send',\n ...common,\n data: {\n from,\n to,\n token: getContractTokenFromTransaction({\n transaction: initialTransaction,\n direction: 'out',\n contractAddress: tokenContractAddress,\n }),\n },\n };\n }\n\n case TransactionType.lendingDeposit:\n case TransactionType.stakingDeposit:\n return {\n type:\n transactionType === TransactionType.stakingDeposit\n ? 'deposit'\n : 'lendingDeposit',\n ...common,\n data: {\n from,\n },\n };\n\n case TransactionType.incoming: {\n return {\n type: 'receive',\n ...common,\n data: {\n from,\n to,\n token: transferInformation?.contractAddress\n ? getContractTokenFromTransaction({\n transaction: initialTransaction,\n direction: 'in',\n contractAddress: transferInformation.contractAddress,\n })\n : getNativeToken(initialTransaction, 'in'),\n },\n };\n }\n case TransactionType.musdClaim:\n return {\n type: 'claimMusdBonus',\n ...common,\n data: {\n from,\n },\n };\n\n case TransactionType.musdConversion: {\n let conversionAmount: string | undefined;\n\n if (txData && txData.length >= 138) {\n try {\n conversionAmount = BigInt(`0x${txData.slice(74, 138)}`).toString();\n } catch {\n conversionAmount = undefined;\n }\n }\n\n return {\n type: 'convert',\n ...common,\n data: {\n from,\n sourceToken: transactionGroup.sourceToken,\n destinationToken: getContractTokenWithKnownMetadata({\n amount: conversionAmount,\n transaction: initialTransaction,\n direction: 'in',\n contractAddress: to,\n }),\n },\n };\n }\n\n case TransactionType.bridgeApproval:\n case TransactionType.shieldSubscriptionApprove:\n case TransactionType.swapApproval:\n case TransactionType.tokenMethodSetApprovalForAll:\n case TransactionType.tokenMethodApprove:\n case TransactionType.tokenMethodIncreaseAllowance: {\n const approvalToken = getContractTokenFromTransaction({\n transaction: initialTransaction,\n direction: 'out',\n contractAddress: tokenContractAddress,\n });\n\n return {\n type:\n transactionType === TransactionType.tokenMethodIncreaseAllowance\n ? 'increaseSpendingCap'\n : 'approveSpendingCap',\n ...common,\n data: {\n from,\n token: approvalToken,\n },\n };\n }\n\n case TransactionType.perpsDeposit:\n case TransactionType.perpsDepositAndOrder:\n case TransactionType.perpsWithdraw: {\n const token = to\n ? {\n direction: 'out' as const,\n assetId: formatAddressToAssetId(to, chainId),\n }\n : undefined;\n\n const fiat = metamaskPay?.targetFiat\n ? { amount: metamaskPay.targetFiat }\n : undefined;\n const networkFee =\n typeof metamaskPay?.networkFeeFiat === 'string'\n ? { amount: metamaskPay.networkFeeFiat }\n : undefined;\n\n return {\n type:\n transactionType === TransactionType.perpsWithdraw\n ? 'perpsWithdraw'\n : 'perpsAddFunds',\n ...common,\n data: {\n from,\n token,\n fiat,\n networkFee,\n },\n };\n }\n\n default: {\n const isSupplyContractInteraction =\n transactionType === TransactionType.contractInteraction &&\n methodId &&\n supplyMethodIds.has(methodId.toLowerCase());\n const isWithdrawContractInteraction =\n transactionType === TransactionType.contractInteraction &&\n methodId &&\n withdrawMethodIds.has(methodId.toLowerCase());\n\n let hasNativeValue = false;\n\n try {\n hasNativeValue = BigInt(txValue ?? '0') > 0n;\n } catch {\n hasNativeValue = false;\n }\n\n // Confirm an outflow before labelling a supply, mirroring the API mapper's\n // `sentTransfer` guard: native stakes (e.g. Lido) decrease the native\n // balance, while ERC-20 supplies (e.g. Aave) show a token decrease.\n const isSupply =\n isSupplyContractInteraction &&\n (simulationData?.nativeBalanceChange?.isDecrease === true ||\n simulationData?.tokenBalanceChanges?.some(\n ({ isDecrease, standard }) => isDecrease && standard === 'erc20',\n ) === true);\n const incomingNftBalanceChange =\n transactionType === TransactionType.contractInteraction &&\n simulationData?.tokenBalanceChanges?.find(\n ({ isDecrease, standard }) => !isDecrease && isNftStandard(standard),\n );\n\n if (incomingNftBalanceChange && hasNativeValue) {\n // Keep this mapper thin: classify the activity as an NFT buy and let the\n // API mapper provide the token/payment details.\n return {\n type: 'nftBuy',\n ...common,\n data: {\n from,\n },\n };\n }\n\n if (isSupply) {\n return {\n type: 'lendingDeposit',\n ...common,\n data: {\n from,\n },\n };\n }\n\n // lending withdrawal - applies to Earn features only\n if (isWithdrawContractInteraction) {\n const fromAddress = from.toLowerCase();\n const receivedTokenLog = (txReceipt?.logs ?? []).find(\n ({ topics: [eventTopic, , logTo] = [] }) => {\n const toAddress = logTo\n ? `0x${logTo.slice(-40)}`.toLowerCase()\n : undefined;\n\n return (\n eventTopic?.toLowerCase() === tokenTransferLogTopicHash &&\n toAddress === fromAddress\n );\n },\n );\n let receivedAmount: string | undefined;\n\n if (receivedTokenLog) {\n try {\n receivedAmount = BigInt(String(receivedTokenLog.data)).toString();\n } catch {\n receivedAmount = undefined;\n }\n }\n\n const destinationToken = receivedTokenLog\n ? getContractTokenWithKnownMetadata({\n amount: receivedAmount,\n transaction: initialTransaction,\n direction: 'in',\n contractAddress: receivedTokenLog.address,\n })\n : undefined;\n\n return {\n type: 'lendingWithdrawal',\n ...common,\n data: {\n from,\n destinationToken,\n },\n };\n }\n\n // wrap and unwrap\n if (transactionType === TransactionType.contractInteraction && methodId) {\n const wrappedTokenAddress =\n swapsWrappedTokensAddresses[\n initialTransaction.chainId as keyof typeof swapsWrappedTokensAddresses\n ];\n\n if (wrappedTokenAddress && equalsIgnoreCase(to, wrappedTokenAddress)) {\n const normalizedMethodId = methodId.toLowerCase();\n\n if (wrapMethodIds.has(normalizedMethodId)) {\n try {\n if (txValue && BigInt(txValue) > 0n) {\n return {\n type: 'wrap',\n ...common,\n data: {\n from,\n sourceToken: getNativeToken(initialTransaction, 'out'),\n destinationToken: getContractTokenWithKnownMetadata({\n amount: txValue,\n transaction: initialTransaction,\n direction: 'in',\n contractAddress: wrappedTokenAddress,\n }),\n },\n };\n }\n } catch {\n // Invalid native value — fall through.\n }\n }\n\n if (unwrapMethodIds.has(normalizedMethodId)) {\n let unwrapAmount: string | undefined;\n\n if (txData && txData.length >= 74) {\n try {\n unwrapAmount = BigInt(`0x${txData.slice(10, 74)}`).toString();\n } catch {\n unwrapAmount = undefined;\n }\n }\n\n const nativeToken = getNativeToken(initialTransaction, 'in');\n\n return {\n type: 'unwrap',\n ...common,\n data: {\n from,\n sourceToken: getContractTokenWithKnownMetadata({\n amount: unwrapAmount,\n transaction: initialTransaction,\n direction: 'out',\n contractAddress: wrappedTokenAddress,\n }),\n destinationToken: unwrapAmount\n ? {\n ...(nativeToken ?? {\n direction: 'in' as const,\n assetType: 'native' as const,\n decimals: evmNativeDecimals,\n }),\n amount: unwrapAmount,\n }\n : nativeToken,\n },\n };\n }\n }\n }\n\n const token = ((): TokenAmount | undefined => {\n if (txValue === undefined || txValue === '') {\n return undefined;\n }\n\n try {\n return BigInt(txValue) > 0n\n ? getNativeToken(initialTransaction, 'out')\n : undefined;\n } catch {\n return undefined;\n }\n })();\n\n return {\n type: 'contractInteraction',\n ...common,\n data: {\n from,\n to,\n ...(token ? { token } : {}),\n methodId,\n },\n };\n }\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ramps-order-mapper.d.ts","sourceRoot":"","sources":["../../src/mappers/ramps-order-mapper.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,YAAY,EAGZ,sBAAsB,EAGvB,MAAM,aAAa,CAAC;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.js","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.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
DELETED
package/dist/types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","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"]}
|