@chainflip/utils 0.11.3 → 2.1.0-beta.0

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 (71) hide show
  1. package/dist/_virtual/rolldown_runtime.cjs +29 -0
  2. package/dist/addresses.cjs +15 -40
  3. package/dist/addresses.d.ts +4 -3
  4. package/dist/addresses.js +14 -15
  5. package/dist/assertion.cjs +23 -82
  6. package/dist/assertion.d.ts +3 -2
  7. package/dist/assertion.js +32 -22
  8. package/dist/async.cjs +96 -115
  9. package/dist/async.d.ts +24 -21
  10. package/dist/async.js +92 -87
  11. package/dist/base58.cjs +9 -93
  12. package/dist/base58.d.ts +4 -4
  13. package/dist/base58.js +9 -13
  14. package/dist/bytes.cjs +49 -97
  15. package/dist/bytes.d.ts +4 -4
  16. package/dist/bytes.js +51 -15
  17. package/dist/chainflip.cjs +428 -327
  18. package/dist/chainflip.d.ts +188 -185
  19. package/dist/chainflip.js +425 -41
  20. package/dist/consts.cjs +306 -277
  21. package/dist/consts.d.ts +18 -17
  22. package/dist/consts.js +296 -243
  23. package/dist/date.cjs +74 -131
  24. package/dist/date.d.ts +9 -8
  25. package/dist/date.js +60 -95
  26. package/dist/guard.cjs +28 -63
  27. package/dist/guard.d.ts +10 -9
  28. package/dist/guard.js +17 -28
  29. package/dist/math.cjs +7 -32
  30. package/dist/math.d.ts +3 -2
  31. package/dist/math.js +6 -7
  32. package/dist/number.cjs +5 -29
  33. package/dist/number.d.ts +4 -4
  34. package/dist/number.js +5 -5
  35. package/dist/ss58.cjs +62 -794
  36. package/dist/ss58.d.ts +12 -9
  37. package/dist/ss58.js +59 -712
  38. package/dist/string.cjs +29 -66
  39. package/dist/string.d.ts +4 -4
  40. package/dist/string.js +20 -33
  41. package/dist/tickMath.cjs +32 -232
  42. package/dist/tickMath.d.ts +7 -6
  43. package/dist/tickMath.js +24 -29
  44. package/dist/types.cjs +0 -18
  45. package/dist/types.d.ts +35 -34
  46. package/dist/types.js +1 -0
  47. package/dist/url.cjs +16 -37
  48. package/dist/url.d.ts +5 -4
  49. package/dist/url.js +16 -13
  50. package/package.json +5 -5
  51. package/dist/addresses.d.cts +0 -6
  52. package/dist/assertion.d.cts +0 -11
  53. package/dist/async.d.cts +0 -33
  54. package/dist/base58.d.cts +0 -8
  55. package/dist/bytes.d.cts +0 -11
  56. package/dist/chainflip.d.cts +0 -236
  57. package/dist/chunk-3P6TXYEI.js +0 -15
  58. package/dist/chunk-HBIFE4XN.js +0 -29
  59. package/dist/chunk-LJJH7U4M.js +0 -302
  60. package/dist/chunk-XGNPN5CY.js +0 -61
  61. package/dist/chunk-ZHIKNZLU.js +0 -66
  62. package/dist/consts.d.cts +0 -33
  63. package/dist/date.d.cts +0 -26
  64. package/dist/guard.d.cts +0 -23
  65. package/dist/math.d.cts +0 -4
  66. package/dist/number.d.cts +0 -6
  67. package/dist/ss58.d.cts +0 -14
  68. package/dist/string.d.cts +0 -16
  69. package/dist/tickMath.d.cts +0 -15
  70. package/dist/types.d.cts +0 -41
  71. package/dist/url.d.cts +0 -6
package/dist/chainflip.js CHANGED
@@ -1,42 +1,426 @@
1
- import {
2
- addressTypes,
3
- assetConstants,
4
- assetContractId,
5
- assetSymbols,
6
- baseChainflipAssets,
7
- chainConstants,
8
- chainContractId,
9
- chainflipAssetToPriceAssetMap,
10
- chainflipAssets,
11
- chainflipChains,
12
- chainflipEvmChains,
13
- chainflipNetworks,
14
- getInternalAsset,
15
- getInternalAssets,
16
- internalAssetToRpcAsset,
17
- isValidAssetAndChain,
18
- priceAssets,
19
- readAssetValue,
20
- rpcAssets
21
- } from "./chunk-LJJH7U4M.js";
22
- export {
23
- addressTypes,
24
- assetConstants,
25
- assetContractId,
26
- assetSymbols,
27
- baseChainflipAssets,
28
- chainConstants,
29
- chainContractId,
30
- chainflipAssetToPriceAssetMap,
31
- chainflipAssets,
32
- chainflipChains,
33
- chainflipEvmChains,
34
- chainflipNetworks,
35
- getInternalAsset,
36
- getInternalAssets,
37
- internalAssetToRpcAsset,
38
- isValidAssetAndChain,
39
- priceAssets,
40
- readAssetValue,
41
- rpcAssets
1
+ //#region src/chainflip.ts
2
+ const chainflipAssets = [
3
+ "Usdc",
4
+ "Usdt",
5
+ "Wbtc",
6
+ "Flip",
7
+ "Eth",
8
+ "Dot",
9
+ "Btc",
10
+ "ArbUsdc",
11
+ "ArbUsdt",
12
+ "ArbEth",
13
+ "Sol",
14
+ "SolUsdc",
15
+ "SolUsdt",
16
+ "HubDot",
17
+ "HubUsdt",
18
+ "HubUsdc"
19
+ ];
20
+ const assetSymbols = [
21
+ "USDC",
22
+ "USDT",
23
+ "WBTC",
24
+ "FLIP",
25
+ "DOT",
26
+ "ETH",
27
+ "BTC",
28
+ "SOL"
29
+ ];
30
+ const priceAssets = [
31
+ "Btc",
32
+ "Eth",
33
+ "Sol",
34
+ "Usdc",
35
+ "Usdt",
36
+ "Usd",
37
+ "Fine"
38
+ ];
39
+ /** @deprecated use `assetSymbols` instead */
40
+ const rpcAssets = assetSymbols;
41
+ const baseChainflipAssets = chainflipAssets.filter((asset) => asset !== "Usdc");
42
+ const chainflipEvmChains = ["Ethereum", "Arbitrum"];
43
+ const chainflipChains = [
44
+ ...chainflipEvmChains,
45
+ "Bitcoin",
46
+ "Polkadot",
47
+ "Solana",
48
+ "Assethub"
49
+ ];
50
+ const chainflipNetworks = [
51
+ "backspin",
52
+ "sisyphos",
53
+ "perseverance",
54
+ "mainnet"
55
+ ];
56
+ const addressTypes = [
57
+ "Eth",
58
+ "Btc",
59
+ "Dot",
60
+ "Arb",
61
+ "Sol",
62
+ "Hub"
63
+ ];
64
+ function readAssetValue(map, asset) {
65
+ return map[assetConstants[asset].chain][assetConstants[asset].symbol];
66
+ }
67
+ const assetConstants = {
68
+ Eth: {
69
+ chain: "Ethereum",
70
+ symbol: "ETH",
71
+ rpcAsset: "ETH",
72
+ decimals: 18
73
+ },
74
+ Flip: {
75
+ chain: "Ethereum",
76
+ symbol: "FLIP",
77
+ rpcAsset: "FLIP",
78
+ decimals: 18
79
+ },
80
+ Usdc: {
81
+ chain: "Ethereum",
82
+ symbol: "USDC",
83
+ rpcAsset: "USDC",
84
+ decimals: 6
85
+ },
86
+ Usdt: {
87
+ chain: "Ethereum",
88
+ symbol: "USDT",
89
+ rpcAsset: "USDT",
90
+ decimals: 6
91
+ },
92
+ Wbtc: {
93
+ chain: "Ethereum",
94
+ symbol: "WBTC",
95
+ rpcAsset: "WBTC",
96
+ decimals: 8
97
+ },
98
+ Dot: {
99
+ chain: "Polkadot",
100
+ symbol: "DOT",
101
+ rpcAsset: "DOT",
102
+ decimals: 10
103
+ },
104
+ Btc: {
105
+ chain: "Bitcoin",
106
+ symbol: "BTC",
107
+ rpcAsset: "BTC",
108
+ decimals: 8
109
+ },
110
+ ArbUsdc: {
111
+ chain: "Arbitrum",
112
+ symbol: "USDC",
113
+ rpcAsset: "USDC",
114
+ decimals: 6
115
+ },
116
+ ArbUsdt: {
117
+ chain: "Arbitrum",
118
+ symbol: "USDT",
119
+ rpcAsset: "USDT",
120
+ decimals: 6
121
+ },
122
+ ArbEth: {
123
+ chain: "Arbitrum",
124
+ symbol: "ETH",
125
+ rpcAsset: "ETH",
126
+ decimals: 18
127
+ },
128
+ Sol: {
129
+ chain: "Solana",
130
+ symbol: "SOL",
131
+ rpcAsset: "SOL",
132
+ decimals: 9
133
+ },
134
+ SolUsdc: {
135
+ chain: "Solana",
136
+ symbol: "USDC",
137
+ rpcAsset: "USDC",
138
+ decimals: 6
139
+ },
140
+ SolUsdt: {
141
+ chain: "Solana",
142
+ symbol: "USDT",
143
+ rpcAsset: "USDT",
144
+ decimals: 6
145
+ },
146
+ HubDot: {
147
+ chain: "Assethub",
148
+ symbol: "DOT",
149
+ rpcAsset: "DOT",
150
+ decimals: 10
151
+ },
152
+ HubUsdc: {
153
+ chain: "Assethub",
154
+ symbol: "USDC",
155
+ rpcAsset: "USDC",
156
+ decimals: 6
157
+ },
158
+ HubUsdt: {
159
+ chain: "Assethub",
160
+ symbol: "USDT",
161
+ rpcAsset: "USDT",
162
+ decimals: 6
163
+ }
42
164
  };
165
+ const chainConstants = {
166
+ Ethereum: {
167
+ chainflipAssets: [
168
+ "Eth",
169
+ "Flip",
170
+ "Usdc",
171
+ "Usdt",
172
+ "Wbtc"
173
+ ],
174
+ assets: [
175
+ "ETH",
176
+ "FLIP",
177
+ "USDC",
178
+ "USDT",
179
+ "WBTC"
180
+ ],
181
+ rpcAssets: [
182
+ "ETH",
183
+ "FLIP",
184
+ "USDC",
185
+ "USDT",
186
+ "WBTC"
187
+ ],
188
+ gasAsset: "Eth",
189
+ addressType: "Eth",
190
+ blockTimeSeconds: 12
191
+ },
192
+ Polkadot: {
193
+ chainflipAssets: ["Dot"],
194
+ assets: ["DOT"],
195
+ rpcAssets: ["DOT"],
196
+ gasAsset: "Dot",
197
+ addressType: "Dot",
198
+ blockTimeSeconds: 6
199
+ },
200
+ Bitcoin: {
201
+ chainflipAssets: ["Btc"],
202
+ assets: ["BTC"],
203
+ rpcAssets: ["BTC"],
204
+ gasAsset: "Btc",
205
+ addressType: "Btc",
206
+ blockTimeSeconds: 600
207
+ },
208
+ Arbitrum: {
209
+ chainflipAssets: [
210
+ "ArbUsdc",
211
+ "ArbUsdt",
212
+ "ArbEth"
213
+ ],
214
+ assets: [
215
+ "USDC",
216
+ "USDT",
217
+ "ETH"
218
+ ],
219
+ rpcAssets: [
220
+ "USDC",
221
+ "USDT",
222
+ "ETH"
223
+ ],
224
+ gasAsset: "ArbEth",
225
+ addressType: "Arb",
226
+ blockTimeSeconds: .26
227
+ },
228
+ Solana: {
229
+ chainflipAssets: [
230
+ "Sol",
231
+ "SolUsdc",
232
+ "SolUsdt"
233
+ ],
234
+ assets: [
235
+ "SOL",
236
+ "USDC",
237
+ "USDT"
238
+ ],
239
+ rpcAssets: [
240
+ "SOL",
241
+ "USDC",
242
+ "USDT"
243
+ ],
244
+ gasAsset: "Sol",
245
+ addressType: "Sol",
246
+ blockTimeSeconds: .8
247
+ },
248
+ Assethub: {
249
+ chainflipAssets: [
250
+ "HubDot",
251
+ "HubUsdt",
252
+ "HubUsdc"
253
+ ],
254
+ assets: [
255
+ "DOT",
256
+ "USDT",
257
+ "USDC"
258
+ ],
259
+ rpcAssets: [
260
+ "DOT",
261
+ "USDT",
262
+ "USDC"
263
+ ],
264
+ gasAsset: "HubDot",
265
+ addressType: "Hub",
266
+ blockTimeSeconds: 12
267
+ }
268
+ };
269
+ const internalAssetToRpcAsset = {
270
+ Eth: {
271
+ chain: "Ethereum",
272
+ asset: "ETH"
273
+ },
274
+ Flip: {
275
+ chain: "Ethereum",
276
+ asset: "FLIP"
277
+ },
278
+ Usdc: {
279
+ chain: "Ethereum",
280
+ asset: "USDC"
281
+ },
282
+ Usdt: {
283
+ chain: "Ethereum",
284
+ asset: "USDT"
285
+ },
286
+ Wbtc: {
287
+ chain: "Ethereum",
288
+ asset: "WBTC"
289
+ },
290
+ Dot: {
291
+ chain: "Polkadot",
292
+ asset: "DOT"
293
+ },
294
+ Btc: {
295
+ chain: "Bitcoin",
296
+ asset: "BTC"
297
+ },
298
+ ArbUsdc: {
299
+ chain: "Arbitrum",
300
+ asset: "USDC"
301
+ },
302
+ ArbUsdt: {
303
+ chain: "Arbitrum",
304
+ asset: "USDT"
305
+ },
306
+ ArbEth: {
307
+ chain: "Arbitrum",
308
+ asset: "ETH"
309
+ },
310
+ Sol: {
311
+ chain: "Solana",
312
+ asset: "SOL"
313
+ },
314
+ SolUsdc: {
315
+ chain: "Solana",
316
+ asset: "USDC"
317
+ },
318
+ SolUsdt: {
319
+ chain: "Solana",
320
+ asset: "USDT"
321
+ },
322
+ HubDot: {
323
+ chain: "Assethub",
324
+ asset: "DOT"
325
+ },
326
+ HubUsdt: {
327
+ chain: "Assethub",
328
+ asset: "USDT"
329
+ },
330
+ HubUsdc: {
331
+ chain: "Assethub",
332
+ asset: "USDC"
333
+ }
334
+ };
335
+ const chainContractId = {
336
+ Ethereum: 1,
337
+ Polkadot: 2,
338
+ Bitcoin: 3,
339
+ Arbitrum: 4,
340
+ Solana: 5,
341
+ Assethub: 6
342
+ };
343
+ const assetContractId = {
344
+ Eth: 1,
345
+ Flip: 2,
346
+ Usdc: 3,
347
+ Dot: 4,
348
+ Usdt: 8,
349
+ Btc: 5,
350
+ ArbEth: 6,
351
+ ArbUsdc: 7,
352
+ Sol: 9,
353
+ SolUsdc: 10,
354
+ HubDot: 11,
355
+ HubUsdt: 12,
356
+ HubUsdc: 13,
357
+ Wbtc: 14,
358
+ ArbUsdt: 15,
359
+ SolUsdt: 16
360
+ };
361
+ function getInternalAsset(asset, assert = true) {
362
+ const internalAsset = {
363
+ Ethereum: {
364
+ USDC: "Usdc",
365
+ FLIP: "Flip",
366
+ ETH: "Eth",
367
+ USDT: "Usdt",
368
+ WBTC: "Wbtc"
369
+ },
370
+ Bitcoin: { BTC: "Btc" },
371
+ Arbitrum: {
372
+ USDC: "ArbUsdc",
373
+ USDT: "ArbUsdt",
374
+ ETH: "ArbEth"
375
+ },
376
+ Solana: {
377
+ SOL: "Sol",
378
+ USDC: "SolUsdc",
379
+ USDT: "SolUsdt"
380
+ },
381
+ Assethub: {
382
+ USDC: "HubUsdc",
383
+ USDT: "HubUsdt",
384
+ DOT: "HubDot"
385
+ }
386
+ }[asset.chain]?.[asset.asset];
387
+ if (internalAsset) return internalAsset;
388
+ if (assert) throw new Error(`invalid asset and chain combination: ${JSON.stringify(asset)}`);
389
+ return null;
390
+ }
391
+ function isValidAssetAndChain(assetAndChain) {
392
+ return getInternalAsset(assetAndChain, false) !== null;
393
+ }
394
+ function getInternalAssets({ srcAsset, srcChain, destAsset, destChain }, assert = true) {
395
+ return {
396
+ srcAsset: getInternalAsset({
397
+ asset: srcAsset,
398
+ chain: srcChain
399
+ }, assert),
400
+ destAsset: getInternalAsset({
401
+ asset: destAsset,
402
+ chain: destChain
403
+ }, assert)
404
+ };
405
+ }
406
+ const chainflipAssetToPriceAssetMap = {
407
+ Btc: "Btc",
408
+ Sol: "Sol",
409
+ Eth: "Eth",
410
+ ArbEth: "Eth",
411
+ Usdc: "Usdc",
412
+ ArbUsdc: "Usdc",
413
+ ArbUsdt: "Usdt",
414
+ SolUsdc: "Usdc",
415
+ SolUsdt: "Usdt",
416
+ HubUsdc: "Usdc",
417
+ Usdt: "Usdt",
418
+ HubUsdt: "Usdt",
419
+ Dot: null,
420
+ Flip: null,
421
+ HubDot: null,
422
+ Wbtc: "Btc"
423
+ };
424
+
425
+ //#endregion
426
+ export { addressTypes, assetConstants, assetContractId, assetSymbols, baseChainflipAssets, chainConstants, chainContractId, chainflipAssetToPriceAssetMap, chainflipAssets, chainflipChains, chainflipEvmChains, chainflipNetworks, getInternalAsset, getInternalAssets, internalAssetToRpcAsset, isValidAssetAndChain, priceAssets, readAssetValue, rpcAssets };