@ledgerhq/cryptoassets 13.31.0-nightly.6 → 13.31.0-nightly.7

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 (183) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/.unimportedrc.json +1 -0
  3. package/CHANGELOG.md +12 -0
  4. package/jest.config.ts +1 -0
  5. package/lib/hooks.d.ts +21 -0
  6. package/lib/hooks.d.ts.map +1 -0
  7. package/lib/hooks.js +82 -0
  8. package/lib/hooks.js.map +1 -0
  9. package/lib-es/hooks.d.ts +21 -0
  10. package/lib-es/hooks.d.ts.map +1 -0
  11. package/lib-es/hooks.js +78 -0
  12. package/lib-es/hooks.js.map +1 -0
  13. package/package.json +16 -3
  14. package/src/hooks.test.ts +278 -0
  15. package/src/hooks.ts +104 -0
  16. package/lib/api-asset-converter.test.d.ts +0 -2
  17. package/lib/api-asset-converter.test.d.ts.map +0 -1
  18. package/lib/api-asset-converter.test.js +0 -240
  19. package/lib/api-asset-converter.test.js.map +0 -1
  20. package/lib/api-token-converter.test.d.ts +0 -2
  21. package/lib/api-token-converter.test.d.ts.map +0 -1
  22. package/lib/api-token-converter.test.js +0 -316
  23. package/lib/api-token-converter.test.js.map +0 -1
  24. package/lib/backtest-tokenTypes.test.d.ts +0 -2
  25. package/lib/backtest-tokenTypes.test.d.ts.map +0 -1
  26. package/lib/backtest-tokenTypes.test.js +0 -31
  27. package/lib/backtest-tokenTypes.test.js.map +0 -1
  28. package/lib/crypto-assets-importer/fetch/fetch.test.d.ts +0 -2
  29. package/lib/crypto-assets-importer/fetch/fetch.test.d.ts.map +0 -1
  30. package/lib/crypto-assets-importer/fetch/fetch.test.js +0 -28
  31. package/lib/crypto-assets-importer/fetch/fetch.test.js.map +0 -1
  32. package/lib/crypto-assets-importer/importers/apt/aptos.test.d.ts +0 -2
  33. package/lib/crypto-assets-importer/importers/apt/aptos.test.d.ts.map +0 -1
  34. package/lib/crypto-assets-importer/importers/apt/aptos.test.js +0 -69
  35. package/lib/crypto-assets-importer/importers/apt/aptos.test.js.map +0 -1
  36. package/lib/crypto-assets-importer/importers/asa/asa.test.d.ts +0 -2
  37. package/lib/crypto-assets-importer/importers/asa/asa.test.d.ts.map +0 -1
  38. package/lib/crypto-assets-importer/importers/asa/asa.test.js +0 -63
  39. package/lib/crypto-assets-importer/importers/asa/asa.test.js.map +0 -1
  40. package/lib/crypto-assets-importer/importers/cardanoNative/cardanoNative.test.d.ts +0 -2
  41. package/lib/crypto-assets-importer/importers/cardanoNative/cardanoNative.test.d.ts.map +0 -1
  42. package/lib/crypto-assets-importer/importers/cardanoNative/cardanoNative.test.js +0 -74
  43. package/lib/crypto-assets-importer/importers/cardanoNative/cardanoNative.test.js.map +0 -1
  44. package/lib/crypto-assets-importer/importers/eip712/eip712.test.d.ts +0 -2
  45. package/lib/crypto-assets-importer/importers/eip712/eip712.test.d.ts.map +0 -1
  46. package/lib/crypto-assets-importer/importers/eip712/eip712.test.js +0 -45
  47. package/lib/crypto-assets-importer/importers/eip712/eip712.test.js.map +0 -1
  48. package/lib/crypto-assets-importer/importers/esdt/esdt.test.d.ts +0 -2
  49. package/lib/crypto-assets-importer/importers/esdt/esdt.test.d.ts.map +0 -1
  50. package/lib/crypto-assets-importer/importers/esdt/esdt.test.js +0 -65
  51. package/lib/crypto-assets-importer/importers/esdt/esdt.test.js.map +0 -1
  52. package/lib/crypto-assets-importer/importers/evm/evm.test.d.ts +0 -2
  53. package/lib/crypto-assets-importer/importers/evm/evm.test.d.ts.map +0 -1
  54. package/lib/crypto-assets-importer/importers/evm/evm.test.js +0 -62
  55. package/lib/crypto-assets-importer/importers/evm/evm.test.js.map +0 -1
  56. package/lib/crypto-assets-importer/importers/filecoin/filecoin-erc20.test.d.ts +0 -2
  57. package/lib/crypto-assets-importer/importers/filecoin/filecoin-erc20.test.d.ts.map +0 -1
  58. package/lib/crypto-assets-importer/importers/filecoin/filecoin-erc20.test.js +0 -66
  59. package/lib/crypto-assets-importer/importers/filecoin/filecoin-erc20.test.js.map +0 -1
  60. package/lib/crypto-assets-importer/importers/hedera/hedera.test.d.ts +0 -2
  61. package/lib/crypto-assets-importer/importers/hedera/hedera.test.d.ts.map +0 -1
  62. package/lib/crypto-assets-importer/importers/hedera/hedera.test.js +0 -64
  63. package/lib/crypto-assets-importer/importers/hedera/hedera.test.js.map +0 -1
  64. package/lib/crypto-assets-importer/importers/spl/spl.test.d.ts +0 -2
  65. package/lib/crypto-assets-importer/importers/spl/spl.test.d.ts.map +0 -1
  66. package/lib/crypto-assets-importer/importers/spl/spl.test.js +0 -73
  67. package/lib/crypto-assets-importer/importers/spl/spl.test.js.map +0 -1
  68. package/lib/crypto-assets-importer/importers/stellar/stellar.test.d.ts +0 -2
  69. package/lib/crypto-assets-importer/importers/stellar/stellar.test.d.ts.map +0 -1
  70. package/lib/crypto-assets-importer/importers/stellar/stellar.test.js +0 -56
  71. package/lib/crypto-assets-importer/importers/stellar/stellar.test.js.map +0 -1
  72. package/lib/crypto-assets-importer/importers/sui/sui.test.d.ts +0 -2
  73. package/lib/crypto-assets-importer/importers/sui/sui.test.d.ts.map +0 -1
  74. package/lib/crypto-assets-importer/importers/sui/sui.test.js +0 -74
  75. package/lib/crypto-assets-importer/importers/sui/sui.test.js.map +0 -1
  76. package/lib/crypto-assets-importer/importers/ton/ton-jetton.test.d.ts +0 -2
  77. package/lib/crypto-assets-importer/importers/ton/ton-jetton.test.d.ts.map +0 -1
  78. package/lib/crypto-assets-importer/importers/ton/ton-jetton.test.js +0 -59
  79. package/lib/crypto-assets-importer/importers/ton/ton-jetton.test.js.map +0 -1
  80. package/lib/crypto-assets-importer/importers/trc20/trc20.test.d.ts +0 -2
  81. package/lib/crypto-assets-importer/importers/trc20/trc20.test.d.ts.map +0 -1
  82. package/lib/crypto-assets-importer/importers/trc20/trc20.test.js +0 -71
  83. package/lib/crypto-assets-importer/importers/trc20/trc20.test.js.map +0 -1
  84. package/lib/crypto-assets-importer/importers/vip180/vip180.test.d.ts +0 -2
  85. package/lib/crypto-assets-importer/importers/vip180/vip180.test.d.ts.map +0 -1
  86. package/lib/crypto-assets-importer/importers/vip180/vip180.test.js +0 -64
  87. package/lib/crypto-assets-importer/importers/vip180/vip180.test.js.map +0 -1
  88. package/lib/currencies.test.d.ts +0 -2
  89. package/lib/currencies.test.d.ts.map +0 -1
  90. package/lib/currencies.test.js +0 -230
  91. package/lib/currencies.test.js.map +0 -1
  92. package/lib/legacy/legacy.test.d.ts +0 -2
  93. package/lib/legacy/legacy.test.d.ts.map +0 -1
  94. package/lib/legacy/legacy.test.js +0 -466
  95. package/lib/legacy/legacy.test.js.map +0 -1
  96. package/lib/tokens.test.d.ts +0 -2
  97. package/lib/tokens.test.d.ts.map +0 -1
  98. package/lib/tokens.test.js +0 -118
  99. package/lib/tokens.test.js.map +0 -1
  100. package/lib-es/api-asset-converter.test.d.ts +0 -2
  101. package/lib-es/api-asset-converter.test.d.ts.map +0 -1
  102. package/lib-es/api-asset-converter.test.js +0 -238
  103. package/lib-es/api-asset-converter.test.js.map +0 -1
  104. package/lib-es/api-token-converter.test.d.ts +0 -2
  105. package/lib-es/api-token-converter.test.d.ts.map +0 -1
  106. package/lib-es/api-token-converter.test.js +0 -314
  107. package/lib-es/api-token-converter.test.js.map +0 -1
  108. package/lib-es/backtest-tokenTypes.test.d.ts +0 -2
  109. package/lib-es/backtest-tokenTypes.test.d.ts.map +0 -1
  110. package/lib-es/backtest-tokenTypes.test.js +0 -29
  111. package/lib-es/backtest-tokenTypes.test.js.map +0 -1
  112. package/lib-es/crypto-assets-importer/fetch/fetch.test.d.ts +0 -2
  113. package/lib-es/crypto-assets-importer/fetch/fetch.test.d.ts.map +0 -1
  114. package/lib-es/crypto-assets-importer/fetch/fetch.test.js +0 -23
  115. package/lib-es/crypto-assets-importer/fetch/fetch.test.js.map +0 -1
  116. package/lib-es/crypto-assets-importer/importers/apt/aptos.test.d.ts +0 -2
  117. package/lib-es/crypto-assets-importer/importers/apt/aptos.test.d.ts.map +0 -1
  118. package/lib-es/crypto-assets-importer/importers/apt/aptos.test.js +0 -64
  119. package/lib-es/crypto-assets-importer/importers/apt/aptos.test.js.map +0 -1
  120. package/lib-es/crypto-assets-importer/importers/asa/asa.test.d.ts +0 -2
  121. package/lib-es/crypto-assets-importer/importers/asa/asa.test.d.ts.map +0 -1
  122. package/lib-es/crypto-assets-importer/importers/asa/asa.test.js +0 -58
  123. package/lib-es/crypto-assets-importer/importers/asa/asa.test.js.map +0 -1
  124. package/lib-es/crypto-assets-importer/importers/cardanoNative/cardanoNative.test.d.ts +0 -2
  125. package/lib-es/crypto-assets-importer/importers/cardanoNative/cardanoNative.test.d.ts.map +0 -1
  126. package/lib-es/crypto-assets-importer/importers/cardanoNative/cardanoNative.test.js +0 -69
  127. package/lib-es/crypto-assets-importer/importers/cardanoNative/cardanoNative.test.js.map +0 -1
  128. package/lib-es/crypto-assets-importer/importers/eip712/eip712.test.d.ts +0 -2
  129. package/lib-es/crypto-assets-importer/importers/eip712/eip712.test.d.ts.map +0 -1
  130. package/lib-es/crypto-assets-importer/importers/eip712/eip712.test.js +0 -40
  131. package/lib-es/crypto-assets-importer/importers/eip712/eip712.test.js.map +0 -1
  132. package/lib-es/crypto-assets-importer/importers/esdt/esdt.test.d.ts +0 -2
  133. package/lib-es/crypto-assets-importer/importers/esdt/esdt.test.d.ts.map +0 -1
  134. package/lib-es/crypto-assets-importer/importers/esdt/esdt.test.js +0 -60
  135. package/lib-es/crypto-assets-importer/importers/esdt/esdt.test.js.map +0 -1
  136. package/lib-es/crypto-assets-importer/importers/evm/evm.test.d.ts +0 -2
  137. package/lib-es/crypto-assets-importer/importers/evm/evm.test.d.ts.map +0 -1
  138. package/lib-es/crypto-assets-importer/importers/evm/evm.test.js +0 -57
  139. package/lib-es/crypto-assets-importer/importers/evm/evm.test.js.map +0 -1
  140. package/lib-es/crypto-assets-importer/importers/filecoin/filecoin-erc20.test.d.ts +0 -2
  141. package/lib-es/crypto-assets-importer/importers/filecoin/filecoin-erc20.test.d.ts.map +0 -1
  142. package/lib-es/crypto-assets-importer/importers/filecoin/filecoin-erc20.test.js +0 -61
  143. package/lib-es/crypto-assets-importer/importers/filecoin/filecoin-erc20.test.js.map +0 -1
  144. package/lib-es/crypto-assets-importer/importers/hedera/hedera.test.d.ts +0 -2
  145. package/lib-es/crypto-assets-importer/importers/hedera/hedera.test.d.ts.map +0 -1
  146. package/lib-es/crypto-assets-importer/importers/hedera/hedera.test.js +0 -59
  147. package/lib-es/crypto-assets-importer/importers/hedera/hedera.test.js.map +0 -1
  148. package/lib-es/crypto-assets-importer/importers/spl/spl.test.d.ts +0 -2
  149. package/lib-es/crypto-assets-importer/importers/spl/spl.test.d.ts.map +0 -1
  150. package/lib-es/crypto-assets-importer/importers/spl/spl.test.js +0 -68
  151. package/lib-es/crypto-assets-importer/importers/spl/spl.test.js.map +0 -1
  152. package/lib-es/crypto-assets-importer/importers/stellar/stellar.test.d.ts +0 -2
  153. package/lib-es/crypto-assets-importer/importers/stellar/stellar.test.d.ts.map +0 -1
  154. package/lib-es/crypto-assets-importer/importers/stellar/stellar.test.js +0 -51
  155. package/lib-es/crypto-assets-importer/importers/stellar/stellar.test.js.map +0 -1
  156. package/lib-es/crypto-assets-importer/importers/sui/sui.test.d.ts +0 -2
  157. package/lib-es/crypto-assets-importer/importers/sui/sui.test.d.ts.map +0 -1
  158. package/lib-es/crypto-assets-importer/importers/sui/sui.test.js +0 -69
  159. package/lib-es/crypto-assets-importer/importers/sui/sui.test.js.map +0 -1
  160. package/lib-es/crypto-assets-importer/importers/ton/ton-jetton.test.d.ts +0 -2
  161. package/lib-es/crypto-assets-importer/importers/ton/ton-jetton.test.d.ts.map +0 -1
  162. package/lib-es/crypto-assets-importer/importers/ton/ton-jetton.test.js +0 -54
  163. package/lib-es/crypto-assets-importer/importers/ton/ton-jetton.test.js.map +0 -1
  164. package/lib-es/crypto-assets-importer/importers/trc20/trc20.test.d.ts +0 -2
  165. package/lib-es/crypto-assets-importer/importers/trc20/trc20.test.d.ts.map +0 -1
  166. package/lib-es/crypto-assets-importer/importers/trc20/trc20.test.js +0 -66
  167. package/lib-es/crypto-assets-importer/importers/trc20/trc20.test.js.map +0 -1
  168. package/lib-es/crypto-assets-importer/importers/vip180/vip180.test.d.ts +0 -2
  169. package/lib-es/crypto-assets-importer/importers/vip180/vip180.test.d.ts.map +0 -1
  170. package/lib-es/crypto-assets-importer/importers/vip180/vip180.test.js +0 -59
  171. package/lib-es/crypto-assets-importer/importers/vip180/vip180.test.js.map +0 -1
  172. package/lib-es/currencies.test.d.ts +0 -2
  173. package/lib-es/currencies.test.d.ts.map +0 -1
  174. package/lib-es/currencies.test.js +0 -228
  175. package/lib-es/currencies.test.js.map +0 -1
  176. package/lib-es/legacy/legacy.test.d.ts +0 -2
  177. package/lib-es/legacy/legacy.test.d.ts.map +0 -1
  178. package/lib-es/legacy/legacy.test.js +0 -464
  179. package/lib-es/legacy/legacy.test.js.map +0 -1
  180. package/lib-es/tokens.test.d.ts +0 -2
  181. package/lib-es/tokens.test.d.ts.map +0 -1
  182. package/lib-es/tokens.test.js +0 -116
  183. package/lib-es/tokens.test.js.map +0 -1
@@ -1,466 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const currencies_1 = require("../currencies");
4
- const legacy_utils_1 = require("./legacy-utils");
5
- const legacy_data_1 = require("./legacy-data");
6
- const live_env_1 = require("@ledgerhq/live-env");
7
- const legacy_state_1 = require("./legacy-state");
8
- // Mock live-env
9
- jest.mock("@ledgerhq/live-env", () => ({
10
- getEnv: jest.fn((_key) => false),
11
- }));
12
- describe("Legacy Utils", () => {
13
- beforeEach(() => {
14
- (0, legacy_utils_1.__clearAllLists)();
15
- });
16
- describe("Convert functions", () => {
17
- it("should convert ERC20 token", () => {
18
- const erc20Token = [
19
- "ethereum",
20
- "test_token",
21
- "TEST",
22
- 18,
23
- "Test Token",
24
- "signature",
25
- "0x123",
26
- false,
27
- false,
28
- ];
29
- const result = (0, legacy_utils_1.convertERC20)(erc20Token);
30
- expect(result).toBeDefined();
31
- expect(result?.type).toBe("TokenCurrency");
32
- expect(result?.ticker).toBe("TEST");
33
- });
34
- it("should handle invalid parent currency in ERC20", () => {
35
- const erc20Token = [
36
- "invalid_currency",
37
- "test_token",
38
- "TEST",
39
- 18,
40
- "Test Token",
41
- "signature",
42
- "0x123",
43
- false,
44
- false,
45
- ];
46
- const result = (0, legacy_utils_1.convertERC20)(erc20Token);
47
- expect(result).toBeUndefined();
48
- });
49
- it("should convert BSC token as BEP20", () => {
50
- const bscToken = [
51
- "bsc",
52
- "test_token",
53
- "TEST",
54
- 18,
55
- "Test Token",
56
- "signature",
57
- "0x123",
58
- false,
59
- false,
60
- ];
61
- const result = (0, legacy_utils_1.convertERC20)(bscToken);
62
- expect(result?.tokenType).toBe("bep20");
63
- });
64
- it("should convert Algorand ASA token", () => {
65
- const asaToken = ["1", "TEST", "Test Token", "0x123", 6];
66
- const result = (0, legacy_utils_1.convertAlgorandASATokens)(asaToken);
67
- expect(result.type).toBe("TokenCurrency");
68
- expect(result.tokenType).toBe("asa");
69
- });
70
- it("should convert VeChain token", () => {
71
- const vechainToken = ["test", "TEST", "Test Token", "0x123", 18];
72
- const result = (0, legacy_utils_1.convertVechainToken)(vechainToken);
73
- expect(result.type).toBe("TokenCurrency");
74
- expect(result.tokenType).toBe("vip180");
75
- });
76
- it("should convert TRON TRC10 token", () => {
77
- const trc10Token = [1, "TEST", "Test Token", "1", 6, false, "sig"];
78
- const converter = (0, legacy_utils_1.convertTRONTokens)("trc10");
79
- const result = converter(trc10Token);
80
- expect(result.type).toBe("TokenCurrency");
81
- expect(result.tokenType).toBe("trc10");
82
- });
83
- it("should convert TRON TRC20 token", () => {
84
- const trc20Token = ["1", "TEST", "Test Token", "TR123", 6, false, "sig"];
85
- const converter = (0, legacy_utils_1.convertTRONTokens)("trc20");
86
- const result = converter(trc20Token);
87
- expect(result.type).toBe("TokenCurrency");
88
- expect(result.tokenType).toBe("trc20");
89
- });
90
- it("should convert MultiversX ESDT token", () => {
91
- const esdtToken = ["TEST", "TEST-123", 18, "sig", "Test Token"];
92
- const result = (0, legacy_utils_1.convertMultiversXESDTTokens)(esdtToken);
93
- expect(result.type).toBe("TokenCurrency");
94
- expect(result.tokenType).toBe("esdt");
95
- });
96
- it("should convert SPL token", () => {
97
- const splToken = ["solana/spl/test", "solana", "Test Token", "TEST", "So123", 9];
98
- const result = (0, legacy_utils_1.convertSplTokens)(splToken);
99
- expect(result.type).toBe("TokenCurrency");
100
- expect(result.tokenType).toBe("spl");
101
- });
102
- it("should convert Aptos Coin token", () => {
103
- const aptCoinToken = [
104
- "aptos/coin/test",
105
- "TEST",
106
- "Test Token",
107
- "0x1::test",
108
- 8,
109
- false,
110
- ];
111
- const result = (0, legacy_utils_1.convertAptCoinTokens)(aptCoinToken);
112
- expect(result.type).toBe("TokenCurrency");
113
- expect(result.tokenType).toBe("coin");
114
- });
115
- it("should convert Aptos FA token", () => {
116
- const aptFaToken = ["aptos/fa/test", "TEST", "Test Token", "0x1::test", 8, false];
117
- const result = (0, legacy_utils_1.convertAptFaTokens)(aptFaToken);
118
- expect(result.type).toBe("TokenCurrency");
119
- expect(result.tokenType).toBe("fungible_asset");
120
- });
121
- it("should convert Sui token", () => {
122
- const suiToken = ["sui/test", "Test Token", "TEST", "0x123", 9, "signature"];
123
- const result = (0, legacy_utils_1.convertSuiTokens)(suiToken);
124
- expect(result.type).toBe("TokenCurrency");
125
- expect(result.tokenType).toBe("sui");
126
- });
127
- it("should convert Hedera token", () => {
128
- const hederaToken = [
129
- "hedera/hts/test",
130
- "0.0.123",
131
- "Test Token",
132
- "TEST",
133
- "hedera",
134
- 8,
135
- false,
136
- ];
137
- const result = (0, legacy_utils_1.convertHederaTokens)(hederaToken);
138
- expect(result.type).toBe("TokenCurrency");
139
- expect(result.tokenType).toBe("hts");
140
- });
141
- it("should convert Cardano native token", () => {
142
- const cardanoToken = [
143
- "cardano",
144
- "policy123",
145
- "asset456",
146
- "Test Token",
147
- "TEST",
148
- 6,
149
- false,
150
- ];
151
- const result = (0, legacy_utils_1.convertCardanoNativeTokens)(cardanoToken);
152
- expect(result?.type).toBe("TokenCurrency");
153
- expect(result?.tokenType).toBe("native");
154
- });
155
- it("should handle invalid parent currency in Cardano", () => {
156
- const cardanoToken = [
157
- // @ts-expect-error invalid parent currency
158
- "invalid",
159
- "policy123",
160
- "asset456",
161
- "Test Token",
162
- "TEST",
163
- 6,
164
- false,
165
- ];
166
- expect(() => (0, legacy_utils_1.convertCardanoNativeTokens)(cardanoToken)).toThrow('currency with id "invalid" not found');
167
- });
168
- it("should convert Stellar token", () => {
169
- const stellarToken = ["TEST", "GTEST123", "stellar", "Test Token", 7];
170
- const result = (0, legacy_utils_1.convertStellarTokens)(stellarToken);
171
- expect(result.type).toBe("TokenCurrency");
172
- expect(result.tokenType).toBe("stellar");
173
- });
174
- it("should convert Jetton token", () => {
175
- const jettonToken = ["EQTest123", "Test Token", "TEST", 9, false];
176
- const result = (0, legacy_utils_1.convertJettonToken)(jettonToken);
177
- expect(result?.type).toBe("TokenCurrency");
178
- expect(result?.tokenType).toBe("jetton");
179
- });
180
- });
181
- describe("Token management", () => {
182
- it("should create token hash", () => {
183
- const token = {
184
- type: "TokenCurrency",
185
- id: "test",
186
- contractAddress: "0x123",
187
- parentCurrency: (0, currencies_1.getCryptoCurrencyById)("ethereum"),
188
- tokenType: "erc20",
189
- name: "Test",
190
- ticker: "TEST",
191
- units: [],
192
- delisted: false,
193
- ledgerSignature: "sig",
194
- };
195
- const hash = (0, legacy_utils_1.createTokenHash)(token);
196
- expect(hash).toBe("test0x123falseTESTsig");
197
- });
198
- it("should add tokens and populate all lookup objects", () => {
199
- const token = {
200
- type: "TokenCurrency",
201
- id: "ethereum/erc20/test",
202
- contractAddress: "0x123",
203
- parentCurrency: (0, currencies_1.getCryptoCurrencyById)("ethereum"),
204
- tokenType: "erc20",
205
- name: "Test Token",
206
- ticker: "TEST",
207
- units: [],
208
- };
209
- (0, legacy_utils_1.addTokens)([token]);
210
- expect(legacy_state_1.tokensArray).toContain(token);
211
- expect(legacy_state_1.tokensArrayWithDelisted).toContain(token);
212
- expect(legacy_state_1.tokensById[token.id]).toBe(token);
213
- expect(legacy_state_1.tokensByCurrencyAddress["ethereum:0x123"]).toBe(token);
214
- expect(legacy_state_1.tokensByCryptoCurrency["ethereum"]).toContain(token);
215
- });
216
- it("should handle delisted tokens", () => {
217
- const token = {
218
- type: "TokenCurrency",
219
- id: "ethereum/erc20/test",
220
- contractAddress: "0x123",
221
- parentCurrency: (0, currencies_1.getCryptoCurrencyById)("ethereum"),
222
- tokenType: "erc20",
223
- name: "Test Token",
224
- ticker: "TEST",
225
- units: [],
226
- delisted: true,
227
- };
228
- (0, legacy_utils_1.addTokens)([token]);
229
- expect(legacy_state_1.tokensArray).not.toContain(token);
230
- expect(legacy_state_1.tokensArrayWithDelisted).toContain(token);
231
- expect(legacy_state_1.tokensByCryptoCurrency["ethereum"]).not.toContain(token);
232
- expect(legacy_state_1.tokensByCryptoCurrencyWithDelisted["ethereum"]).toContain(token);
233
- });
234
- it("should not add duplicate tokens", () => {
235
- const token = {
236
- type: "TokenCurrency",
237
- id: "ethereum/erc20/test",
238
- contractAddress: "0x123",
239
- parentCurrency: (0, currencies_1.getCryptoCurrencyById)("ethereum"),
240
- tokenType: "erc20",
241
- name: "Test Token",
242
- ticker: "TEST",
243
- units: [],
244
- };
245
- (0, legacy_utils_1.addTokens)([token]);
246
- (0, legacy_utils_1.addTokens)([token]); // Add same token again
247
- expect(legacy_state_1.tokensArray.length).toBe(1);
248
- });
249
- it("should handle ticker conflicts (first wins)", () => {
250
- const token1 = {
251
- type: "TokenCurrency",
252
- id: "ethereum/erc20/test1",
253
- contractAddress: "0x123",
254
- parentCurrency: (0, currencies_1.getCryptoCurrencyById)("ethereum"),
255
- tokenType: "erc20",
256
- name: "Test Token 1",
257
- ticker: "TEST",
258
- units: [],
259
- };
260
- const token2 = {
261
- type: "TokenCurrency",
262
- id: "ethereum/erc20/test2",
263
- contractAddress: "0x456",
264
- parentCurrency: (0, currencies_1.getCryptoCurrencyById)("ethereum"),
265
- tokenType: "erc20",
266
- name: "Test Token 2",
267
- ticker: "TEST",
268
- units: [],
269
- };
270
- (0, legacy_utils_1.addTokens)([token1, token2]);
271
- // Both tokens should be added successfully
272
- expect(legacy_state_1.tokensById[token1.id]).toBe(token1);
273
- expect(legacy_state_1.tokensById[token2.id]).toBe(token2);
274
- });
275
- it("should handle undefined tokens", () => {
276
- (0, legacy_utils_1.addTokens)([undefined]);
277
- expect(legacy_state_1.tokensArray.length).toBe(0);
278
- });
279
- it("should update existing tokens", () => {
280
- const token1 = {
281
- type: "TokenCurrency",
282
- id: "ethereum/erc20/test",
283
- contractAddress: "0x123",
284
- parentCurrency: (0, currencies_1.getCryptoCurrencyById)("ethereum"),
285
- tokenType: "erc20",
286
- name: "Test Token",
287
- ticker: "TEST",
288
- units: [],
289
- };
290
- const token2 = {
291
- type: "TokenCurrency",
292
- id: "ethereum/erc20/test",
293
- contractAddress: "0x123",
294
- parentCurrency: (0, currencies_1.getCryptoCurrencyById)("ethereum"),
295
- tokenType: "erc20",
296
- name: "Updated Test Token",
297
- ticker: "TEST2",
298
- units: [],
299
- };
300
- (0, legacy_utils_1.addTokens)([token1]);
301
- (0, legacy_utils_1.addTokens)([token2]);
302
- expect(legacy_state_1.tokensById[token1.id]).toBe(token2);
303
- expect(legacy_state_1.tokensArray.length).toBe(1);
304
- });
305
- it("should handle removing non-existent token from arrays", () => {
306
- const token1 = {
307
- type: "TokenCurrency",
308
- id: "ethereum/erc20/test1",
309
- contractAddress: "0x123",
310
- parentCurrency: (0, currencies_1.getCryptoCurrencyById)("ethereum"),
311
- tokenType: "erc20",
312
- name: "Test Token 1",
313
- ticker: "TEST1",
314
- units: [],
315
- };
316
- // Add first token
317
- (0, legacy_utils_1.addTokens)([token1]);
318
- expect(legacy_state_1.tokensArray.length).toBe(1);
319
- // Try to update with a token that has different ID but same hash will trigger removal logic
320
- // This will test the removeTokenFromArray function when token is not found
321
- const tokenWithSameHash = {
322
- type: "TokenCurrency",
323
- id: "ethereum/erc20/test1", // Same ID to trigger update path
324
- contractAddress: "0x789", // Different address
325
- parentCurrency: (0, currencies_1.getCryptoCurrencyById)("ethereum"),
326
- tokenType: "erc20",
327
- name: "Test Token 1 Updated",
328
- ticker: "TEST1_UPDATED",
329
- units: [],
330
- };
331
- (0, legacy_utils_1.addTokens)([tokenWithSameHash]);
332
- expect(legacy_state_1.tokensArray.length).toBe(1);
333
- expect(legacy_state_1.tokensArray[0]).toBe(tokenWithSameHash);
334
- });
335
- });
336
- describe("List functions", () => {
337
- beforeEach(() => {
338
- const token1 = {
339
- type: "TokenCurrency",
340
- id: "ethereum/erc20/test1",
341
- contractAddress: "0x123",
342
- parentCurrency: (0, currencies_1.getCryptoCurrencyById)("ethereum"),
343
- tokenType: "erc20",
344
- name: "Test Token 1",
345
- ticker: "TEST1",
346
- units: [],
347
- };
348
- const token2 = {
349
- type: "TokenCurrency",
350
- id: "ethereum/erc20/test2",
351
- contractAddress: "0x456",
352
- parentCurrency: (0, currencies_1.getCryptoCurrencyById)("ethereum"),
353
- tokenType: "erc20",
354
- name: "Test Token 2",
355
- ticker: "TEST2",
356
- units: [],
357
- delisted: true,
358
- };
359
- (0, legacy_utils_1.addTokens)([token1, token2]);
360
- });
361
- it("should list tokens without delisted by default", () => {
362
- const tokens = (0, legacy_utils_1.listTokensLegacy)();
363
- expect(tokens.length).toBe(1);
364
- expect(tokens[0].ticker).toBe("TEST1");
365
- });
366
- it("should list tokens with delisted when requested", () => {
367
- const tokens = (0, legacy_utils_1.listTokensLegacy)({ withDelisted: true });
368
- expect(tokens.length).toBe(2);
369
- });
370
- it("should list tokens for specific currency", () => {
371
- const ethereum = (0, currencies_1.getCryptoCurrencyById)("ethereum");
372
- const tokens = (0, legacy_utils_1.listTokensForCryptoCurrencyLegacy)(ethereum);
373
- expect(tokens.length).toBe(1);
374
- expect(tokens[0].ticker).toBe("TEST1");
375
- });
376
- it("should list tokens for specific currency with delisted", () => {
377
- const ethereum = (0, currencies_1.getCryptoCurrencyById)("ethereum");
378
- const tokens = (0, legacy_utils_1.listTokensForCryptoCurrencyLegacy)(ethereum, { withDelisted: true });
379
- expect(tokens.length).toBe(2);
380
- });
381
- it("should return empty array for currency with no tokens", () => {
382
- const bitcoin = (0, currencies_1.getCryptoCurrencyById)("bitcoin");
383
- const tokens = (0, legacy_utils_1.listTokensForCryptoCurrencyLegacy)(bitcoin);
384
- expect(tokens).toEqual([]);
385
- });
386
- it("should return empty array for currency with no delisted tokens", () => {
387
- const bitcoin = (0, currencies_1.getCryptoCurrencyById)("bitcoin");
388
- const tokens = (0, legacy_utils_1.listTokensForCryptoCurrencyLegacy)(bitcoin, { withDelisted: true });
389
- expect(tokens).toEqual([]);
390
- });
391
- });
392
- describe("Clear functions", () => {
393
- it("should clear all lists", () => {
394
- const token = {
395
- type: "TokenCurrency",
396
- id: "ethereum/erc20/test",
397
- contractAddress: "0x123",
398
- parentCurrency: (0, currencies_1.getCryptoCurrencyById)("ethereum"),
399
- tokenType: "erc20",
400
- name: "Test Token",
401
- ticker: "TEST",
402
- units: [],
403
- };
404
- (0, legacy_utils_1.addTokens)([token]);
405
- expect(legacy_state_1.tokensArray.length).toBe(1);
406
- (0, legacy_utils_1.__clearAllLists)();
407
- expect(legacy_state_1.tokensArray.length).toBe(0);
408
- expect(legacy_state_1.tokensArrayWithDelisted.length).toBe(0);
409
- expect(Object.keys(legacy_state_1.tokensByCryptoCurrency).length).toBe(0);
410
- expect(Object.keys(legacy_state_1.tokensByCryptoCurrencyWithDelisted).length).toBe(0);
411
- expect(Object.keys(legacy_state_1.tokensById).length).toBe(0);
412
- expect(Object.keys(legacy_state_1.tokensByCurrencyAddress).length).toBe(0);
413
- expect(legacy_state_1.tokenListHashes.size).toBe(0);
414
- });
415
- });
416
- });
417
- describe("Legacy Data", () => {
418
- // eslint-disable-next-line @typescript-eslint/consistent-type-assertions
419
- const mockGetEnv = live_env_1.getEnv;
420
- beforeEach(() => {
421
- mockGetEnv.mockReturnValue(false);
422
- });
423
- it("should initialize legacy tokens", () => {
424
- const mockAddTokens = jest.fn();
425
- (0, legacy_data_1.initializeLegacyTokens)(mockAddTokens);
426
- // Should call addTokens multiple times for different token types
427
- expect(mockAddTokens).toHaveBeenCalled();
428
- expect(mockAddTokens.mock.calls.length).toBeGreaterThan(10);
429
- });
430
- it("should initialize legacy tokens with SUI enabled", () => {
431
- mockGetEnv.mockImplementation((key) => key === "SUI_ENABLE_TOKENS");
432
- const mockAddTokens = jest.fn();
433
- (0, legacy_data_1.initializeLegacyTokens)(mockAddTokens);
434
- expect(mockAddTokens).toHaveBeenCalled();
435
- // Should have more calls when SUI is enabled
436
- expect(mockAddTokens.mock.calls.length).toBeGreaterThan(10);
437
- });
438
- it("should initialize legacy tokens with APTOS enabled", () => {
439
- mockGetEnv.mockImplementation((key) => key === "APTOS_ENABLE_TOKENS");
440
- const mockAddTokens = jest.fn();
441
- (0, legacy_data_1.initializeLegacyTokens)(mockAddTokens);
442
- expect(mockAddTokens).toHaveBeenCalled();
443
- // Should have more calls when APTOS is enabled
444
- expect(mockAddTokens.mock.calls.length).toBeGreaterThan(10);
445
- });
446
- it("should initialize legacy tokens with both SUI and APTOS enabled", () => {
447
- mockGetEnv.mockImplementation((key) => key === "SUI_ENABLE_TOKENS" || key === "APTOS_ENABLE_TOKENS");
448
- const mockAddTokens = jest.fn();
449
- (0, legacy_data_1.initializeLegacyTokens)(mockAddTokens);
450
- expect(mockAddTokens).toHaveBeenCalled();
451
- // Should have the most calls when both are enabled
452
- expect(mockAddTokens.mock.calls.length).toBeGreaterThan(12);
453
- });
454
- });
455
- describe("Legacy State", () => {
456
- it("should export all state objects", () => {
457
- expect(legacy_state_1.tokensArray).toBeDefined();
458
- expect(legacy_state_1.tokensArrayWithDelisted).toBeDefined();
459
- expect(legacy_state_1.tokensByCryptoCurrency).toBeDefined();
460
- expect(legacy_state_1.tokensByCryptoCurrencyWithDelisted).toBeDefined();
461
- expect(legacy_state_1.tokensById).toBeDefined();
462
- expect(legacy_state_1.tokensByCurrencyAddress).toBeDefined();
463
- expect(legacy_state_1.tokenListHashes).toBeDefined();
464
- });
465
- });
466
- //# sourceMappingURL=legacy.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"legacy.test.js","sourceRoot":"","sources":["../../src/legacy/legacy.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=tokens.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tokens.test.d.ts","sourceRoot":"","sources":["../src/tokens.test.ts"],"names":[],"mappings":""}
@@ -1,118 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const currencies_1 = require("./currencies");
4
- const tokens_1 = require("./tokens");
5
- const legacy_utils_1 = require("./legacy/legacy-utils");
6
- const initMainToken = [
7
- [
8
- "ethereum",
9
- "ki",
10
- "XKI",
11
- 6,
12
- "Ki",
13
- "304402201fe22e202db62b632e0647a12070c24f34de2006e667abedaed5ca6ea2986b18022054dd4eda5bf5e444601a48e5370cfcf0b51cc5fe1237259f6066311286dbfd55",
14
- "0x4f6103BAd230295baCF30f914FDa7D4273B7F585",
15
- false,
16
- false,
17
- ],
18
- [
19
- "ethereum",
20
- "kiba_inu",
21
- "KIBA",
22
- 18,
23
- "Kiba Inu",
24
- "3045022100baa979e8461d439b324416dff31f277663b51fa36e5e60005933292d5151f32502200528872863ce6b55009387bd2c5b6556b907193e27f506236149634a97518822",
25
- "0x005D1123878Fc55fbd56b54C73963b234a64af3c",
26
- false,
27
- false,
28
- ],
29
- [
30
- "ethereum",
31
- "kick",
32
- "KICK",
33
- 8,
34
- "KICK",
35
- "3044022000b06bf563f55da06b142b6816e824492a4862673f29842aa8b46f23a7dcbe57022049309464e7123f79df5bcead066a2b0af929965d3d9dc683a324eda32f970b07",
36
- "0x27695E09149AdC738A978e9A678F99E4c39e9eb9",
37
- false,
38
- true,
39
- ],
40
- [
41
- "ethereum",
42
- "0xmonero",
43
- "0XMR",
44
- 18,
45
- "0xMonero",
46
- "30440220544ecf38d2906770446f52557f2dd42b6aa274bc960c808c4dcee42c44e8412202206fab6769ebe15fbfb7245b0156d17e432a1acd9920f1ecbf25729f8d8594af6c",
47
- "0x035dF12E0F3ac6671126525f1015E47D79dFEDDF",
48
- false,
49
- true,
50
- ],
51
- ];
52
- const ethereumCurrency = (0, currencies_1.getCryptoCurrencyById)("ethereum");
53
- describe("tokens", () => {
54
- beforeEach(() => {
55
- (0, tokens_1.__clearAllLists)();
56
- });
57
- describe("addTokens", () => {
58
- it("Should list token to be empty", () => {
59
- expect((0, tokens_1.listTokens)().length).toBe(0);
60
- });
61
- it("Add tokens normally and check if delisted work correclty", () => {
62
- (0, tokens_1.addTokens)(initMainToken.map(tokens_1.convertERC20));
63
- expect((0, tokens_1.listTokens)().length).toBe(2);
64
- expect((0, tokens_1.listTokens)({ withDelisted: true }).length).toBe(4);
65
- expect((0, tokens_1.listTokensForCryptoCurrency)(ethereumCurrency).length).toBe(2);
66
- expect((0, tokens_1.listTokensForCryptoCurrency)(ethereumCurrency, { withDelisted: true }).length).toBe(4);
67
- });
68
- it("Add token and readd the same token shouldn't delete anything", () => {
69
- (0, tokens_1.addTokens)(initMainToken.map(tokens_1.convertERC20));
70
- const changeToken = [
71
- [
72
- "ethereum",
73
- "kiba_inu",
74
- "KIBA",
75
- 18,
76
- "Kiba Inu",
77
- "3045022100baa979e8461d439b324416dff31f277663b51fa36e5e60005933292d5151f32502200528872863ce6b55009387bd2c5b6556b907193e27f506236149634a97518822",
78
- "0x005D1123878Fc55fbd56b54C73963b234a64af3c",
79
- false,
80
- false,
81
- ],
82
- ];
83
- const tokenHash = (0, legacy_utils_1.createTokenHash)((0, tokens_1.convertERC20)(changeToken[0]));
84
- const existingToken = (0, tokens_1.listTokens)().find(t => t.ticker === "KIBA");
85
- if (!existingToken)
86
- throw new Error("Should not be empty");
87
- expect(tokenHash).toBe((0, legacy_utils_1.createTokenHash)(existingToken));
88
- (0, tokens_1.addTokens)(changeToken.map(tokens_1.convertERC20));
89
- const tokenAfterChange = (0, tokens_1.listTokens)().find(t => t.ticker === "KIBA");
90
- if (!tokenAfterChange)
91
- throw new Error("Should not be empty");
92
- expect(tokenHash).toBe((0, legacy_utils_1.createTokenHash)(tokenAfterChange));
93
- });
94
- it("Add tokens normally and then delist one token", () => {
95
- (0, tokens_1.addTokens)(initMainToken.map(tokens_1.convertERC20));
96
- const changeToken = [
97
- [
98
- "ethereum",
99
- "kiba_inu",
100
- "KIBA",
101
- 18,
102
- "Kiba Inu",
103
- "3045022100baa979e8461d439b324416dff31f277663b51fa36e5e60005933292d5151f32502200528872863ce6b55009387bd2c5b6556b907193e27f506236149634a97518822",
104
- "0x005D1123878Fc55fbd56b54C73963b234a64af3c",
105
- false,
106
- true,
107
- ],
108
- ];
109
- (0, tokens_1.addTokens)(changeToken.map(tokens_1.convertERC20));
110
- expect((0, tokens_1.listTokens)().length).toBe(1);
111
- (0, tokens_1.findTokenById)("kiba_inu");
112
- expect((0, tokens_1.listTokens)({ withDelisted: true }).length).toBe(4);
113
- expect((0, tokens_1.listTokensForCryptoCurrency)(ethereumCurrency).length).toBe(1);
114
- expect((0, tokens_1.listTokensForCryptoCurrency)(ethereumCurrency, { withDelisted: true }).length).toBe(4);
115
- });
116
- });
117
- });
118
- //# sourceMappingURL=tokens.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tokens.test.js","sourceRoot":"","sources":["../src/tokens.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=api-asset-converter.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api-asset-converter.test.d.ts","sourceRoot":"","sources":["../src/api-asset-converter.test.ts"],"names":[],"mappings":""}