@shapeshiftoss/utils 1.0.3 → 1.0.5

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 (136) hide show
  1. package/dist/cjs/.tsbuildinfo +1 -0
  2. package/dist/cjs/assertUnreachable.d.ts +1 -0
  3. package/dist/cjs/assertUnreachable.js +7 -0
  4. package/dist/cjs/assetData/assetData.test.d.ts +1 -0
  5. package/dist/cjs/assetData/assetData.test.js +136 -0
  6. package/dist/cjs/assetData/baseAssets.d.ts +30 -0
  7. package/dist/cjs/assetData/baseAssets.js +458 -0
  8. package/dist/cjs/assetData/constants.d.ts +1 -0
  9. package/dist/cjs/assetData/constants.js +13 -0
  10. package/dist/cjs/assetData/decodeAssetData.d.ts +7 -0
  11. package/dist/cjs/assetData/decodeAssetData.js +106 -0
  12. package/dist/cjs/assetData/decodeRelatedAssetIndex.d.ts +3 -0
  13. package/dist/cjs/assetData/decodeRelatedAssetIndex.js +14 -0
  14. package/dist/cjs/assetData/encodeAssetData.d.ts +4 -0
  15. package/dist/cjs/assetData/encodeAssetData.js +72 -0
  16. package/dist/cjs/assetData/encodeRelatedAssetIndex.d.ts +3 -0
  17. package/dist/cjs/assetData/encodeRelatedAssetIndex.js +20 -0
  18. package/dist/cjs/assetData/getBaseAsset.d.ts +3 -0
  19. package/dist/cjs/assetData/getBaseAsset.js +66 -0
  20. package/dist/cjs/assetData/index.d.ts +7 -0
  21. package/dist/cjs/assetData/index.js +23 -0
  22. package/dist/cjs/assetData/relatedAssetIndex.test.d.ts +1 -0
  23. package/dist/cjs/assetData/relatedAssetIndex.test.js +32 -0
  24. package/dist/cjs/assetData/types.d.ts +28 -0
  25. package/dist/cjs/assetData/types.js +2 -0
  26. package/dist/cjs/baseUnits/baseUnits.d.ts +5 -0
  27. package/dist/cjs/baseUnits/baseUnits.js +32 -0
  28. package/dist/cjs/baseUnits/baseUnits.test.d.ts +1 -0
  29. package/dist/cjs/baseUnits/baseUnits.test.js +32 -0
  30. package/dist/cjs/basisPoints.d.ts +23 -0
  31. package/dist/cjs/basisPoints.js +48 -0
  32. package/dist/cjs/bignumber/bignumber.d.ts +11 -0
  33. package/dist/cjs/bignumber/bignumber.js +27 -0
  34. package/dist/cjs/bignumber/bignumber.test.d.ts +1 -0
  35. package/dist/cjs/bignumber/bignumber.test.js +52 -0
  36. package/dist/cjs/chainIdToFeeAsset.d.ts +3 -0
  37. package/dist/cjs/chainIdToFeeAsset.js +9 -0
  38. package/dist/cjs/chainIdToFeeAssetId.d.ts +2 -0
  39. package/dist/cjs/chainIdToFeeAssetId.js +66 -0
  40. package/dist/cjs/createThrottle.d.ts +9 -0
  41. package/dist/cjs/createThrottle.js +36 -0
  42. package/dist/cjs/getAssetNamespaceFromChainId.d.ts +3 -0
  43. package/dist/cjs/getAssetNamespaceFromChainId.js +46 -0
  44. package/dist/cjs/getChainShortName.d.ts +2 -0
  45. package/dist/cjs/getChainShortName.js +65 -0
  46. package/dist/cjs/getNativeFeeAssetReference.d.ts +2 -0
  47. package/dist/cjs/getNativeFeeAssetReference.js +105 -0
  48. package/dist/cjs/historyTimeframe.d.ts +6 -0
  49. package/dist/cjs/historyTimeframe.js +36 -0
  50. package/dist/cjs/index.d.ts +24 -0
  51. package/dist/cjs/index.js +62 -0
  52. package/dist/cjs/makeAsset/makeAsset.d.ts +10 -0
  53. package/dist/cjs/makeAsset/makeAsset.js +45 -0
  54. package/dist/cjs/makeAsset/makeAsset.test.d.ts +1 -0
  55. package/dist/cjs/makeAsset/makeAsset.test.js +47 -0
  56. package/dist/cjs/package.json +1 -0
  57. package/dist/cjs/promises.d.ts +4 -0
  58. package/dist/cjs/promises.js +9 -0
  59. package/dist/cjs/sha256.d.ts +1 -0
  60. package/dist/cjs/sha256.js +9 -0
  61. package/dist/cjs/timeout.d.ts +7 -0
  62. package/dist/cjs/timeout.js +34 -0
  63. package/dist/cjs/treasury.d.ts +17 -0
  64. package/dist/cjs/treasury.js +36 -0
  65. package/dist/cjs/unfreeze.d.ts +4 -0
  66. package/dist/cjs/unfreeze.js +10 -0
  67. package/dist/cjs/utxo.d.ts +2 -0
  68. package/dist/cjs/utxo.js +6 -0
  69. package/dist/esm/.tsbuildinfo +1 -0
  70. package/dist/esm/assertUnreachable.d.ts +1 -0
  71. package/dist/esm/assertUnreachable.js +3 -0
  72. package/dist/esm/assetData/assetData.test.d.ts +1 -0
  73. package/dist/esm/assetData/assetData.test.js +134 -0
  74. package/dist/esm/assetData/baseAssets.d.ts +30 -0
  75. package/dist/esm/assetData/baseAssets.js +432 -0
  76. package/dist/esm/assetData/constants.d.ts +1 -0
  77. package/dist/esm/assetData/constants.js +10 -0
  78. package/dist/esm/assetData/decodeAssetData.d.ts +7 -0
  79. package/dist/esm/assetData/decodeAssetData.js +102 -0
  80. package/dist/esm/assetData/decodeRelatedAssetIndex.d.ts +3 -0
  81. package/dist/esm/assetData/decodeRelatedAssetIndex.js +10 -0
  82. package/dist/esm/assetData/encodeAssetData.d.ts +4 -0
  83. package/dist/esm/assetData/encodeAssetData.js +68 -0
  84. package/dist/esm/assetData/encodeRelatedAssetIndex.d.ts +3 -0
  85. package/dist/esm/assetData/encodeRelatedAssetIndex.js +16 -0
  86. package/dist/esm/assetData/getBaseAsset.d.ts +3 -0
  87. package/dist/esm/assetData/getBaseAsset.js +62 -0
  88. package/dist/esm/assetData/index.d.ts +7 -0
  89. package/dist/esm/assetData/index.js +7 -0
  90. package/dist/esm/assetData/relatedAssetIndex.test.d.ts +1 -0
  91. package/dist/esm/assetData/relatedAssetIndex.test.js +30 -0
  92. package/dist/esm/assetData/types.d.ts +28 -0
  93. package/dist/esm/assetData/types.js +1 -0
  94. package/dist/esm/baseUnits/baseUnits.d.ts +5 -0
  95. package/dist/esm/baseUnits/baseUnits.js +23 -0
  96. package/dist/esm/baseUnits/baseUnits.test.d.ts +1 -0
  97. package/dist/esm/baseUnits/baseUnits.test.js +30 -0
  98. package/dist/esm/basisPoints.d.ts +23 -0
  99. package/dist/esm/basisPoints.js +39 -0
  100. package/dist/esm/bignumber/bignumber.d.ts +11 -0
  101. package/dist/esm/bignumber/bignumber.js +16 -0
  102. package/dist/esm/bignumber/bignumber.test.d.ts +1 -0
  103. package/dist/esm/bignumber/bignumber.test.js +50 -0
  104. package/dist/esm/chainIdToFeeAsset.d.ts +3 -0
  105. package/dist/esm/chainIdToFeeAsset.js +5 -0
  106. package/dist/esm/chainIdToFeeAssetId.d.ts +2 -0
  107. package/dist/esm/chainIdToFeeAssetId.js +62 -0
  108. package/dist/esm/createThrottle.d.ts +9 -0
  109. package/dist/esm/createThrottle.js +32 -0
  110. package/dist/esm/getAssetNamespaceFromChainId.d.ts +3 -0
  111. package/dist/esm/getAssetNamespaceFromChainId.js +42 -0
  112. package/dist/esm/getChainShortName.d.ts +2 -0
  113. package/dist/esm/getChainShortName.js +61 -0
  114. package/dist/esm/getNativeFeeAssetReference.d.ts +2 -0
  115. package/dist/esm/getNativeFeeAssetReference.js +101 -0
  116. package/dist/esm/historyTimeframe.d.ts +6 -0
  117. package/dist/esm/historyTimeframe.js +29 -0
  118. package/dist/esm/index.d.ts +24 -0
  119. package/dist/esm/index.js +41 -0
  120. package/dist/esm/makeAsset/makeAsset.d.ts +10 -0
  121. package/dist/esm/makeAsset/makeAsset.js +41 -0
  122. package/dist/esm/makeAsset/makeAsset.test.d.ts +1 -0
  123. package/dist/esm/makeAsset/makeAsset.test.js +45 -0
  124. package/dist/esm/promises.d.ts +4 -0
  125. package/dist/esm/promises.js +3 -0
  126. package/dist/esm/sha256.d.ts +1 -0
  127. package/dist/esm/sha256.js +2 -0
  128. package/dist/esm/timeout.d.ts +7 -0
  129. package/dist/esm/timeout.js +28 -0
  130. package/dist/esm/treasury.d.ts +17 -0
  131. package/dist/esm/treasury.js +32 -0
  132. package/dist/esm/unfreeze.d.ts +4 -0
  133. package/dist/esm/unfreeze.js +6 -0
  134. package/dist/esm/utxo.d.ts +2 -0
  135. package/dist/esm/utxo.js +2 -0
  136. package/package.json +3 -3
@@ -0,0 +1,136 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const decodeAssetData_1 = require("./decodeAssetData");
5
+ const encodeAssetData_1 = require("./encodeAssetData");
6
+ const mockGeneratedAssetData = {
7
+ 'bip122:000000000019d6689c085ae165831e93/slip44:0': {
8
+ assetId: 'bip122:000000000019d6689c085ae165831e93/slip44:0',
9
+ chainId: 'bip122:000000000019d6689c085ae165831e93',
10
+ symbol: 'BTC',
11
+ name: 'Bitcoin',
12
+ networkName: 'Bitcoin',
13
+ precision: 8,
14
+ color: '#FF9800',
15
+ icon: 'https://rawcdn.githack.com/trustwallet/assets/b7a5f12d893fcf58e0eb1dd64478f076857b720b/blockchains/bitcoin/info/logo.png',
16
+ explorer: 'https://live.blockcypher.com',
17
+ explorerAddressLink: 'https://live.blockcypher.com/btc/address/',
18
+ explorerTxLink: 'https://live.blockcypher.com/btc/tx/',
19
+ relatedAssetKey: null,
20
+ isPrimary: true,
21
+ isChainSpecific: true,
22
+ },
23
+ 'eip155:1/erc20:0xf073bac22dab7faf4a3dd6c6189a70d54110525c': {
24
+ assetId: 'eip155:1/erc20:0xf073bac22dab7faf4a3dd6c6189a70d54110525c',
25
+ chainId: 'eip155:1',
26
+ name: 'Inception Restaked ETH on Ethereum',
27
+ precision: 18,
28
+ color: '#D6D1E4',
29
+ icon: 'https://assets.coingecko.com/coins/images/34127/large/inETH.png?1715036464',
30
+ symbol: 'INETH',
31
+ explorer: 'https://etherscan.io',
32
+ explorerAddressLink: 'https://etherscan.io/address/',
33
+ explorerTxLink: 'https://etherscan.io/tx/',
34
+ relatedAssetKey: 'eip155:1/erc20:0xf073bac22dab7faf4a3dd6c6189a70d54110525c',
35
+ isPrimary: true,
36
+ isChainSpecific: false,
37
+ },
38
+ 'eip155:1/erc20:0xeed3ae7b0f8b5b9bb8c035a9941382b1822671cd': {
39
+ assetId: 'eip155:1/erc20:0xeed3ae7b0f8b5b9bb8c035a9941382b1822671cd',
40
+ chainId: 'eip155:1',
41
+ name: 'EveryCoin',
42
+ precision: 12,
43
+ color: '#0483CB',
44
+ icon: 'https://rawcdn.githack.com/trustwallet/assets/master/blockchains/ethereum/assets/0xEEd3aE7b0F8b5B9BB8C035A9941382B1822671CD/logo.png',
45
+ symbol: 'EVY',
46
+ explorer: 'https://etherscan.io',
47
+ explorerAddressLink: 'https://etherscan.io/address/',
48
+ explorerTxLink: 'https://etherscan.io/tx/',
49
+ relatedAssetKey: null,
50
+ isPrimary: true,
51
+ isChainSpecific: true,
52
+ },
53
+ 'eip155:1/erc20:0xeeda34a377dd0ca676b9511ee1324974fa8d980d': {
54
+ explorer: 'https://etherscan.io',
55
+ explorerAddressLink: 'https://etherscan.io/address/',
56
+ explorerTxLink: 'https://etherscan.io/tx/',
57
+ color: '#FFFFFF',
58
+ icon: undefined,
59
+ icons: [
60
+ 'https://rawcdn.githack.com/trustwallet/assets/master/blockchains/ethereum/assets/0xD9A442856C234a39a81a089C06451EBAa4306a72/logo.png',
61
+ 'https://rawcdn.githack.com/trustwallet/assets/master/blockchains/ethereum/assets/0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0/logo.png',
62
+ ],
63
+ name: 'Curve PUFETH/WSTETH Pool',
64
+ precision: 18,
65
+ symbol: 'pufETHwstE',
66
+ chainId: 'eip155:1',
67
+ assetId: 'eip155:1/erc20:0xeeda34a377dd0ca676b9511ee1324974fa8d980d',
68
+ relatedAssetKey: null,
69
+ isPool: true,
70
+ isPrimary: true,
71
+ isChainSpecific: true,
72
+ },
73
+ 'eip155:1/erc20:0xeee0fe52299f2de8e2ed5111cd521ab67dcf0faf': {
74
+ assetId: 'eip155:1/erc20:0xeee0fe52299f2de8e2ed5111cd521ab67dcf0faf',
75
+ chainId: 'eip155:1',
76
+ name: 'The QWAN',
77
+ precision: 18,
78
+ color: '#18B6BE',
79
+ icon: 'https://assets.coingecko.com/coins/images/30613/large/qwan.jpg?1696529482',
80
+ symbol: 'QWAN',
81
+ explorer: 'https://etherscan.io',
82
+ explorerAddressLink: 'https://etherscan.io/address/',
83
+ explorerTxLink: 'https://etherscan.io/tx/',
84
+ relatedAssetKey: null,
85
+ isPrimary: true,
86
+ isChainSpecific: true,
87
+ },
88
+ 'eip155:1/erc20:0xeeecd285f60e802ecb6d8d8d37790c887f9a4b33': {
89
+ assetId: 'eip155:1/erc20:0xeeecd285f60e802ecb6d8d8d37790c887f9a4b33',
90
+ chainId: 'eip155:1',
91
+ name: 'Big Tom',
92
+ precision: 9,
93
+ color: '#27DD08',
94
+ icon: 'https://assets.coingecko.com/coins/images/38555/large/huyah_%281%29.jpg?1717999187',
95
+ symbol: 'TOM',
96
+ explorer: 'https://etherscan.io',
97
+ explorerAddressLink: 'https://etherscan.io/address/',
98
+ explorerTxLink: 'https://etherscan.io/tx/',
99
+ relatedAssetKey: null,
100
+ isPrimary: true,
101
+ isChainSpecific: true,
102
+ },
103
+ 'eip155:1/erc20:0xeeee2a2e650697d2a8e8bc990c2f3d04203be06f': {
104
+ assetId: 'eip155:1/erc20:0xeeee2a2e650697d2a8e8bc990c2f3d04203be06f',
105
+ chainId: 'eip155:1',
106
+ name: 'Forgotten Playland',
107
+ precision: 18,
108
+ color: '#35355D',
109
+ icon: 'https://assets.coingecko.com/coins/images/35339/large/200.png?1708515043',
110
+ symbol: 'FP',
111
+ explorer: 'https://etherscan.io',
112
+ explorerAddressLink: 'https://etherscan.io/address/',
113
+ explorerTxLink: 'https://etherscan.io/tx/',
114
+ relatedAssetKey: null,
115
+ isPrimary: true,
116
+ isChainSpecific: true,
117
+ },
118
+ };
119
+ // Order of these is deliberately shuffled to test sorting is preserved
120
+ const mockSortedAssetIds = [
121
+ 'eip155:1/erc20:0xeeecd285f60e802ecb6d8d8d37790c887f9a4b33',
122
+ 'eip155:1/erc20:0xeeee2a2e650697d2a8e8bc990c2f3d04203be06f',
123
+ 'eip155:1/erc20:0xeed3ae7b0f8b5b9bb8c035a9941382b1822671cd',
124
+ 'eip155:1/erc20:0xf073bac22dab7faf4a3dd6c6189a70d54110525c',
125
+ 'eip155:1/erc20:0xeee0fe52299f2de8e2ed5111cd521ab67dcf0faf',
126
+ 'eip155:1/erc20:0xeeda34a377dd0ca676b9511ee1324974fa8d980d',
127
+ 'bip122:000000000019d6689c085ae165831e93/slip44:0', // BTC
128
+ ];
129
+ (0, vitest_1.describe)('assetData', () => {
130
+ (0, vitest_1.it)('can encode and decode asset data as a complete round trip', () => {
131
+ const encodedAssetData = (0, encodeAssetData_1.encodeAssetData)(mockSortedAssetIds, mockGeneratedAssetData);
132
+ const { assetData, sortedAssetIds } = (0, decodeAssetData_1.decodeAssetData)(encodedAssetData);
133
+ (0, vitest_1.expect)(assetData).toEqual(mockGeneratedAssetData);
134
+ (0, vitest_1.expect)(sortedAssetIds).toEqual(mockSortedAssetIds);
135
+ });
136
+ });
@@ -0,0 +1,30 @@
1
+ import type { Asset } from '@shapeshiftoss/types';
2
+ export declare const ethereum: Readonly<Asset>;
3
+ export declare const bitcoin: Readonly<Asset>;
4
+ export declare const bitcoincash: Readonly<Asset>;
5
+ export declare const dogecoin: Readonly<Asset>;
6
+ export declare const litecoin: Readonly<Asset>;
7
+ export declare const zcash: Readonly<Asset>;
8
+ export declare const atom: Readonly<Asset>;
9
+ export declare const avax: Readonly<Asset>;
10
+ export declare const thorchain: Readonly<Asset>;
11
+ export declare const tcy: Readonly<Asset>;
12
+ export declare const ruji: Readonly<Asset>;
13
+ export declare const maya: Readonly<Asset>;
14
+ export declare const mayachain: Readonly<Asset>;
15
+ export declare const optimism: Readonly<Asset>;
16
+ export declare const bnbsmartchain: Readonly<Asset>;
17
+ export declare const polygon: Readonly<Asset>;
18
+ export declare const gnosis: Readonly<Asset>;
19
+ export declare const arbitrum: Readonly<Asset>;
20
+ export declare const arbitrumNova: Readonly<Asset>;
21
+ export declare const base: Readonly<Asset>;
22
+ export declare const monad: Readonly<Asset>;
23
+ export declare const hyperevm: Readonly<Asset>;
24
+ export declare const plasma: Readonly<Asset>;
25
+ export declare const katana: Readonly<Asset>;
26
+ export declare const solana: Readonly<Asset>;
27
+ export declare const tron: Readonly<Asset>;
28
+ export declare const sui: Readonly<Asset>;
29
+ export declare const near: Readonly<Asset>;
30
+ export declare const starknet: Readonly<Asset>;
@@ -0,0 +1,458 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.starknet = exports.near = exports.sui = exports.tron = exports.solana = exports.katana = exports.plasma = exports.hyperevm = exports.monad = exports.base = exports.arbitrumNova = exports.arbitrum = exports.gnosis = exports.polygon = exports.bnbsmartchain = exports.optimism = exports.mayachain = exports.maya = exports.ruji = exports.tcy = exports.thorchain = exports.avax = exports.atom = exports.zcash = exports.litecoin = exports.dogecoin = exports.bitcoincash = exports.bitcoin = exports.ethereum = void 0;
27
+ const caip = __importStar(require("@shapeshiftoss/caip"));
28
+ const mayaTokenAssetId = 'cosmos:mayachain-mainnet-v1/slip44:maya';
29
+ exports.ethereum = Object.freeze({
30
+ assetId: caip.ethAssetId,
31
+ chainId: caip.ethChainId,
32
+ symbol: 'ETH',
33
+ name: 'Ethereum',
34
+ networkName: 'Ethereum',
35
+ precision: 18,
36
+ color: '#5C6BC0',
37
+ icon: 'https://rawcdn.githack.com/trustwallet/assets/32e51d582a890b3dd3135fe3ee7c20c2fd699a6d/blockchains/ethereum/info/logo.png',
38
+ explorer: 'https://etherscan.io',
39
+ explorerAddressLink: 'https://etherscan.io/address/',
40
+ explorerTxLink: 'https://etherscan.io/tx/',
41
+ relatedAssetKey: 'eip155:1/slip44:60',
42
+ });
43
+ exports.bitcoin = Object.freeze({
44
+ assetId: caip.btcAssetId,
45
+ chainId: caip.btcChainId,
46
+ symbol: 'BTC',
47
+ name: 'Bitcoin',
48
+ networkName: 'Bitcoin',
49
+ precision: 8,
50
+ color: '#FF9800',
51
+ icon: 'https://rawcdn.githack.com/trustwallet/assets/b7a5f12d893fcf58e0eb1dd64478f076857b720b/blockchains/bitcoin/info/logo.png',
52
+ explorer: 'https://live.blockcypher.com',
53
+ explorerAddressLink: 'https://live.blockcypher.com/btc/address/',
54
+ explorerTxLink: 'https://live.blockcypher.com/btc/tx/',
55
+ relatedAssetKey: null,
56
+ });
57
+ exports.bitcoincash = Object.freeze({
58
+ assetId: caip.bchAssetId,
59
+ chainId: caip.bchChainId,
60
+ symbol: 'BCH',
61
+ name: 'Bitcoin Cash',
62
+ networkName: 'Bitcoin Cash',
63
+ precision: 8,
64
+ color: '#8BC34A',
65
+ icon: 'https://rawcdn.githack.com/trustwallet/assets/b7a5f12d893fcf58e0eb1dd64478f076857b720b/blockchains/bitcoincash/info/logo.png',
66
+ explorer: 'https://blockchair.com',
67
+ explorerAddressLink: 'https://blockchair.com/bitcoin-cash/address/',
68
+ explorerTxLink: 'https://blockchair.com/bitcoin-cash/transaction/',
69
+ relatedAssetKey: null,
70
+ });
71
+ exports.dogecoin = Object.freeze({
72
+ assetId: caip.dogeAssetId,
73
+ chainId: caip.dogeChainId,
74
+ symbol: 'DOGE',
75
+ name: 'Dogecoin',
76
+ networkName: 'Dogecoin',
77
+ precision: 8,
78
+ color: '#FFC107',
79
+ icon: 'https://assets.coingecko.com/coins/images/5/large/dogecoin.png?1696501409',
80
+ explorer: 'https://live.blockcypher.com',
81
+ explorerAddressLink: 'https://live.blockcypher.com/doge/address/',
82
+ explorerTxLink: 'https://live.blockcypher.com/doge/tx/',
83
+ relatedAssetKey: null,
84
+ });
85
+ exports.litecoin = Object.freeze({
86
+ assetId: caip.ltcAssetId,
87
+ chainId: caip.ltcChainId,
88
+ symbol: 'LTC',
89
+ name: 'Litecoin',
90
+ networkName: 'Litecoin',
91
+ precision: 8,
92
+ color: '#B8B8B8',
93
+ icon: 'https://rawcdn.githack.com/trustwallet/assets/32e51d582a890b3dd3135fe3ee7c20c2fd699a6d/blockchains/litecoin/info/logo.png',
94
+ explorer: 'https://live.blockcypher.com',
95
+ explorerAddressLink: 'https://live.blockcypher.com/ltc/address/',
96
+ explorerTxLink: 'https://live.blockcypher.com/ltc/tx/',
97
+ relatedAssetKey: null,
98
+ });
99
+ exports.zcash = Object.freeze({
100
+ assetId: caip.zecAssetId,
101
+ chainId: caip.zecChainId,
102
+ name: 'Zcash',
103
+ networkName: 'Zcash',
104
+ symbol: 'ZEC',
105
+ precision: 8,
106
+ color: '#f4b728',
107
+ networkColor: '#f4b728',
108
+ icon: 'https://rawcdn.githack.com/trustwallet/assets/fb59e296f64fe3df5afdf8148e88603851b613ae/blockchains/zcash/info/logo.png',
109
+ explorer: 'https://blockchair.com',
110
+ explorerAddressLink: 'https://blockchair.com/zcash/address/',
111
+ explorerTxLink: 'https://blockchair.com/zcash/transaction/',
112
+ relatedAssetKey: null,
113
+ });
114
+ exports.atom = Object.freeze({
115
+ assetId: caip.cosmosAssetId,
116
+ chainId: caip.cosmosChainId,
117
+ symbol: 'ATOM',
118
+ name: 'Cosmos',
119
+ networkName: 'Cosmos',
120
+ precision: 6,
121
+ color: '#303F9F',
122
+ icon: 'https://rawcdn.githack.com/trustwallet/assets/b7a5f12d893fcf58e0eb1dd64478f076857b720b/blockchains/cosmos/info/logo.png',
123
+ explorer: 'https://www.mintscan.io/cosmos',
124
+ explorerAddressLink: 'https://www.mintscan.io/cosmos/account/',
125
+ explorerTxLink: 'https://www.mintscan.io/cosmos/txs/',
126
+ relatedAssetKey: null,
127
+ });
128
+ exports.avax = Object.freeze({
129
+ assetId: caip.avalancheAssetId,
130
+ chainId: caip.avalancheChainId,
131
+ name: 'Avalanche',
132
+ networkName: 'Avalanche C-Chain',
133
+ symbol: 'AVAX',
134
+ precision: 18,
135
+ color: '#FFFFFF',
136
+ icon: 'https://rawcdn.githack.com/trustwallet/assets/b7a5f12d893fcf58e0eb1dd64478f076857b720b/blockchains/avalanchec/info/logo.png',
137
+ explorer: 'https://snowtrace.dev',
138
+ explorerAddressLink: 'https://snowtrace.dev/address/',
139
+ explorerTxLink: 'https://snowtrace.dev/tx/',
140
+ relatedAssetKey: null,
141
+ });
142
+ exports.thorchain = Object.freeze({
143
+ assetId: caip.thorchainAssetId,
144
+ chainId: caip.thorchainChainId,
145
+ name: 'THORChain',
146
+ networkName: 'THORChain',
147
+ symbol: 'RUNE',
148
+ precision: 8,
149
+ color: '#33FF99',
150
+ icon: 'https://rawcdn.githack.com/trustwallet/assets/32e51d582a890b3dd3135fe3ee7c20c2fd699a6d/blockchains/thorchain/info/logo.png',
151
+ explorer: 'https://viewblock.io/thorchain',
152
+ explorerAddressLink: 'https://viewblock.io/thorchain/address/',
153
+ explorerTxLink: 'https://viewblock.io/thorchain/tx/',
154
+ relatedAssetKey: null,
155
+ });
156
+ exports.tcy = Object.freeze({
157
+ assetId: caip.tcyAssetId,
158
+ chainId: caip.thorchainChainId,
159
+ name: 'TCY',
160
+ networkName: 'THORChain',
161
+ symbol: 'TCY',
162
+ precision: 8,
163
+ color: '#33FF99',
164
+ icon: 'https://raw.githubusercontent.com/shapeshift/web/develop/src/assets/tcy-icon.png',
165
+ explorer: 'https://viewblock.io/thorchain',
166
+ explorerAddressLink: 'https://viewblock.io/thorchain/address/',
167
+ explorerTxLink: 'https://viewblock.io/thorchain/tx/',
168
+ relatedAssetKey: null,
169
+ });
170
+ exports.ruji = Object.freeze({
171
+ assetId: caip.rujiAssetId,
172
+ chainId: caip.thorchainChainId,
173
+ name: 'Rujira',
174
+ networkName: 'THORChain',
175
+ symbol: 'RUJI',
176
+ precision: 8,
177
+ color: '#D800D8',
178
+ icon: 'https://raw.githubusercontent.com/shapeshift/web/develop/src/assets/ruji-icon.png',
179
+ explorer: 'https://viewblock.io/thorchain',
180
+ explorerAddressLink: 'https://viewblock.io/thorchain/address/',
181
+ explorerTxLink: 'https://viewblock.io/thorchain/tx/',
182
+ relatedAssetKey: null,
183
+ });
184
+ exports.maya = Object.freeze({
185
+ assetId: mayaTokenAssetId,
186
+ chainId: caip.mayachainChainId,
187
+ name: 'MAYA',
188
+ networkName: 'MAYAChain',
189
+ symbol: 'MAYA',
190
+ precision: 4,
191
+ color: '#00FFA0',
192
+ icon: 'https://raw.githubusercontent.com/shapeshift/web/develop/src/assets/maya.png',
193
+ explorer: 'https://mayascan.org',
194
+ explorerAddressLink: 'https://mayascan.org/address/',
195
+ explorerTxLink: 'https://mayascan.org/tx/',
196
+ relatedAssetKey: null,
197
+ });
198
+ exports.mayachain = Object.freeze({
199
+ assetId: caip.mayachainAssetId,
200
+ chainId: caip.mayachainChainId,
201
+ name: 'MAYAChain',
202
+ networkName: 'MAYAChain',
203
+ symbol: 'CACAO',
204
+ precision: 10,
205
+ color: '#63FDD9',
206
+ icon: 'https://raw.githubusercontent.com/shapeshift/web/develop/src/assets/cacao.png',
207
+ networkIcon: 'https://raw.githubusercontent.com/shapeshift/web/develop/src/assets/mayachain.png',
208
+ explorer: 'https://mayascan.org',
209
+ explorerAddressLink: 'https://mayascan.org/address/',
210
+ explorerTxLink: 'https://mayascan.org/tx/',
211
+ relatedAssetKey: null,
212
+ });
213
+ exports.optimism = Object.freeze({
214
+ assetId: caip.optimismAssetId,
215
+ chainId: caip.optimismChainId,
216
+ name: 'Ethereum',
217
+ networkName: 'Optimism',
218
+ symbol: 'ETH',
219
+ precision: 18,
220
+ color: '#5C6BC0',
221
+ networkColor: '#FC0424',
222
+ icon: 'https://rawcdn.githack.com/trustwallet/assets/32e51d582a890b3dd3135fe3ee7c20c2fd699a6d/blockchains/ethereum/info/logo.png',
223
+ networkIcon: 'https://assets.coingecko.com/coins/images/25244/large/Optimism.png?1660904599',
224
+ explorer: 'https://optimistic.etherscan.io',
225
+ explorerAddressLink: 'https://optimistic.etherscan.io/address/',
226
+ explorerTxLink: 'https://optimistic.etherscan.io/tx/',
227
+ relatedAssetKey: 'eip155:1/slip44:60',
228
+ });
229
+ exports.bnbsmartchain = Object.freeze({
230
+ assetId: caip.bscAssetId,
231
+ chainId: caip.bscChainId,
232
+ name: 'BNB',
233
+ networkName: 'BNB Smart Chain',
234
+ symbol: 'BNB',
235
+ precision: 18,
236
+ color: '#F0B90B',
237
+ icon: 'https://rawcdn.githack.com/trustwallet/assets/b7a5f12d893fcf58e0eb1dd64478f076857b720b/blockchains/binance/info/logo.png',
238
+ explorer: 'https://bscscan.com',
239
+ explorerAddressLink: 'https://bscscan.com/address/',
240
+ explorerTxLink: 'https://bscscan.com/tx/',
241
+ relatedAssetKey: null,
242
+ });
243
+ exports.polygon = Object.freeze({
244
+ assetId: caip.polygonAssetId,
245
+ chainId: caip.polygonChainId,
246
+ name: 'Polygon Ecosystem Token',
247
+ networkName: 'Polygon',
248
+ symbol: 'POL',
249
+ precision: 18,
250
+ color: '#8f00ff',
251
+ icon: 'https://rawcdn.githack.com/trustwallet/assets/b7a5f12d893fcf58e0eb1dd64478f076857b720b/blockchains/polygon/info/logo.png',
252
+ explorer: 'https://polygonscan.com/',
253
+ explorerAddressLink: 'https://polygonscan.com/address/',
254
+ explorerTxLink: 'https://polygonscan.com/tx/',
255
+ relatedAssetKey: null,
256
+ });
257
+ exports.gnosis = Object.freeze({
258
+ assetId: caip.gnosisAssetId,
259
+ chainId: caip.gnosisChainId,
260
+ name: 'xDAI',
261
+ networkName: 'Gnosis',
262
+ symbol: 'xDAI',
263
+ precision: 18,
264
+ color: '#33765c',
265
+ icon: 'https://assets.coingecko.com/coins/images/11062/large/Identity-Primary-DarkBG.png?1638372986',
266
+ networkIcon: 'https://assets.coingecko.com/asset_platforms/images/11062/large/Aatar_green_white.png?1643204471',
267
+ explorer: 'https://gnosis.blockscout.com/',
268
+ explorerAddressLink: 'https://gnosis.blockscout.com/address/',
269
+ explorerTxLink: 'https://gnosis.blockscout.com/tx/',
270
+ relatedAssetKey: null,
271
+ });
272
+ exports.arbitrum = Object.freeze({
273
+ assetId: caip.arbitrumAssetId,
274
+ chainId: caip.arbitrumChainId,
275
+ name: 'Ethereum',
276
+ networkName: 'Arbitrum One',
277
+ symbol: 'ETH',
278
+ precision: 18,
279
+ color: '#5C6BC0',
280
+ networkColor: '#213147',
281
+ icon: 'https://rawcdn.githack.com/trustwallet/assets/32e51d582a890b3dd3135fe3ee7c20c2fd699a6d/blockchains/ethereum/info/logo.png',
282
+ networkIcon: 'https://raw.githubusercontent.com/trustwallet/assets/b7a5f12d893fcf58e0eb1dd64478f076857b720b/blockchains/arbitrum/info/logo.png',
283
+ explorer: 'https://arbiscan.io',
284
+ explorerAddressLink: 'https://arbiscan.io/address/',
285
+ explorerTxLink: 'https://arbiscan.io/tx/',
286
+ relatedAssetKey: 'eip155:1/slip44:60',
287
+ });
288
+ exports.arbitrumNova = Object.freeze({
289
+ assetId: caip.arbitrumNovaAssetId,
290
+ chainId: caip.arbitrumNovaChainId,
291
+ name: 'Ethereum',
292
+ networkName: 'Arbitrum Nova',
293
+ symbol: 'ETH',
294
+ precision: 18,
295
+ color: '#5C6BC0',
296
+ networkColor: '#E67408',
297
+ icon: 'https://rawcdn.githack.com/trustwallet/assets/32e51d582a890b3dd3135fe3ee7c20c2fd699a6d/blockchains/ethereum/info/logo.png',
298
+ networkIcon: 'https://assets.coingecko.com/asset_platforms/images/93/large/AN_logomark.png?1695026131',
299
+ explorer: 'https://nova.arbiscan.io',
300
+ explorerAddressLink: 'https://nova.arbiscan.io/address/',
301
+ explorerTxLink: 'https://nova.arbiscan.io/tx/',
302
+ relatedAssetKey: 'eip155:1/slip44:60',
303
+ });
304
+ exports.base = Object.freeze({
305
+ assetId: caip.baseAssetId,
306
+ chainId: caip.baseChainId,
307
+ name: 'Ethereum',
308
+ networkName: 'Base',
309
+ symbol: 'ETH',
310
+ precision: 18,
311
+ color: '#5C6BC0',
312
+ networkColor: '#0052FF',
313
+ icon: 'https://rawcdn.githack.com/trustwallet/assets/32e51d582a890b3dd3135fe3ee7c20c2fd699a6d/blockchains/ethereum/info/logo.png',
314
+ networkIcon: 'https://rawcdn.githack.com/base-org/brand-kit/8984fe6e08be3058fd7cf5cd0b201f8b92b5a70e/logo/symbol/Base_Symbol_Blue.png',
315
+ explorer: 'https://basescan.org',
316
+ explorerAddressLink: 'https://basescan.org/address/',
317
+ explorerTxLink: 'https://basescan.org/tx/',
318
+ relatedAssetKey: 'eip155:1/slip44:60',
319
+ });
320
+ exports.monad = Object.freeze({
321
+ assetId: caip.monadAssetId,
322
+ chainId: caip.monadChainId,
323
+ name: 'Monad',
324
+ networkName: 'Monad',
325
+ symbol: 'MON',
326
+ precision: 18,
327
+ color: '#3B82F6',
328
+ networkColor: '#3B82F6',
329
+ icon: 'https://assets.coingecko.com/coins/images/38927/standard/monad.png?1764042736',
330
+ networkIcon: 'https://assets.coingecko.com/coins/images/38927/standard/monad.png?1764042736',
331
+ explorer: 'https://monadvision.com',
332
+ explorerAddressLink: 'https://monadvision.com/address/',
333
+ explorerTxLink: 'https://monadvision.com/tx/',
334
+ relatedAssetKey: null,
335
+ });
336
+ exports.hyperevm = Object.freeze({
337
+ assetId: caip.hyperEvmAssetId,
338
+ chainId: caip.hyperEvmChainId,
339
+ name: 'HyperEVM',
340
+ networkName: 'HyperEVM',
341
+ symbol: 'HYPE',
342
+ precision: 18,
343
+ color: '#000000',
344
+ networkColor: '#000000',
345
+ icon: 'https://assets.coingecko.com/coins/images/50882/standard/hyperliquid.jpg?1729431300',
346
+ networkIcon: 'https://assets.coingecko.com/coins/images/50882/standard/hyperliquid.jpg?1729431300',
347
+ explorer: 'https://hyperevmscan.io',
348
+ explorerAddressLink: 'https://hyperevmscan.io/address/',
349
+ explorerTxLink: 'https://hyperevmscan.io/tx/',
350
+ relatedAssetKey: null,
351
+ });
352
+ exports.plasma = Object.freeze({
353
+ assetId: caip.plasmaAssetId,
354
+ chainId: caip.plasmaChainId,
355
+ name: 'Plasma',
356
+ networkName: 'Plasma',
357
+ symbol: 'XPL',
358
+ precision: 18,
359
+ color: '#8B5CF6',
360
+ networkColor: '#8B5CF6',
361
+ icon: 'https://assets.coingecko.com/coins/images/66489/standard/Plasma-symbol-green-1.png?1755142558',
362
+ networkIcon: 'https://assets.coingecko.com/asset_platforms/images/32256/small/plasma.jpg?1758000963',
363
+ explorer: 'https://plasmascan.to',
364
+ explorerAddressLink: 'https://plasmascan.to/address/',
365
+ explorerTxLink: 'https://plasmascan.to/tx/',
366
+ relatedAssetKey: null,
367
+ });
368
+ exports.katana = Object.freeze({
369
+ assetId: caip.katanaAssetId,
370
+ chainId: caip.katanaChainId,
371
+ name: 'Ethereum',
372
+ networkName: 'Katana',
373
+ symbol: 'ETH',
374
+ precision: 18,
375
+ color: '#5C6BC0',
376
+ networkColor: '#E11D48',
377
+ icon: 'https://rawcdn.githack.com/trustwallet/assets/32e51d582a890b3dd3135fe3ee7c20c2fd699a6d/blockchains/ethereum/info/logo.png',
378
+ networkIcon: 'https://assets.coingecko.com/asset_platforms/images/32239/small/katana.jpg',
379
+ explorer: 'https://katanascan.com',
380
+ explorerAddressLink: 'https://katanascan.com/address/',
381
+ explorerTxLink: 'https://katanascan.com/tx/',
382
+ relatedAssetKey: 'eip155:1/slip44:60',
383
+ });
384
+ exports.solana = Object.freeze({
385
+ assetId: caip.solAssetId,
386
+ chainId: caip.solanaChainId,
387
+ name: 'Solana',
388
+ networkName: 'Solana',
389
+ symbol: 'SOL',
390
+ precision: 9,
391
+ color: '#9971d8',
392
+ networkColor: '#9971d8',
393
+ icon: 'https://rawcdn.githack.com/trustwallet/assets/426526def2f327476e868ecb902c515ab17518af/blockchains/solana/info/logo.png',
394
+ explorer: 'https://explorer.solana.com',
395
+ explorerAddressLink: 'https://explorer.solana.com/address/',
396
+ explorerTxLink: 'https://explorer.solana.com/tx/',
397
+ relatedAssetKey: null,
398
+ });
399
+ exports.tron = Object.freeze({
400
+ assetId: caip.tronAssetId,
401
+ chainId: caip.tronChainId,
402
+ name: 'Tron',
403
+ networkName: 'Tron',
404
+ symbol: 'TRX',
405
+ precision: 6,
406
+ color: '#FF0013',
407
+ networkColor: '#FF0013',
408
+ icon: 'https://rawcdn.githack.com/trustwallet/assets/b7a5f12d893fcf58e0eb1dd64478f076857b720b/blockchains/tron/info/logo.png',
409
+ explorer: 'https://tronscan.org',
410
+ explorerAddressLink: 'https://tronscan.org/#/address/',
411
+ explorerTxLink: 'https://tronscan.org/#/transaction/',
412
+ relatedAssetKey: null,
413
+ });
414
+ exports.sui = Object.freeze({
415
+ assetId: caip.suiAssetId,
416
+ chainId: caip.suiChainId,
417
+ name: 'Sui',
418
+ networkName: 'Sui',
419
+ symbol: 'SUI',
420
+ precision: 9,
421
+ color: '#6fbcf0',
422
+ networkColor: '#6fbcf0',
423
+ icon: 'https://assets.coingecko.com/coins/images/26375/large/sui_asset.jpeg?1727791290',
424
+ explorer: 'https://suiscan.xyz/mainnet',
425
+ explorerAddressLink: 'https://suiscan.xyz/mainnet/account/',
426
+ explorerTxLink: 'https://suiscan.xyz/mainnet/tx/',
427
+ relatedAssetKey: null,
428
+ });
429
+ exports.near = Object.freeze({
430
+ assetId: caip.nearAssetId,
431
+ chainId: caip.nearChainId,
432
+ name: 'NEAR Protocol',
433
+ networkName: 'NEAR',
434
+ symbol: 'NEAR',
435
+ precision: 24,
436
+ color: '#00C08B',
437
+ networkColor: '#00C08B',
438
+ icon: 'https://assets.coingecko.com/coins/images/10365/large/near.jpg?1696510367',
439
+ explorer: 'https://nearblocks.io',
440
+ explorerAddressLink: 'https://nearblocks.io/address/',
441
+ explorerTxLink: 'https://nearblocks.io/txns/',
442
+ relatedAssetKey: null,
443
+ });
444
+ exports.starknet = Object.freeze({
445
+ assetId: caip.starknetAssetId,
446
+ chainId: caip.starknetChainId,
447
+ name: 'Starknet',
448
+ networkName: 'Starknet',
449
+ symbol: 'STRK',
450
+ precision: 18,
451
+ color: '#EC796B',
452
+ networkColor: '#EC796B',
453
+ icon: 'https://assets.coingecko.com/coins/images/26433/large/starknet.png',
454
+ explorer: 'https://starkscan.co',
455
+ explorerAddressLink: 'https://starkscan.co/contract/',
456
+ explorerTxLink: 'https://starkscan.co/tx/',
457
+ relatedAssetKey: null,
458
+ });
@@ -0,0 +1 @@
1
+ export declare const FIELDS: readonly ["assetIdx", "name", "precision", "color", "icon", "symbol", "relatedAssetKey", "isPool"];
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FIELDS = void 0;
4
+ exports.FIELDS = [
5
+ 'assetIdx',
6
+ 'name',
7
+ 'precision',
8
+ 'color',
9
+ 'icon',
10
+ 'symbol',
11
+ 'relatedAssetKey',
12
+ 'isPool',
13
+ ];
@@ -0,0 +1,7 @@
1
+ import type { AssetId } from '@shapeshiftoss/caip';
2
+ import type { Asset } from '@shapeshiftoss/types';
3
+ import type { EncodedAssetData } from './types';
4
+ export declare const decodeAssetData: (encodedAssetData: EncodedAssetData, shouldAddNetworkName?: boolean) => {
5
+ assetData: Record<AssetId, Asset>;
6
+ sortedAssetIds: AssetId[];
7
+ };