@proton/wrap-constants 0.2.70 → 0.2.72

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.
@@ -1,2163 +0,0 @@
1
- import { string, object, array, literal, number, any, nativeEnum, boolean } from 'zod';
2
- import cloneDeep from 'lodash.clonedeep';
3
- import { BigNumber } from 'bignumber.js';
4
-
5
- var _similarChains, _explorerLinkByChain;
6
-
7
- var Chains;
8
-
9
- (function (Chains) {
10
- Chains["BitcoinMainnet"] = "Bitcoin";
11
- Chains["BitcoinTestnet"] = "Bitcoin (Testnet)";
12
- Chains["EthereumMainnet"] = "Ethereum";
13
- Chains["EthereumRopsten"] = "Ethereum (Ropsten)";
14
- Chains["LitecoinMainnet"] = "Litecoin";
15
- Chains["LitecoinTestnet"] = "Litecoin (Testnet)";
16
- Chains["BitcoinCashMainnet"] = "Bitcoin Cash";
17
- Chains["BitcoinCashTestnet"] = "Bitcoin Cash (Testnet)";
18
- Chains["StellarMainnet"] = "Stellar";
19
- Chains["StellarTestnet"] = "Stellar (Testnet)";
20
- Chains["ProtonMainnet"] = "Proton";
21
- Chains["ProtonTestnet"] = "Proton (Testnet)";
22
- Chains["PolkadotMainnet"] = "Polkadot";
23
- Chains["BinanceBEP2"] = "Binance (BEP2)";
24
- Chains["BinanceBEP20"] = "Binance (BEP20)";
25
- Chains["EosMainnet"] = "EOS";
26
- Chains["EosTestnet"] = "EOS (Jungle Testnet)";
27
- Chains["HederaMainnet"] = "Hedera (Mainnet)";
28
- Chains["HederaTestnet"] = "Hedera (Testnet)";
29
- Chains["DogeMainnet"] = "Dogecoin";
30
- Chains["CardanoMainnet"] = "Cardano";
31
- Chains["AvalancheXChain"] = "Avalanche X-Chain";
32
- Chains["AvalancheCChain"] = "Avalanche C-Chain";
33
- Chains["PolygonMainnet"] = "Polygon";
34
- Chains["TerraMainnet"] = "Terra";
35
- Chains["RippleMainnet"] = "Ripple";
36
- Chains["SolanaMainnet"] = "Solana";
37
- Chains["XDCMainnet"] = "XDC Network";
38
- Chains["MetalXTestnet"] = "Metal X-Chain (Testnet)";
39
- Chains["MetalCTestnet"] = "Metal C-Chain (Testnet)";
40
- Chains["MetalCMainnet"] = "Metal C-Chain";
41
- })(Chains || (Chains = {}));
42
-
43
- var Networks;
44
-
45
- (function (Networks) {
46
- Networks["Mainnet"] = "mainnet";
47
- Networks["Testnet"] = "testnet";
48
- Networks["Ropsten"] = "ropsten";
49
- Networks["ERC20"] = "erc20";
50
- Networks["BEP20"] = "bep20";
51
- Networks["XLM"] = "xlm";
52
- Networks["AVM"] = "avm";
53
- Networks["EVM"] = "evm";
54
- })(Networks || (Networks = {}));
55
-
56
- var similarChains = (_similarChains = {}, _similarChains[Chains.EthereumMainnet] = [Chains.BinanceBEP20], _similarChains[Chains.BinanceBEP20] = [Chains.EthereumMainnet], _similarChains);
57
- var Providers;
58
-
59
- (function (Providers) {
60
- Providers["FIREBLOCKS"] = "fireblocks";
61
- Providers["METAL"] = "metal";
62
- })(Providers || (Providers = {}));
63
-
64
- var explorerLinkByChain = (_explorerLinkByChain = {}, _explorerLinkByChain[Chains.BitcoinMainnet] = function (txid) {
65
- return "https://blockchain.com/btc/tx/" + txid;
66
- }, _explorerLinkByChain[Chains.BitcoinTestnet] = function (txid) {
67
- return "https://blockstream.info/testnet/tx/" + txid;
68
- }, _explorerLinkByChain[Chains.EthereumMainnet] = function (txid) {
69
- return "https://etherscan.io/tx/" + txid;
70
- }, _explorerLinkByChain[Chains.EthereumRopsten] = function (txid) {
71
- return "https://ropsten.etherscan.io/tx/" + txid;
72
- }, _explorerLinkByChain[Chains.LitecoinMainnet] = function (txid) {
73
- return "https://blockchair.com/litecoin/transaction/" + txid;
74
- }, _explorerLinkByChain[Chains.LitecoinTestnet] = function (txid) {
75
- return "https://blockexplorer.one/litecoin/testnet/blockHash/" + txid;
76
- }, _explorerLinkByChain[Chains.BitcoinCashMainnet] = function (txid) {
77
- return "https://blockchair.com/bitcoin-cash/transaction/" + txid;
78
- }, _explorerLinkByChain[Chains.BitcoinCashTestnet] = function (txid) {
79
- return "https://blockexplorer.one/bitcoin-cash/testnet/blockHash/" + txid;
80
- }, _explorerLinkByChain[Chains.StellarMainnet] = function (txid) {
81
- return "https://blockchair.com/stellar/transaction/" + txid;
82
- }, _explorerLinkByChain[Chains.StellarTestnet] = function (txid) {
83
- return "https://testnet.steexp.com/tx/" + txid;
84
- }, _explorerLinkByChain[Chains.ProtonMainnet] = function (txid, traces) {
85
- return "https://proton.bloks.io/transaction/" + txid + (traces ? '?tab=traces' : '');
86
- }, _explorerLinkByChain[Chains.ProtonTestnet] = function (txid, traces) {
87
- return "https://proton-test.bloks.io/transaction/" + txid + (traces ? '?tab=traces' : '');
88
- }, _explorerLinkByChain[Chains.PolkadotMainnet] = function (txid) {
89
- return "https://polkadot.subscan.io/extrinsic/" + txid;
90
- }, _explorerLinkByChain[Chains.BinanceBEP2] = function (txid) {
91
- return "https://binance.mintscan.io/txs/" + txid;
92
- }, _explorerLinkByChain[Chains.BinanceBEP20] = function (txid) {
93
- return "https://bscscan.com/tx/" + txid;
94
- }, _explorerLinkByChain[Chains.EosMainnet] = function (txid) {
95
- return "https://bloks.io/transaction/" + txid;
96
- }, _explorerLinkByChain[Chains.EosTestnet] = function (txid) {
97
- return "https://jungle.bloks.io/transaction/" + txid;
98
- }, _explorerLinkByChain[Chains.HederaMainnet] = function (txid) {
99
- return "https://app.dragonglass.me/transactions/" + txid;
100
- }, _explorerLinkByChain[Chains.HederaTestnet] = function (txid) {
101
- return "https://testnet.dragonglass.me/transactions/" + txid;
102
- }, _explorerLinkByChain[Chains.DogeMainnet] = function (txid) {
103
- return "https://blockchair.com/dogecoin/transaction/" + txid;
104
- }, _explorerLinkByChain[Chains.CardanoMainnet] = function (txid) {
105
- return "https://explorer.cardano.org/en/transaction?id=" + txid;
106
- }, _explorerLinkByChain[Chains.AvalancheXChain] = function (txid) {
107
- return "https://avascan.info/blockchain/x/tx/" + txid;
108
- }, _explorerLinkByChain[Chains.AvalancheCChain] = function (txid) {
109
- return "https://snowtrace.io/tx/" + txid;
110
- }, _explorerLinkByChain[Chains.PolygonMainnet] = function (txid) {
111
- return "https://polygonscan.com/tx/" + txid;
112
- }, _explorerLinkByChain[Chains.TerraMainnet] = function (txid) {
113
- return "https://terra.stake.id/?#/tx/" + txid;
114
- }, _explorerLinkByChain[Chains.RippleMainnet] = function (txid) {
115
- return "https://xrpscan.com/tx/" + txid;
116
- }, _explorerLinkByChain[Chains.SolanaMainnet] = function (txid) {
117
- return "https://explorer.solana.com/tx/" + txid;
118
- }, _explorerLinkByChain[Chains.MetalXTestnet] = function (txid) {
119
- return "https://metalscan.io/tx/" + txid;
120
- }, _explorerLinkByChain[Chains.MetalCTestnet] = function (txid) {
121
- return "https://tahoe.metaltrace.io/tx/" + txid;
122
- }, _explorerLinkByChain[Chains.MetalCMainnet] = function (txid) {
123
- return "https://metalscan.io/tx/" + txid;
124
- }, _explorerLinkByChain);
125
- var protonExplorerTxUrl = function protonExplorerTxUrl(chain, txId, traces) {
126
- return chain === 'proton' ? explorerLinkByChain[Chains.ProtonMainnet](txId, traces) : explorerLinkByChain[Chains.ProtonTestnet](txId, traces);
127
- }; // Initialize.
128
-
129
- var initializeCoins = function initializeCoins(protonChain) {
130
- var IS_MAINNET = protonChain === 'proton';
131
- var IS_TESTNET = protonChain === 'proton-test';
132
- var coins = [{
133
- allowSwap: true,
134
- allowBridge: IS_MAINNET,
135
- allowLend: true,
136
- allowBorrow: true,
137
- name: 'Proton',
138
- coin: 'XPR',
139
- xtokenSymbol: 'XPR',
140
- xtokenPrecision: 4,
141
- xtokenContract: 'eosio.token',
142
- wallets: [].concat(IS_MAINNET ? [{
143
- wallet: 'XPR-ERC20',
144
- symbol: 'XPR',
145
- chain: Chains.EthereumMainnet,
146
- network: Networks.ERC20,
147
- precision: 4,
148
- contract: '0xD7EFB00D12C2C13131FD319336FDF952525DA2AF',
149
- provider: Providers.FIREBLOCKS,
150
- hasWithdrawMemo: false
151
- }, {
152
- wallet: 'XPR-BEP20',
153
- symbol: 'XPR',
154
- chain: Chains.BinanceBEP20,
155
- network: Networks.BEP20,
156
- precision: 4,
157
- contract: '0x5DE3939B2F811A61D830E6F52D13B066881412AB',
158
- provider: Providers.FIREBLOCKS,
159
- hasWithdrawMemo: false
160
- }] : []),
161
- image: 'https://www.proton.org/images/tokens/eosio-tokenXPR.png',
162
- coingeckoId: 'proton'
163
- }, {
164
- allowSwap: true,
165
- allowBridge: true,
166
- allowLend: true,
167
- allowBorrow: true,
168
- name: 'USD Coin',
169
- coin: 'USDC',
170
- xtokenSymbol: 'XUSDC',
171
- xtokenPrecision: 6,
172
- xtokenContract: 'xtokens',
173
- wallets: [].concat(IS_MAINNET ? [{
174
- wallet: 'USDC',
175
- symbol: 'USDC',
176
- chain: Chains.EthereumMainnet,
177
- network: Networks.ERC20,
178
- precision: 6,
179
- contract: '0xA0B86991C6218B36C1D19D4A2E9EB0CE3606EB48',
180
- provider: Providers.FIREBLOCKS,
181
- hasWithdrawMemo: false
182
- }, // {
183
- // wallet: 'USDC-BEP20',
184
- // symbol: 'USDC',
185
- // chain: Chains.BinanceBEP20,
186
- // network: Networks.BEP20,
187
- // precision: 18,
188
- // contract: '0x8AC76A51CC950D9822D68B83FE1AD97B32CD580D',
189
- // provider: Providers.FIREBLOCKS,
190
- // hasWithdrawMemo: false
191
- // },
192
- {
193
- wallet: 'USDC-XLM',
194
- symbol: 'USDC',
195
- chain: Chains.StellarMainnet,
196
- network: Networks.XLM,
197
- precision: 7,
198
- contract: undefined,
199
- provider: Providers.FIREBLOCKS,
200
- hasWithdrawMemo: true
201
- }] : [], IS_TESTNET ? [{
202
- wallet: 'USDC',
203
- symbol: 'USDC',
204
- chain: Chains.EthereumRopsten,
205
- network: Networks.Ropsten,
206
- precision: 6,
207
- contract: '0xA0B86991C6218B36C1D19D4A2E9EB0CE3606EB48',
208
- provider: Providers.FIREBLOCKS,
209
- hasWithdrawMemo: false
210
- }, {
211
- wallet: 'USDC-XLM',
212
- symbol: 'USDC',
213
- chain: Chains.StellarTestnet,
214
- network: Networks.XLM,
215
- precision: 7,
216
- contract: undefined,
217
- provider: Providers.FIREBLOCKS,
218
- hasWithdrawMemo: true
219
- }] : []),
220
- image: 'https://www.proton.org/images/tokens/xtokensXUSDC.png',
221
- coingeckoId: 'usd-coin'
222
- }, {
223
- allowSwap: true,
224
- allowBridge: IS_MAINNET,
225
- allowLend: true,
226
- allowBorrow: true,
227
- name: 'Metal DAO',
228
- coin: 'MTL',
229
- xtokenSymbol: 'XMT',
230
- xtokenPrecision: 8,
231
- xtokenContract: 'xtokens',
232
- wallets: [].concat(IS_MAINNET ? [{
233
- wallet: 'MTL',
234
- symbol: 'MTL',
235
- chain: Chains.EthereumMainnet,
236
- network: Networks.ERC20,
237
- precision: 8,
238
- contract: '0xF433089366899D83A9F26A773D59EC7ECF30355E',
239
- provider: Providers.FIREBLOCKS,
240
- hasWithdrawMemo: false
241
- }] : []),
242
- image: 'https://www.proton.org/images/tokens/xtokensXMT.png',
243
- coingeckoId: 'metal'
244
- }, {
245
- allowSwap: true,
246
- allowBridge: true,
247
- allowLend: false,
248
- allowBorrow: false,
249
- name: 'Metal Blockchain',
250
- coin: 'METAL',
251
- xtokenSymbol: 'METAL',
252
- xtokenPrecision: 8,
253
- xtokenContract: 'xtokens',
254
- wallets: [].concat(IS_TESTNET ? [{
255
- wallet: 'METAL',
256
- symbol: 'METAL',
257
- chain: Chains.MetalCTestnet,
258
- network: Networks.EVM,
259
- precision: 18,
260
- contract: '',
261
- provider: Providers.METAL,
262
- hasWithdrawMemo: false
263
- }] : [], IS_MAINNET ? [{
264
- wallet: 'METAL',
265
- symbol: 'METAL',
266
- chain: Chains.MetalCMainnet,
267
- network: Networks.EVM,
268
- precision: 18,
269
- contract: '',
270
- provider: Providers.METAL,
271
- hasWithdrawMemo: false
272
- }, {
273
- wallet: 'METAL',
274
- symbol: 'METAL',
275
- chain: Chains.EthereumMainnet,
276
- network: Networks.ERC20,
277
- precision: 18,
278
- contract: '',
279
- provider: Providers.FIREBLOCKS,
280
- hasWithdrawMemo: false
281
- }] : []),
282
- image: 'https://raw.githubusercontent.com/eoscafe/eos-airdrops/master/logos/metal-chain.png',
283
- coingeckoId: 'metal-blockchain'
284
- }, {
285
- allowSwap: true,
286
- allowBridge: true,
287
- allowLend: true,
288
- allowBorrow: true,
289
- name: 'Bitcoin',
290
- coin: 'BTC',
291
- xtokenSymbol: 'XBTC',
292
- xtokenPrecision: 8,
293
- xtokenContract: 'xtokens',
294
- wallets: [].concat(IS_MAINNET ? [{
295
- wallet: 'BTC',
296
- symbol: 'BTC',
297
- chain: Chains.BitcoinMainnet,
298
- network: Networks.Mainnet,
299
- precision: 8,
300
- contract: undefined,
301
- provider: Providers.FIREBLOCKS,
302
- hasWithdrawMemo: false
303
- }] : [], IS_TESTNET ? [{
304
- wallet: 'BTC',
305
- symbol: 'BTC',
306
- chain: Chains.BitcoinTestnet,
307
- network: Networks.Testnet,
308
- precision: 8,
309
- contract: undefined,
310
- provider: Providers.FIREBLOCKS,
311
- hasWithdrawMemo: false
312
- }] : []),
313
- image: 'https://www.proton.org/images/tokens/xtokensXBTC.png',
314
- coingeckoId: 'bitcoin'
315
- }, {
316
- allowSwap: true,
317
- allowBridge: true,
318
- allowLend: true,
319
- allowBorrow: true,
320
- name: 'Ethereum',
321
- coin: 'ETH',
322
- xtokenSymbol: 'XETH',
323
- xtokenPrecision: 8,
324
- xtokenContract: 'xtokens',
325
- wallets: [].concat(IS_MAINNET ? [{
326
- wallet: 'ETH',
327
- symbol: 'ETH',
328
- chain: Chains.EthereumMainnet,
329
- network: Networks.Mainnet,
330
- precision: 18,
331
- contract: '0x0000000000000000000000000000000000000000',
332
- provider: Providers.FIREBLOCKS,
333
- hasWithdrawMemo: false
334
- }] : [], IS_TESTNET ? [{
335
- wallet: 'ETH',
336
- symbol: 'ETH',
337
- chain: Chains.EthereumRopsten,
338
- network: Networks.Ropsten,
339
- precision: 18,
340
- contract: '0x0000000000000000000000000000000000000000',
341
- provider: Providers.FIREBLOCKS,
342
- hasWithdrawMemo: false
343
- }] : []),
344
- image: 'https://www.proton.org/images/tokens/xtokensXETH.png',
345
- coingeckoId: 'ethereum'
346
- }, {
347
- allowSwap: true,
348
- allowBridge: false,
349
- allowLend: false,
350
- allowBorrow: false,
351
- name: 'Loan',
352
- coin: 'LOAN',
353
- xtokenSymbol: 'LOAN',
354
- xtokenPrecision: 4,
355
- xtokenContract: 'loan.token',
356
- wallets: [],
357
- image: 'https://raw.githubusercontent.com/eoscafe/eos-airdrops/master/logos/loan.png',
358
- coingeckoId: 'proton-loan'
359
- }, {
360
- allowSwap: true,
361
- allowBridge: true,
362
- allowLend: false,
363
- allowBorrow: false,
364
- name: 'Tether',
365
- coin: 'USDT',
366
- xtokenSymbol: 'XUSDT',
367
- xtokenPrecision: 6,
368
- xtokenContract: 'xtokens',
369
- wallets: [].concat(IS_MAINNET ? [{
370
- wallet: 'USDT',
371
- symbol: 'USDT',
372
- chain: Chains.EthereumMainnet,
373
- network: Networks.ERC20,
374
- precision: 6,
375
- contract: '0xDAC17F958D2EE523A2206206994597C13D831EC7',
376
- provider: Providers.FIREBLOCKS,
377
- hasWithdrawMemo: false
378
- }] : [], IS_MAINNET ? [{
379
- wallet: 'USDT-BEP20',
380
- symbol: 'USDT',
381
- chain: Chains.BinanceBEP20,
382
- network: Networks.BEP20,
383
- precision: 18,
384
- contract: '0x55d398326f99059fF775485246999027B3197955',
385
- provider: Providers.FIREBLOCKS,
386
- hasWithdrawMemo: false
387
- }] : [], IS_TESTNET ? [{
388
- wallet: 'USDT',
389
- symbol: 'USDT',
390
- chain: Chains.EthereumRopsten,
391
- network: Networks.Ropsten,
392
- precision: 6,
393
- contract: '0xDAC17F958D2EE523A2206206994597C13D831EC7',
394
- provider: Providers.FIREBLOCKS,
395
- hasWithdrawMemo: false
396
- }] : []),
397
- image: 'https://www.proton.org/images/tokens/xtokensXUSDT.png',
398
- coingeckoId: 'tether'
399
- }, {
400
- allowSwap: false,
401
- allowBridge: IS_MAINNET,
402
- allowLend: false,
403
- allowBorrow: false,
404
- name: 'TrueUSD',
405
- coin: 'TUSD',
406
- xtokenSymbol: 'XTUSD',
407
- xtokenPrecision: 6,
408
- xtokenContract: 'xtokens',
409
- wallets: [].concat(IS_MAINNET ? [{
410
- wallet: 'TUSD',
411
- symbol: 'TUSD',
412
- chain: Chains.EthereumMainnet,
413
- network: Networks.ERC20,
414
- precision: 18,
415
- contract: '0x0000000000085D4780B73119B644AE5ECD22B376',
416
- provider: Providers.FIREBLOCKS,
417
- hasWithdrawMemo: false
418
- }] : []),
419
- image: 'https://www.proton.org/images/tokens/xtokensXTUSD.png',
420
- coingeckoId: 'true-usd'
421
- }, {
422
- allowSwap: false,
423
- allowBridge: IS_MAINNET,
424
- allowLend: false,
425
- allowBorrow: false,
426
- name: 'Euro Coin',
427
- coin: 'EUROC',
428
- xtokenSymbol: 'XEUROC',
429
- xtokenPrecision: 6,
430
- xtokenContract: 'xtokens',
431
- wallets: [].concat(IS_MAINNET ? [{
432
- wallet: 'EUROC',
433
- symbol: 'EUROC-ERC20',
434
- chain: Chains.EthereumMainnet,
435
- network: Networks.ERC20,
436
- precision: 6,
437
- contract: '0x1aBaEA1f7C830bD89Acc67eC4af516284b1bC33c',
438
- provider: Providers.FIREBLOCKS,
439
- hasWithdrawMemo: false
440
- }] : []),
441
- image: 'https://assets.coingecko.com/coins/images/26045/small/euro-coin.png?1655394420',
442
- coingeckoId: 'euro-coin'
443
- }, // {
444
- // allowSwap: false,
445
- // allowBridge: IS_MAINNET,
446
- // allowLend: false,
447
- // allowBorrow: false,
448
- // name: 'XDC Network',
449
- // coin: 'XDC',
450
- // xtokenSymbol: 'XDC',
451
- // xtokenPrecision: 4,
452
- // xtokenContract: 'xtokens',
453
- // wallets: [
454
- // ...(IS_MAINNET ? [{
455
- // wallet: 'XDC',
456
- // symbol: 'XDC',
457
- // chain: Chains.XDCMainnet,
458
- // network: Networks.Mainnet,
459
- // precision: 18,
460
- // contract: '',
461
- // provider: Providers.FIREBLOCKS,
462
- // hasWithdrawMemo: false
463
- // }]: [])
464
- // ],
465
- // image: 'https://assets.coingecko.com/coins/images/2912/small/xdc-icon.png?1633700890',
466
- // coingeckoId: 'xdce-crowd-sale'
467
- // },
468
- {
469
- allowSwap: false,
470
- allowBridge: IS_MAINNET,
471
- allowLend: false,
472
- allowBorrow: false,
473
- name: 'Paxos Dollar',
474
- coin: 'PAX',
475
- xtokenSymbol: 'XPAX',
476
- xtokenPrecision: 6,
477
- xtokenContract: 'xtokens',
478
- wallets: [].concat(IS_MAINNET ? [{
479
- wallet: 'PAX',
480
- symbol: 'PAX',
481
- chain: Chains.EthereumMainnet,
482
- network: Networks.ERC20,
483
- precision: 18,
484
- contract: '0x8E870D67F660D95D5BE530380D0EC0BD388289E1',
485
- provider: Providers.FIREBLOCKS,
486
- hasWithdrawMemo: false
487
- }] : []),
488
- image: 'https://www.proton.org/images/tokens/xtokensXPAX.png',
489
- coingeckoId: 'paxos-standard'
490
- }, {
491
- allowSwap: false,
492
- allowBridge: true,
493
- allowLend: false,
494
- allowBorrow: false,
495
- name: 'Paxos Gold',
496
- coin: 'PAXG',
497
- xtokenSymbol: 'XPAXG',
498
- xtokenPrecision: 8,
499
- xtokenContract: 'xtokens',
500
- wallets: [].concat(IS_MAINNET ? [{
501
- wallet: 'PAXG',
502
- symbol: 'PAXG',
503
- chain: Chains.EthereumMainnet,
504
- network: Networks.ERC20,
505
- precision: 18,
506
- contract: '0x45804880DE22913DAFE09F4980848ECE6ECBAF78',
507
- provider: Providers.FIREBLOCKS,
508
- hasWithdrawMemo: false
509
- }] : [], IS_TESTNET ? [{
510
- wallet: 'PAXG',
511
- symbol: 'PAXG',
512
- chain: Chains.EthereumRopsten,
513
- network: Networks.Ropsten,
514
- precision: 18,
515
- contract: '0x45804880DE22913DAFE09F4980848ECE6ECBAF78',
516
- provider: Providers.FIREBLOCKS,
517
- hasWithdrawMemo: false
518
- }] : []),
519
- image: 'https://www.proton.org/images/tokens/xtokensXPAXG.png',
520
- coingeckoId: 'pax-gold'
521
- }, {
522
- allowSwap: IS_MAINNET,
523
- allowBridge: false,
524
- allowLend: false,
525
- allowBorrow: false,
526
- name: 'Storex',
527
- coin: 'STRX',
528
- xtokenSymbol: 'STRX',
529
- xtokenPrecision: 4,
530
- xtokenContract: 'storex',
531
- wallets: [],
532
- image: 'https://raw.githubusercontent.com/eoscafe/eos-airdrops/master/logos/strx.png',
533
- coingeckoId: ''
534
- }, {
535
- allowSwap: IS_MAINNET,
536
- allowBridge: false,
537
- allowLend: false,
538
- allowBorrow: false,
539
- name: 'Mint',
540
- coin: 'MINT',
541
- xtokenSymbol: 'MINT',
542
- xtokenPrecision: 4,
543
- xtokenContract: 'protonmint',
544
- wallets: [],
545
- image: 'https://raw.githubusercontent.com/eoscafe/eos-airdrops/master/logos/PMLogo-04.png',
546
- coingeckoId: ''
547
- }, {
548
- allowSwap: IS_MAINNET,
549
- allowBridge: false,
550
- allowLend: false,
551
- allowBorrow: false,
552
- name: 'Snipcoins',
553
- coin: 'SNIPS',
554
- xtokenSymbol: 'SNIPS',
555
- xtokenPrecision: 4,
556
- xtokenContract: 'snipcoins',
557
- wallets: [],
558
- image: 'https://raw.githubusercontent.com/eoscafe/eos-airdrops/master/logos/snips.png',
559
- coingeckoId: ''
560
- }, {
561
- allowSwap: IS_MAINNET,
562
- allowBridge: true,
563
- allowLend: false,
564
- allowBorrow: false,
565
- name: 'Uniswap',
566
- coin: 'UNI',
567
- xtokenSymbol: 'XUNI',
568
- xtokenPrecision: 6,
569
- xtokenContract: 'xtokens',
570
- wallets: [].concat(IS_MAINNET ? [{
571
- wallet: 'UNI',
572
- symbol: 'UNI',
573
- chain: Chains.EthereumMainnet,
574
- network: Networks.ERC20,
575
- precision: 18,
576
- contract: '0x1F9840A85D5AF5BF1D1762F925BDADDC4201F984',
577
- provider: Providers.FIREBLOCKS,
578
- hasWithdrawMemo: false
579
- }] : [], IS_TESTNET ? [{
580
- wallet: 'UNI',
581
- symbol: 'UNI',
582
- chain: Chains.EthereumRopsten,
583
- network: Networks.Ropsten,
584
- precision: 18,
585
- contract: '0x1F9840A85D5AF5BF1D1762F925BDADDC4201F984',
586
- provider: Providers.FIREBLOCKS,
587
- hasWithdrawMemo: false
588
- }] : []),
589
- image: 'https://www.proton.org/images/tokens/xtokensXUNI.png',
590
- coingeckoId: 'uniswap'
591
- }, {
592
- allowSwap: false,
593
- allowBridge: false,
594
- allowLend: false,
595
- allowBorrow: false,
596
- name: '1INCH',
597
- coin: '1INCH',
598
- xtokenSymbol: 'XINCH',
599
- xtokenPrecision: 6,
600
- xtokenContract: 'xtokens',
601
- wallets: [].concat(IS_MAINNET ? [{
602
- wallet: '1INCH',
603
- symbol: '1INCH',
604
- chain: Chains.EthereumMainnet,
605
- network: Networks.ERC20,
606
- precision: 18,
607
- contract: '0x111111111117DC0AA78B770FA6A738034120C302',
608
- provider: Providers.FIREBLOCKS,
609
- hasWithdrawMemo: false
610
- }] : []),
611
- image: 'https://www.proton.org/images/tokens/xtokensXINCH.png',
612
- coingeckoId: '1inch'
613
- }, {
614
- allowSwap: false,
615
- allowBridge: false,
616
- allowLend: false,
617
- allowBorrow: false,
618
- name: 'Chainlink',
619
- coin: 'LINK',
620
- xtokenSymbol: 'XLINK',
621
- xtokenPrecision: 6,
622
- xtokenContract: 'xtokens',
623
- wallets: [].concat(IS_MAINNET ? [{
624
- wallet: 'LINK',
625
- symbol: 'LINK',
626
- chain: Chains.EthereumMainnet,
627
- network: Networks.ERC20,
628
- precision: 18,
629
- contract: '0x514910771AF9CA656AF840DFF83E8264ECF986CA',
630
- provider: Providers.FIREBLOCKS,
631
- hasWithdrawMemo: false
632
- }] : []),
633
- image: 'https://www.proton.org/images/tokens/xtokensXLINK.png',
634
- coingeckoId: 'chainlink'
635
- }, {
636
- allowSwap: IS_MAINNET,
637
- allowBridge: true,
638
- allowLend: false,
639
- allowBorrow: false,
640
- name: 'Litecoin',
641
- coin: 'LTC',
642
- xtokenSymbol: 'XLTC',
643
- xtokenPrecision: 8,
644
- xtokenContract: 'xtokens',
645
- wallets: [].concat(IS_MAINNET ? [{
646
- wallet: 'LTC',
647
- symbol: 'LTC',
648
- chain: Chains.LitecoinMainnet,
649
- network: Networks.Mainnet,
650
- precision: 8,
651
- contract: undefined,
652
- provider: Providers.FIREBLOCKS,
653
- hasWithdrawMemo: false
654
- }] : [], IS_TESTNET ? [{
655
- wallet: 'LTC',
656
- symbol: 'LTC',
657
- chain: Chains.LitecoinTestnet,
658
- network: Networks.Testnet,
659
- precision: 8,
660
- contract: undefined,
661
- provider: Providers.FIREBLOCKS,
662
- hasWithdrawMemo: false
663
- }] : []),
664
- image: 'https://www.proton.org/images/tokens/xtokensXLTC.png',
665
- coingeckoId: 'litecoin'
666
- }, {
667
- allowSwap: false,
668
- allowBridge: true,
669
- allowLend: false,
670
- allowBorrow: false,
671
- name: 'Bitcoin Cash',
672
- coin: 'BCH',
673
- xtokenSymbol: 'XBCH',
674
- xtokenPrecision: 8,
675
- xtokenContract: 'xtokens',
676
- wallets: [].concat(IS_MAINNET ? [{
677
- wallet: 'BCH',
678
- symbol: 'BCH',
679
- chain: Chains.BitcoinCashMainnet,
680
- network: Networks.Mainnet,
681
- precision: 8,
682
- contract: undefined,
683
- provider: Providers.FIREBLOCKS,
684
- hasWithdrawMemo: false
685
- }] : [], IS_TESTNET ? [{
686
- wallet: 'BCH',
687
- symbol: 'BCH',
688
- chain: Chains.BitcoinCashTestnet,
689
- network: Networks.Testnet,
690
- precision: 8,
691
- contract: undefined,
692
- provider: Providers.FIREBLOCKS,
693
- hasWithdrawMemo: false
694
- }] : []),
695
- image: 'https://www.proton.org/images/tokens/xtokensXBCH.png',
696
- coingeckoId: 'bitcoin-cash'
697
- }, {
698
- allowSwap: true,
699
- allowBridge: true,
700
- allowLend: false,
701
- allowBorrow: false,
702
- name: 'LunarCrush',
703
- coin: 'LUNR',
704
- xtokenSymbol: 'XLUNR',
705
- xtokenPrecision: 4,
706
- xtokenContract: 'xtokens',
707
- wallets: [].concat(IS_MAINNET ? [{
708
- wallet: 'LUNR',
709
- symbol: 'LUNR',
710
- chain: Chains.EthereumMainnet,
711
- network: Networks.ERC20,
712
- precision: 4,
713
- contract: undefined,
714
- provider: Providers.FIREBLOCKS,
715
- hasWithdrawMemo: false
716
- }] : []),
717
- image: 'https://raw.githubusercontent.com/eoscafe/eos-airdrops/master/logos/xlunr.png',
718
- coingeckoId: 'lunr-token'
719
- }, {
720
- allowSwap: false,
721
- allowBridge: IS_TESTNET,
722
- allowLend: false,
723
- allowBorrow: false,
724
- name: 'Stellar',
725
- coin: 'XLM',
726
- xtokenSymbol: 'XXLM',
727
- xtokenPrecision: 6,
728
- xtokenContract: 'xtokens',
729
- wallets: [].concat(IS_MAINNET ? [{
730
- wallet: 'XLM',
731
- symbol: 'XLM',
732
- chain: Chains.StellarMainnet,
733
- network: Networks.Mainnet,
734
- precision: 7,
735
- contract: undefined,
736
- provider: Providers.FIREBLOCKS,
737
- hasWithdrawMemo: true
738
- }] : [], IS_TESTNET ? [{
739
- wallet: 'XLM',
740
- symbol: 'XLM',
741
- chain: Chains.StellarTestnet,
742
- network: Networks.Testnet,
743
- precision: 7,
744
- contract: undefined,
745
- provider: Providers.FIREBLOCKS,
746
- hasWithdrawMemo: true
747
- }] : []),
748
- image: 'https://www.proton.org/images/tokens/xtokensXXLM.png',
749
- coingeckoId: 'stellar'
750
- }, {
751
- allowSwap: false,
752
- allowBridge: false,
753
- allowLend: false,
754
- allowBorrow: false,
755
- name: 'Sense',
756
- coin: 'SENSE',
757
- xtokenSymbol: 'XSENSE',
758
- xtokenPrecision: 4,
759
- xtokenContract: 'sense',
760
- wallets: [],
761
- image: 'https://www.proton.org/images/tokens/senseXSENSE.png',
762
- coingeckoId: 'sense'
763
- }, {
764
- allowSwap: false,
765
- allowBridge: false,
766
- allowLend: false,
767
- allowBorrow: false,
768
- name: 'Polkadot',
769
- coin: 'DOT',
770
- xtokenSymbol: 'XDOT',
771
- xtokenPrecision: 8,
772
- xtokenContract: 'xtokens',
773
- wallets: [].concat(IS_MAINNET ? [{
774
- wallet: 'DOT',
775
- symbol: 'DOT',
776
- chain: Chains.PolkadotMainnet,
777
- network: Networks.Mainnet,
778
- precision: 10,
779
- contract: undefined,
780
- provider: Providers.FIREBLOCKS,
781
- hasWithdrawMemo: false
782
- }] : []),
783
- image: 'https://www.proton.org/images/tokens/xtokensXDOT.png',
784
- coingeckoId: 'polkadot'
785
- }, {
786
- allowSwap: true,
787
- allowBridge: IS_MAINNET,
788
- allowLend: false,
789
- allowBorrow: false,
790
- name: 'Binance Coin',
791
- coin: 'BNB',
792
- xtokenSymbol: 'XBNB',
793
- xtokenPrecision: 8,
794
- xtokenContract: 'xtokens',
795
- wallets: [].concat(IS_MAINNET ? [{
796
- wallet: 'BNB',
797
- symbol: 'BNB',
798
- chain: Chains.BinanceBEP20,
799
- network: Networks.BEP20,
800
- precision: 18,
801
- contract: undefined,
802
- provider: Providers.FIREBLOCKS,
803
- hasWithdrawMemo: false
804
- }] : []),
805
- image: 'https://www.proton.org/images/tokens/xtokensXBNB.png',
806
- coingeckoId: 'binancecoin'
807
- }, {
808
- allowSwap: false,
809
- allowBridge: false,
810
- allowLend: false,
811
- allowBorrow: false,
812
- name: 'Binance USD',
813
- coin: 'BUSD',
814
- xtokenSymbol: 'XBUSD',
815
- xtokenPrecision: 6,
816
- xtokenContract: 'xtokens',
817
- wallets: [// ...(IS_MAINNET ? [{
818
- // wallet: 'BUSD-BEP20',
819
- // symbol: 'BUSD',
820
- // chain: Chains.BinanceBEP20,
821
- // network: Networks.BEP20,
822
- // precision: 18,
823
- // contract: '0xe9e7cea3dedca5984780bafc599bd69add087d56',
824
- // provider: Providers.FIREBLOCKS,
825
- // hasWithdrawMemo: false
826
- // }]: [])
827
- ],
828
- image: 'https://raw.githubusercontent.com/eoscafe/eos-airdrops/master/logos/xbusd.png',
829
- coingeckoId: 'binance-usd'
830
- }, {
831
- allowSwap: true,
832
- allowBridge: true,
833
- allowLend: false,
834
- allowBorrow: false,
835
- name: 'EOS',
836
- coin: 'EOS',
837
- xtokenSymbol: 'XEOS',
838
- xtokenPrecision: 4,
839
- xtokenContract: 'xtokens',
840
- wallets: [].concat(IS_MAINNET ? [{
841
- wallet: 'EOS',
842
- symbol: 'EOS',
843
- chain: Chains.EosMainnet,
844
- network: Networks.Mainnet,
845
- precision: 4,
846
- contract: undefined,
847
- provider: Providers.FIREBLOCKS,
848
- hasWithdrawMemo: true
849
- }] : [], IS_TESTNET ? [{
850
- wallet: 'EOS',
851
- symbol: 'EOS',
852
- chain: Chains.EosTestnet,
853
- network: Networks.Testnet,
854
- precision: 4,
855
- contract: undefined,
856
- provider: Providers.FIREBLOCKS,
857
- hasWithdrawMemo: true
858
- }] : []),
859
- image: 'https://www.proton.org/images/tokens/xtokensXEOS.png',
860
- coingeckoId: 'eos'
861
- }, {
862
- allowSwap: IS_MAINNET,
863
- allowBridge: IS_MAINNET,
864
- allowLend: true,
865
- allowBorrow: true,
866
- name: 'Dogecoin',
867
- coin: 'DOGE',
868
- xtokenSymbol: 'XDOGE',
869
- xtokenPrecision: 6,
870
- xtokenContract: 'xtokens',
871
- wallets: [].concat(IS_MAINNET ? [{
872
- wallet: 'DOGE',
873
- symbol: 'DOGE',
874
- chain: Chains.DogeMainnet,
875
- network: Networks.Mainnet,
876
- precision: 8,
877
- contract: undefined,
878
- provider: Providers.FIREBLOCKS,
879
- hasWithdrawMemo: false
880
- }] : []),
881
- image: 'https://www.proton.org/images/tokens/xtokensXDOGE.png',
882
- coingeckoId: 'dogecoin'
883
- }, {
884
- allowSwap: IS_MAINNET,
885
- allowBridge: IS_MAINNET,
886
- allowLend: false,
887
- allowBorrow: false,
888
- name: 'Cardano',
889
- coin: 'ADA',
890
- xtokenSymbol: 'XADA',
891
- xtokenPrecision: 6,
892
- xtokenContract: 'xtokens',
893
- wallets: [].concat(IS_MAINNET ? [{
894
- wallet: 'ADA',
895
- symbol: 'ADA',
896
- chain: Chains.CardanoMainnet,
897
- network: Networks.Mainnet,
898
- precision: 6,
899
- contract: undefined,
900
- provider: Providers.FIREBLOCKS,
901
- hasWithdrawMemo: false
902
- }] : []),
903
- image: 'https://www.proton.org/images/tokens/xtokensXADA.png',
904
- coingeckoId: 'cardano'
905
- }, // Adding
906
- {
907
- allowSwap: false,
908
- allowBridge: false,
909
- allowLend: false,
910
- allowBorrow: false,
911
- name: 'Terra',
912
- coin: 'LUNA',
913
- xtokenSymbol: 'XLUNA',
914
- xtokenPrecision: 6,
915
- xtokenContract: 'xtokens',
916
- wallets: [// ...(IS_MAINNET ? [{
917
- // wallet: 'LUNA',
918
- // symbol: 'LUNA',
919
- // chain: Chains.TerraMainnet,
920
- // network: Networks.Mainnet,
921
- // precision: 6,
922
- // contract: undefined,
923
- // provider: Providers.FIREBLOCKS,
924
- // hasWithdrawMemo: true
925
- // }]: [])
926
- ],
927
- image: 'https://www.proton.org/images/tokens/xtokensXLUNA.png',
928
- coingeckoId: 'terra-luna'
929
- }, {
930
- allowSwap: false,
931
- allowBridge: false,
932
- allowLend: false,
933
- allowBorrow: false,
934
- name: 'TerraUSD',
935
- coin: 'UST',
936
- xtokenSymbol: 'XUST',
937
- xtokenPrecision: 6,
938
- xtokenContract: 'xtokens',
939
- wallets: [].concat(IS_MAINNET ? [{
940
- wallet: 'UST',
941
- symbol: 'UST',
942
- chain: Chains.TerraMainnet,
943
- network: Networks.Mainnet,
944
- precision: 6,
945
- contract: undefined,
946
- provider: Providers.FIREBLOCKS,
947
- hasWithdrawMemo: true
948
- }] : []),
949
- image: 'https://www.proton.org/images/tokens/xtokensXUST.png',
950
- coingeckoId: 'terrausd'
951
- }, {
952
- allowSwap: false,
953
- allowBridge: IS_MAINNET,
954
- allowLend: false,
955
- allowBorrow: false,
956
- name: 'Solana',
957
- coin: 'SOL',
958
- xtokenSymbol: 'XSOL',
959
- xtokenPrecision: 6,
960
- xtokenContract: 'xtokens',
961
- wallets: [].concat(IS_MAINNET ? [{
962
- wallet: 'SOL',
963
- symbol: 'SOL',
964
- chain: Chains.SolanaMainnet,
965
- network: Networks.Mainnet,
966
- precision: 9,
967
- contract: undefined,
968
- provider: Providers.FIREBLOCKS,
969
- hasWithdrawMemo: false
970
- }] : []),
971
- image: 'https://raw.githubusercontent.com/eoscafe/eos-airdrops/master/logos/xsol.png',
972
- coingeckoId: 'solana'
973
- }, {
974
- allowSwap: false,
975
- allowBridge: IS_MAINNET,
976
- allowLend: false,
977
- allowBorrow: false,
978
- name: 'Ripple',
979
- coin: 'XRP',
980
- xtokenSymbol: 'XXRP',
981
- xtokenPrecision: 6,
982
- xtokenContract: 'xtokens',
983
- wallets: [].concat(IS_MAINNET ? [{
984
- wallet: 'XRP',
985
- symbol: 'XRP',
986
- chain: Chains.RippleMainnet,
987
- network: Networks.Mainnet,
988
- precision: 6,
989
- contract: undefined,
990
- provider: Providers.FIREBLOCKS,
991
- hasWithdrawMemo: true
992
- }] : []),
993
- image: 'https://raw.githubusercontent.com/eoscafe/eos-airdrops/master/logos/xxrp.png',
994
- coingeckoId: 'ripple'
995
- }, // Future
996
- {
997
- allowSwap: false,
998
- allowBridge: false,
999
- allowLend: false,
1000
- allowBorrow: false,
1001
- name: 'Avalanche',
1002
- coin: 'AVAX',
1003
- xtokenSymbol: 'XAVAX',
1004
- xtokenPrecision: 9,
1005
- xtokenContract: 'xtokens',
1006
- wallets: [].concat(IS_MAINNET ? [{
1007
- wallet: 'AVAX',
1008
- symbol: 'AVAX',
1009
- chain: Chains.AvalancheCChain,
1010
- network: Networks.Mainnet,
1011
- precision: 9,
1012
- contract: undefined,
1013
- provider: Providers.FIREBLOCKS,
1014
- hasWithdrawMemo: false
1015
- }] : []),
1016
- image: 'https://www.proton.org/images/tokens/xtokensXAVAX.png',
1017
- coingeckoId: 'avalanche-2'
1018
- }, {
1019
- allowSwap: false,
1020
- allowBridge: false,
1021
- allowLend: false,
1022
- allowBorrow: false,
1023
- name: 'Polygon',
1024
- coin: 'MATIC',
1025
- xtokenSymbol: 'XMATIC',
1026
- xtokenPrecision: 8,
1027
- xtokenContract: 'xtokens',
1028
- wallets: [].concat(IS_MAINNET ? [{
1029
- wallet: 'MATIC',
1030
- symbol: 'MATIC',
1031
- chain: Chains.PolygonMainnet,
1032
- network: Networks.Mainnet,
1033
- precision: 18,
1034
- contract: '0x0000000000000000000000000000000000000000',
1035
- provider: Providers.FIREBLOCKS,
1036
- hasWithdrawMemo: false
1037
- }] : []),
1038
- image: 'https://www.proton.org/images/tokens/xtokensXMATIC.png',
1039
- coingeckoId: 'matic-network'
1040
- }, {
1041
- allowSwap: true,
1042
- allowBridge: false,
1043
- allowLend: false,
1044
- allowBorrow: false,
1045
- name: 'Metal Dollar',
1046
- coin: 'XMD',
1047
- xtokenSymbol: 'XMD',
1048
- xtokenPrecision: 6,
1049
- xtokenContract: 'xmd.token',
1050
- wallets: [],
1051
- image: 'https://github.com/eoscafe/eos-airdrops/blob/master/logos/xmd.png?raw=true',
1052
- coingeckoId: ''
1053
- }, {
1054
- allowSwap: false,
1055
- allowBridge: IS_TESTNET,
1056
- allowLend: false,
1057
- allowBorrow: false,
1058
- name: 'HBAR',
1059
- coin: 'HBAR',
1060
- xtokenSymbol: 'XHBAR',
1061
- xtokenPrecision: 6,
1062
- xtokenContract: 'xtokens',
1063
- wallets: [].concat(IS_TESTNET ? [{
1064
- wallet: 'HBAR',
1065
- symbol: 'HBAR',
1066
- chain: Chains.HederaTestnet,
1067
- network: Networks.Testnet,
1068
- precision: 8,
1069
- contract: undefined,
1070
- provider: Providers.FIREBLOCKS,
1071
- hasWithdrawMemo: true
1072
- }] : []),
1073
- image: 'https://www.proton.org/images/tokens/xtokensXHBAR.png',
1074
- coingeckoId: 'hedera-hashgraph'
1075
- }]; // Validation
1076
-
1077
- var walletWithDuplicateChains = coins.find(function (coin) {
1078
- var chains = coin.wallets.map(function (wallet) {
1079
- return wallet.chain;
1080
- });
1081
- return new Set(chains).size !== chains.length;
1082
- });
1083
-
1084
- if (walletWithDuplicateChains) {
1085
- throw new Error("Coin " + walletWithDuplicateChains.coin + " has duplicate chains in wallet");
1086
- }
1087
-
1088
- return {
1089
- allCoins: coins,
1090
- swapCoins: coins.filter(function (coin) {
1091
- return coin.allowSwap;
1092
- }),
1093
- bridgeCoins: coins.filter(function (coin) {
1094
- return coin.allowBridge;
1095
- }),
1096
- lendCoins: coins.filter(function (coin) {
1097
- return coin.allowLend;
1098
- }),
1099
- borrowCoins: coins.filter(function (coin) {
1100
- return coin.allowBorrow;
1101
- }),
1102
- loanCoins: coins.filter(function (coin) {
1103
- return coin.allowLend || coin.allowBorrow;
1104
- }),
1105
- allEnabledCoins: coins.filter(function (coin) {
1106
- return coin.allowSwap || coin.allowBridge || coin.xtokenSymbol === 'XMD';
1107
- })
1108
- };
1109
- };
1110
-
1111
- var accountParser = /*#__PURE__*/string().regex(/^[.1-5a-z]{0,12}[.1-5a-j]?$/);
1112
- var authorizationParser = /*#__PURE__*/object({
1113
- actor: accountParser,
1114
- permission: /*#__PURE__*/string()
1115
- });
1116
- var authorizationsParser = /*#__PURE__*/array(authorizationParser).min(1);
1117
- var ExtendedAssetParser = /*#__PURE__*/object({
1118
- quantity: /*#__PURE__*/string(),
1119
- contract: accountParser
1120
- });
1121
-
1122
- var actionParser = /*#__PURE__*/object({
1123
- account: /*#__PURE__*/string(),
1124
- name: /*#__PURE__*/string(),
1125
- authorization: /*#__PURE__*/array( /*#__PURE__*/object({
1126
- actor: /*#__PURE__*/string(),
1127
- permission: /*#__PURE__*/string()
1128
- })),
1129
- data: /*#__PURE__*/any(),
1130
- hex_data: /*#__PURE__*/string().optional()
1131
- });
1132
- var transactionExtensionsParser = /*#__PURE__*/array(number().or(string())).optional();
1133
- var rawTransactionParser = /*#__PURE__*/object({
1134
- expiration: /*#__PURE__*/string(),
1135
- ref_block_num: /*#__PURE__*/number(),
1136
- ref_block_prefix: /*#__PURE__*/number(),
1137
- max_net_usage_words: /*#__PURE__*/number(),
1138
- max_cpu_usage_ms: /*#__PURE__*/number(),
1139
- delay_sec: /*#__PURE__*/number(),
1140
- context_free_actions: /*#__PURE__*/array(actionParser),
1141
- transaction_extensions: /*#__PURE__*/array(transactionExtensionsParser)
1142
- });
1143
- var baseActionParser = function baseActionParser(contract, action, data) {
1144
- return object({
1145
- account: contract === '*' ? accountParser : literal(contract),
1146
- name: literal(action),
1147
- data: object(data),
1148
- authorization: authorizationsParser
1149
- });
1150
- };
1151
- var baseActionSerializedParser = function baseActionSerializedParser(contract, action, data) {
1152
- return object({
1153
- account: contract === '*' ? accountParser : literal(contract),
1154
- name: literal(action),
1155
- data: string().or(object(data)),
1156
- authorization: authorizationsParser
1157
- });
1158
- };
1159
- var webauthActionParser = function webauthActionParser(contract, action, data) {
1160
- return object({
1161
- account: literal('webauthn'),
1162
- name: literal('exec'),
1163
- data: object({
1164
- account: accountParser,
1165
- key: object({
1166
- key: array(string().or(object({
1167
- modulus: string(),
1168
- exponent: string()
1169
- }))),
1170
- user_presence: number(),
1171
- rpid: string()
1172
- }),
1173
- nonce: number(),
1174
- permissions: authorizationsParser,
1175
- signature: object({
1176
- auth_data: string(),
1177
- client_json: string(),
1178
- signature: string()
1179
- }),
1180
- trx: rawTransactionParser.merge(object({
1181
- actions: array(baseActionSerializedParser(contract, action, data)).length(1)
1182
- }))
1183
- }),
1184
- authorization: authorizationsParser
1185
- });
1186
- };
1187
- var singleActionTransactionParser = function singleActionTransactionParser(contract, action, data) {
1188
- var baseAction = baseActionParser(contract, action, data);
1189
- var webauthAction = webauthActionParser(contract, action, data);
1190
- return rawTransactionParser.merge(object({
1191
- actions: array(baseAction.or(webauthAction)).length(1)
1192
- }));
1193
- };
1194
-
1195
- function _extends() {
1196
- _extends = Object.assign ? Object.assign.bind() : function (target) {
1197
- for (var i = 1; i < arguments.length; i++) {
1198
- var source = arguments[i];
1199
-
1200
- for (var key in source) {
1201
- if (Object.prototype.hasOwnProperty.call(source, key)) {
1202
- target[key] = source[key];
1203
- }
1204
- }
1205
- }
1206
-
1207
- return target;
1208
- };
1209
- return _extends.apply(this, arguments);
1210
- }
1211
-
1212
- function _unsupportedIterableToArray(o, minLen) {
1213
- if (!o) return;
1214
- if (typeof o === "string") return _arrayLikeToArray(o, minLen);
1215
- var n = Object.prototype.toString.call(o).slice(8, -1);
1216
- if (n === "Object" && o.constructor) n = o.constructor.name;
1217
- if (n === "Map" || n === "Set") return Array.from(o);
1218
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
1219
- }
1220
-
1221
- function _arrayLikeToArray(arr, len) {
1222
- if (len == null || len > arr.length) len = arr.length;
1223
-
1224
- for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
1225
-
1226
- return arr2;
1227
- }
1228
-
1229
- function _createForOfIteratorHelperLoose(o, allowArrayLike) {
1230
- var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
1231
- if (it) return (it = it.call(o)).next.bind(it);
1232
-
1233
- if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
1234
- if (it) o = it;
1235
- var i = 0;
1236
- return function () {
1237
- if (i >= o.length) return {
1238
- done: true
1239
- };
1240
- return {
1241
- done: false,
1242
- value: o[i++]
1243
- };
1244
- };
1245
- }
1246
-
1247
- throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
1248
- }
1249
-
1250
- var WRAP_CONTRACT = 'proton.wrap';
1251
- var WRAP_AUTH_ACTION = 'generateauth';
1252
- var FEE_FACTOR = 10000;
1253
- var initializeConstants = function initializeConstants(chain) {
1254
- var _initializeCoins = initializeCoins(chain),
1255
- swapCoins = _initializeCoins.swapCoins,
1256
- bridgeCoins = _initializeCoins.bridgeCoins,
1257
- allEnabledCoins = _initializeCoins.allEnabledCoins,
1258
- allCoins = _initializeCoins.allCoins,
1259
- lendCoins = _initializeCoins.lendCoins,
1260
- borrowCoins = _initializeCoins.borrowCoins,
1261
- loanCoins = _initializeCoins.loanCoins;
1262
-
1263
- var constants = {
1264
- SWAP_CONTRACT: 'proton.swaps',
1265
- DEX_CONTRACT: 'dex',
1266
- FEE_FACTOR: FEE_FACTOR,
1267
- GOOGLE_MAPS_KEY: 'AIzaSyDb2_CrK032kSIqBXbkdwmaLKWELl0SxVs',
1268
- SWAP_URL: chain === 'proton' ? 'https://otc.protonswap.com' : 'https://otc-test.protonswap.com',
1269
- WRAP_SERVER_URL: chain === 'proton' ? 'https://www.api.bloks.io/proton-wrap-public2' : 'https://www.api.bloks.io/proton-wrap-testnet-public2',
1270
- WRAP_CONTRACT: WRAP_CONTRACT,
1271
- WRAP_ACTIONS: {
1272
- SAVE_ADDRESS: 'saveaddress2',
1273
- DELETE_ADDRESS: 'deladdress2',
1274
- WRAP_START: 'wrapstart2',
1275
- WRAP_FINISH: 'wrapfinish2',
1276
- WRAP_PROCESS: 'wrapprocess2',
1277
- WRAP_SET_CONF: 'wrapsetconf2'
1278
- },
1279
- WRAP_TABLES: {
1280
- ADDRESSES: 'addresses2',
1281
- WRAPS: 'wraps2'
1282
- },
1283
- ADDRESSES_INDEXES: {
1284
- BY_ACCOUNT: 2,
1285
- BY_ADDR_HASH: 3
1286
- },
1287
- WRAPS_INDEXES: {
1288
- BY_ACCOUNT: 2,
1289
- BY_STATUS: 3,
1290
- BY_WRAP_HASH: 4
1291
- },
1292
- WRAP_PROCESS_TIMER: 5000,
1293
- FARM_CONTRACT: 'yield.farms',
1294
- WEBHOOK_PERMISSION: 'webhook',
1295
- PUBLIC_PERMISSION: 'public',
1296
- LIGHT_PERMISSION: 'light',
1297
- WRAP_AUTH_ACTION: WRAP_AUTH_ACTION,
1298
- METAL_ENDPOINT: chain === 'proton' ? 'https://cirrus.metalpay.com' : 'https://cirrus-dev.metalpay.com',
1299
- METAL_PROTON_ENDPOINT: chain === 'proton' ? 'https://api.protonchain.com' : 'https://api-dev.protonchain.com',
1300
- METAL_DEX_HTTP_ENDPOINT: chain === 'proton' ? 'https://metal-dexdb.global.binfra.one/dex' : 'https://metallicus-dbapi-dev01.binfra.one/dex',
1301
- METAL_DEX_WS_ENDPOINT: chain === 'proton' ? 'wss://metal-dexdb.global.binfra.one/dexws' : 'wss://metallicus-dbapi-dev01.binfra.one/dexws',
1302
- PROTON_ENDPOINTS: chain === 'proton' ? ['https://metal-proton-rpc.global.binfra.one', 'https://proton.greymass.com', 'https://proton.eoscafeblock.com', 'https://proton.cryptolions.io', 'https://proton.eosusa.news'] : ['https://metal-protontest-rpc.global.binfra.one', 'https://testnet.protonchain.com'],
1303
- CHAIN_ID: chain === 'proton' ? '384da888112027f0321850a169f737c33e53b388aad48b5adace4bab97f437e0' : '71ee83bcf52142d61019d95f9cc5427ba6a0d7ff8accd9e2088ae2abeaf3d3dd',
1304
- DEX_PROCESS_SIZE: 30,
1305
- DEX_SLTPPROCESS_SIZE: 10,
1306
- MAX_PRICE: "9223372036854775806",
1307
- MAX_ITEMS_PER_PAGE_DESKTOP: 25,
1308
- MIN_PRICE: 1,
1309
- DEFAULT_DEX_SYMBOL: chain === 'proton' ? 'XPR_XMD' : 'XPR_XUSDC',
1310
- CHAIN: chain,
1311
- SWAP_COINS: swapCoins,
1312
- BRIDGE_COINS: bridgeCoins,
1313
- ALL_ENABLED_COINS: allEnabledCoins,
1314
- LEND_COINS: lendCoins,
1315
- BORROW_COINS: borrowCoins,
1316
- LOAN_COINS: loanCoins,
1317
- ALL_COINS: allCoins,
1318
- findBridgeCoinWalletByXtokenAndChain: function findBridgeCoinWalletByXtokenAndChain(xtokenSymbol, chain) {
1319
- var bridgeCoin = constants.BRIDGE_COINS.find(function (bridgeCoin) {
1320
- return bridgeCoin.xtokenSymbol === xtokenSymbol;
1321
- });
1322
- if (!bridgeCoin) return undefined;
1323
- var bridgeWallet = bridgeCoin.wallets.find(function (bridgeWallet) {
1324
- return bridgeWallet.chain === chain;
1325
- });
1326
- if (!bridgeWallet) return undefined;
1327
- return _extends({}, bridgeCoin, bridgeWallet);
1328
- },
1329
- findBridgeCoinWallet: function findBridgeCoinWallet(coin, wallet) {
1330
- var bridgeCoin = constants.BRIDGE_COINS.find(function (bridgeCoin) {
1331
- return bridgeCoin.coin === coin;
1332
- });
1333
- if (!bridgeCoin) return undefined;
1334
- var bridgeWallet = bridgeCoin.wallets.find(function (bridgeWallet) {
1335
- return bridgeWallet.wallet === wallet;
1336
- });
1337
- if (!bridgeWallet) return undefined;
1338
- return _extends({}, bridgeCoin, bridgeWallet);
1339
- },
1340
- findBridgeCoinNetwork: function findBridgeCoinNetwork(coin, network) {
1341
- var bridgeCoin = constants.BRIDGE_COINS.find(function (bridgeCoin) {
1342
- return bridgeCoin.coin === coin;
1343
- });
1344
- if (!bridgeCoin) return undefined;
1345
- var bridgeWallet = bridgeCoin.wallets.find(function (bridgeWallet) {
1346
- return bridgeWallet.network === network;
1347
- });
1348
- if (!bridgeWallet) return undefined;
1349
- return _extends({}, bridgeCoin, bridgeWallet);
1350
- }
1351
- };
1352
- return constants;
1353
- };
1354
-
1355
- var createAbstractAuthParser = function createAbstractAuthParser(contract, action, data) {
1356
- return object({
1357
- signer: authorizationParser,
1358
- signatures: array(string()).length(1),
1359
- transaction: singleActionTransactionParser(contract, action, data)
1360
- });
1361
- };
1362
- var generateAuthData = {
1363
- time: /*#__PURE__*/string(),
1364
- protonAccount: /*#__PURE__*/string()
1365
- };
1366
- var generateAuthParser = /*#__PURE__*/createAbstractAuthParser(WRAP_CONTRACT, WRAP_AUTH_ACTION, generateAuthData);
1367
-
1368
- var addressParser = /*#__PURE__*/object({
1369
- index: /*#__PURE__*/number(),
1370
- account: accountParser,
1371
- chain: /*#__PURE__*/string(),
1372
- address: /*#__PURE__*/string(),
1373
- address_hash: /*#__PURE__*/string()
1374
- });
1375
- var generateAddressBodyParser = /*#__PURE__*/object({
1376
- coin: string(),
1377
- wallet: string()
1378
- }).merge(generateAuthParser);
1379
- var generateAddressResponse = /*#__PURE__*/object({
1380
- id: /*#__PURE__*/string(),
1381
- address: /*#__PURE__*/string(),
1382
- coin: /*#__PURE__*/string(),
1383
- wallet: /*#__PURE__*/string(),
1384
- memo: /*#__PURE__*/string().optional()
1385
- });
1386
-
1387
- var rateParser = /*#__PURE__*/object({
1388
- counterCurrency: /*#__PURE__*/string(),
1389
- price: /*#__PURE__*/number(),
1390
- priceChangePercent: /*#__PURE__*/number(),
1391
- marketCap: /*#__PURE__*/number(),
1392
- volume: /*#__PURE__*/number(),
1393
- timestamp: /*#__PURE__*/number()
1394
- });
1395
- var exchangeRateParser = /*#__PURE__*/object({
1396
- contract: /*#__PURE__*/string(),
1397
- symbol: /*#__PURE__*/string(),
1398
- rank: /*#__PURE__*/number(),
1399
- rates: /*#__PURE__*/array(rateParser)
1400
- });
1401
- var exchangeRatesParser = /*#__PURE__*/array(exchangeRateParser);
1402
- var bloksRatesParser = /*#__PURE__*/array( /*#__PURE__*/object({
1403
- contract: /*#__PURE__*/string(),
1404
- symbol: /*#__PURE__*/string(),
1405
- rank: /*#__PURE__*/number(),
1406
- rates: /*#__PURE__*/array(rateParser)
1407
- }));
1408
-
1409
- var Type;
1410
-
1411
- (function (Type) {
1412
- Type["RECEIVE"] = "receive";
1413
- Type["SEND"] = "send";
1414
- })(Type || (Type = {}));
1415
-
1416
- var depositBodyParser = /*#__PURE__*/object({
1417
- id: /*#__PURE__*/string(),
1418
- type: /*#__PURE__*/nativeEnum(Type),
1419
- hash: /*#__PURE__*/string(),
1420
- coin: /*#__PURE__*/string(),
1421
- wallet: /*#__PURE__*/string(),
1422
- network: /*#__PURE__*/string() // "erc29"
1423
-
1424
- });
1425
- var transactionParser = /*#__PURE__*/object({
1426
- id: /*#__PURE__*/string(),
1427
- wallet: /*#__PURE__*/string(),
1428
- value: /*#__PURE__*/number(),
1429
- valueString: /*#__PURE__*/string(),
1430
- address: /*#__PURE__*/string(),
1431
- type: /*#__PURE__*/nativeEnum(Type),
1432
- state: /*#__PURE__*/string(),
1433
- confirmations: /*#__PURE__*/number(),
1434
- hash: /*#__PURE__*/string(),
1435
- blockHash: /*#__PURE__*/string().optional().nullable(),
1436
- blockHeight: /*#__PURE__*/number().optional().nullable() // 643159
1437
-
1438
- });
1439
-
1440
- var otcOrderResponseParser = /*#__PURE__*/object({
1441
- success: /*#__PURE__*/boolean(),
1442
- transaction_id: /*#__PURE__*/string(),
1443
- errormsg: /*#__PURE__*/string().optional()
1444
- });
1445
- var otcQuoteBodyParser = /*#__PURE__*/object({
1446
- baseAmount: /*#__PURE__*/number(),
1447
- baseSymbol: /*#__PURE__*/string(),
1448
- quoteSymbol: /*#__PURE__*/string()
1449
- });
1450
- var otcQuoteResponseParser = /*#__PURE__*/object({
1451
- success: /*#__PURE__*/boolean(),
1452
- token: /*#__PURE__*/string(),
1453
- qty: /*#__PURE__*/number(),
1454
- errormsg: /*#__PURE__*/string().optional()
1455
- });
1456
-
1457
- var withdrawData = {
1458
- from: /*#__PURE__*/string().refine(function (val) {
1459
- return val !== WRAP_CONTRACT;
1460
- }, {
1461
- message: WRAP_CONTRACT + " must be receiver"
1462
- }),
1463
- to: /*#__PURE__*/literal(WRAP_CONTRACT),
1464
- quantity: /*#__PURE__*/string(),
1465
- memo: /*#__PURE__*/string()
1466
- };
1467
- var withdrawBodyParser = /*#__PURE__*/object({
1468
- signer: authorizationParser,
1469
- signatures: /*#__PURE__*/array(string()).length(1),
1470
- transaction: /*#__PURE__*/singleActionTransactionParser('*', 'transfer', withdrawData),
1471
- quoteId: /*#__PURE__*/string(),
1472
- provider: /*#__PURE__*/string().optional()
1473
- });
1474
- var withdrawMetalResponseParser = /*#__PURE__*/object({
1475
- success: /*#__PURE__*/boolean(),
1476
- id: /*#__PURE__*/string()
1477
- });
1478
- var withdrawalFeeQuoteParser = /*#__PURE__*/object({
1479
- quoteId: /*#__PURE__*/string(),
1480
- estimatedFee: /*#__PURE__*/string(),
1481
- currency: /*#__PURE__*/string(),
1482
- network: /*#__PURE__*/string()
1483
- });
1484
-
1485
- var withdrawHistoryMetalSwapParser = /*#__PURE__*/object({
1486
- id: /*#__PURE__*/string(),
1487
- status: /*#__PURE__*/string(),
1488
- amount: /*#__PURE__*/string(),
1489
- currency: /*#__PURE__*/string(),
1490
- network: /*#__PURE__*/string(),
1491
- created: /*#__PURE__*/string(),
1492
- withdrawalAddress: /*#__PURE__*/string(),
1493
- withdrawalHash: /*#__PURE__*/string().optional()
1494
- });
1495
- var withdrawHistoryMetalResponseParser = /*#__PURE__*/object({
1496
- swaps: /*#__PURE__*/array(withdrawHistoryMetalSwapParser),
1497
- page: /*#__PURE__*/number(),
1498
- pageSize: /*#__PURE__*/number(),
1499
- numberOfElements: /*#__PURE__*/number(),
1500
- totalPages: /*#__PURE__*/number(),
1501
- totalElements: /*#__PURE__*/number()
1502
- });
1503
-
1504
- var Status;
1505
-
1506
- (function (Status) {
1507
- Status["PENDING"] = "pending";
1508
- Status["SUCCESS"] = "success";
1509
- Status["FAIL"] = "fail";
1510
- Status["PROCESSING"] = "processing";
1511
- })(Status || (Status = {}));
1512
-
1513
- var wrapStartParser = /*#__PURE__*/object({
1514
- balance: ExtendedAssetParser,
1515
- id: /*#__PURE__*/string(),
1516
- txid: /*#__PURE__*/string(),
1517
- chain: /*#__PURE__*/string(),
1518
- deposit_address: /*#__PURE__*/string(),
1519
- confirmations: /*#__PURE__*/number()
1520
- });
1521
- var wrapSetConfParser = /*#__PURE__*/object({
1522
- wrap_hash: /*#__PURE__*/string(),
1523
- confirmations: /*#__PURE__*/number()
1524
- });
1525
- var wrapParser = /*#__PURE__*/object({
1526
- index: /*#__PURE__*/number(),
1527
- proton_account: /*#__PURE__*/string(),
1528
- balance: ExtendedAssetParser,
1529
- id: /*#__PURE__*/string(),
1530
- txid: /*#__PURE__*/string(),
1531
- chain: /*#__PURE__*/string(),
1532
- deposit_address: /*#__PURE__*/string(),
1533
- status: /*#__PURE__*/nativeEnum(Status),
1534
- finish_txid: /*#__PURE__*/string(),
1535
- wrap_hash: /*#__PURE__*/string(),
1536
- confirmations: /*#__PURE__*/number()
1537
- });
1538
-
1539
- var _TOPICS;
1540
- /**
1541
- * OHLCV
1542
- */
1543
-
1544
- var ohlcvParser = /*#__PURE__*/object({
1545
- time: /*#__PURE__*/number(),
1546
- open: /*#__PURE__*/number(),
1547
- high: /*#__PURE__*/number(),
1548
- low: /*#__PURE__*/number(),
1549
- close: /*#__PURE__*/number(),
1550
- volume: /*#__PURE__*/number(),
1551
- volume_bid: /*#__PURE__*/number(),
1552
- count: /*#__PURE__*/number()
1553
- });
1554
- var getOhlcvParser = /*#__PURE__*/object({
1555
- interval: /*#__PURE__*/string(),
1556
- from: /*#__PURE__*/string(),
1557
- to: /*#__PURE__*/string(),
1558
- symbol: /*#__PURE__*/string(),
1559
- limit: /*#__PURE__*/string()["default"]("500").refine(function (n) {
1560
- return +n <= 1000;
1561
- }, 'Max limit is 1000')
1562
- });
1563
- var getOhlcvResponseParser = /*#__PURE__*/object({
1564
- sync: /*#__PURE__*/number(),
1565
- data: /*#__PURE__*/array(ohlcvParser)
1566
- });
1567
- /**
1568
- * Order History
1569
- */
1570
-
1571
- var orderHistoryParser = /*#__PURE__*/object({
1572
- seq: /*#__PURE__*/number(),
1573
- block_num: /*#__PURE__*/number(),
1574
- block_time: /*#__PURE__*/string(),
1575
- order_id: /*#__PURE__*/number(),
1576
- market_id: /*#__PURE__*/number(),
1577
- quantity_init: /*#__PURE__*/number().optional(),
1578
- quantity_curr: /*#__PURE__*/number(),
1579
- price: /*#__PURE__*/number(),
1580
- account_name: /*#__PURE__*/string(),
1581
- order_side: /*#__PURE__*/number(),
1582
- order_type: /*#__PURE__*/number(),
1583
- trigger_price: /*#__PURE__*/number(),
1584
- fill_type: /*#__PURE__*/number(),
1585
- status: /*#__PURE__*/string(),
1586
- quantity_change: /*#__PURE__*/number(),
1587
- trx_id: /*#__PURE__*/string()
1588
- });
1589
- var getOpenOrdersParser = /*#__PURE__*/object({
1590
- account: /*#__PURE__*/string(),
1591
- symbol: /*#__PURE__*/string().optional(),
1592
- offset: /*#__PURE__*/string()["default"]("0"),
1593
- limit: /*#__PURE__*/string()["default"]("100").refine(function (n) {
1594
- return +n <= 250;
1595
- }, 'Max limit is 250')
1596
- });
1597
- var getOpenOrdersResponseParser = /*#__PURE__*/object({
1598
- sync: /*#__PURE__*/number(),
1599
- count: /*#__PURE__*/number(),
1600
- data: /*#__PURE__*/array(orderHistoryParser)
1601
- });
1602
- var getOrderHistoryParser = /*#__PURE__*/object({
1603
- account: /*#__PURE__*/string(),
1604
- symbol: /*#__PURE__*/string().optional(),
1605
- offset: /*#__PURE__*/string()["default"]("0"),
1606
- limit: /*#__PURE__*/string()["default"]("100").refine(function (n) {
1607
- return +n <= 250;
1608
- }, 'Max limit is 250'),
1609
- trx_id: /*#__PURE__*/string().optional(),
1610
- status: /*#__PURE__*/string().optional()
1611
- });
1612
- var getOrderHistoryResponseParser = /*#__PURE__*/object({
1613
- sync: /*#__PURE__*/number(),
1614
- count: /*#__PURE__*/number(),
1615
- data: /*#__PURE__*/array(orderHistoryParser)
1616
- });
1617
- var getOrderParser = /*#__PURE__*/object({
1618
- order_id: /*#__PURE__*/string()
1619
- });
1620
- var getOrderResponseParser = /*#__PURE__*/object({
1621
- sync: /*#__PURE__*/number(),
1622
- data: /*#__PURE__*/array(orderHistoryParser)
1623
- });
1624
- /**
1625
- * Depth
1626
- */
1627
-
1628
- var depthParser = /*#__PURE__*/object({
1629
- level: /*#__PURE__*/number(),
1630
- ask: /*#__PURE__*/number(),
1631
- bid: /*#__PURE__*/number(),
1632
- count: /*#__PURE__*/number()
1633
- });
1634
- var getDepthParser = /*#__PURE__*/object({
1635
- symbol: /*#__PURE__*/string(),
1636
- step: /*#__PURE__*/string(),
1637
- limit: /*#__PURE__*/string()["default"]("100").refine(function (n) {
1638
- return +n <= 250;
1639
- }, 'Max limit is 250')
1640
- });
1641
- var getDepthResponseParser = /*#__PURE__*/object({
1642
- sync: /*#__PURE__*/number(),
1643
- data: /*#__PURE__*/object({
1644
- bids: /*#__PURE__*/array(depthParser),
1645
- asks: /*#__PURE__*/array(depthParser)
1646
- })
1647
- });
1648
- /**
1649
- * Daily
1650
- */
1651
-
1652
- var dailyParser = /*#__PURE__*/object({
1653
- market_id: /*#__PURE__*/number(),
1654
- first: /*#__PURE__*/number(),
1655
- last: /*#__PURE__*/number(),
1656
- bid: /*#__PURE__*/number(),
1657
- ask: /*#__PURE__*/number(),
1658
- change_percentage_24hr: /*#__PURE__*/number(),
1659
- high: /*#__PURE__*/number(),
1660
- low: /*#__PURE__*/number()
1661
- });
1662
- var getDailyResponseParser = /*#__PURE__*/object({
1663
- sync: /*#__PURE__*/number(),
1664
- data: /*#__PURE__*/array(dailyParser)
1665
- });
1666
- /**
1667
- * Markets
1668
- */
1669
-
1670
- var marketParser = /*#__PURE__*/object({
1671
- market_id: /*#__PURE__*/number(),
1672
- symbol: /*#__PURE__*/string(),
1673
- status_code: /*#__PURE__*/number(),
1674
- type: /*#__PURE__*/string(),
1675
- maker_fee: /*#__PURE__*/number(),
1676
- taker_fee: /*#__PURE__*/number(),
1677
- order_min: /*#__PURE__*/number(),
1678
- bid_token: /*#__PURE__*/object({
1679
- code: /*#__PURE__*/string(),
1680
- precision: /*#__PURE__*/number(),
1681
- contract: /*#__PURE__*/string(),
1682
- multiplier: /*#__PURE__*/number()
1683
- }),
1684
- ask_token: /*#__PURE__*/object({
1685
- code: /*#__PURE__*/string(),
1686
- precision: /*#__PURE__*/number(),
1687
- contract: /*#__PURE__*/string(),
1688
- multiplier: /*#__PURE__*/number()
1689
- })
1690
- });
1691
- var getMarketsResponseParser = /*#__PURE__*/object({
1692
- sync: /*#__PURE__*/number(),
1693
- data: /*#__PURE__*/array(marketParser)
1694
- });
1695
- /**
1696
- * Trades
1697
- */
1698
-
1699
- var tradeParser = /*#__PURE__*/object({
1700
- block_num: /*#__PURE__*/number(),
1701
- block_time: /*#__PURE__*/string(),
1702
- trade_id: /*#__PURE__*/number(),
1703
- market_id: /*#__PURE__*/number(),
1704
- price: /*#__PURE__*/number(),
1705
- bid_user: /*#__PURE__*/string(),
1706
- bid_user_order_id: /*#__PURE__*/number(),
1707
- bid_total: /*#__PURE__*/number(),
1708
- bid_amount: /*#__PURE__*/number(),
1709
- bid_fee: /*#__PURE__*/number(),
1710
- ask_user: /*#__PURE__*/string(),
1711
- ask_user_order_id: /*#__PURE__*/number(),
1712
- ask_total: /*#__PURE__*/number(),
1713
- ask_amount: /*#__PURE__*/number(),
1714
- ask_fee: /*#__PURE__*/number(),
1715
- order_side: /*#__PURE__*/number(),
1716
- trx_id: /*#__PURE__*/string()
1717
- });
1718
- var getTradesParser = /*#__PURE__*/object({
1719
- symbol: /*#__PURE__*/string(),
1720
- offset: /*#__PURE__*/string()["default"]("0"),
1721
- limit: /*#__PURE__*/string()["default"]("100").refine(function (n) {
1722
- return +n <= 250;
1723
- }, 'Max limit is 250')
1724
- });
1725
- var getTradesResponseParser = /*#__PURE__*/object({
1726
- sync: /*#__PURE__*/number(),
1727
- data: /*#__PURE__*/array(tradeParser)
1728
- });
1729
- var getTradeHistoryParser = /*#__PURE__*/object({
1730
- account: /*#__PURE__*/string(),
1731
- symbol: /*#__PURE__*/string().optional(),
1732
- offset: /*#__PURE__*/string()["default"]("0"),
1733
- limit: /*#__PURE__*/string()["default"]("100").refine(function (n) {
1734
- return +n <= 250;
1735
- }, 'Max limit is 250')
1736
- });
1737
- var getTradeHistoryResponseParser = /*#__PURE__*/object({
1738
- sync: /*#__PURE__*/number(),
1739
- count: /*#__PURE__*/number(),
1740
- data: /*#__PURE__*/array(tradeParser)
1741
- });
1742
- /**
1743
- * SYNC
1744
- */
1745
-
1746
- var syncParser = /*#__PURE__*/object({
1747
- sourceid: /*#__PURE__*/number(),
1748
- block_num: /*#__PURE__*/string(),
1749
- block_time: /*#__PURE__*/string(),
1750
- irreversible: /*#__PURE__*/string(),
1751
- is_master: /*#__PURE__*/number(),
1752
- last_updated: /*#__PURE__*/string()
1753
- });
1754
- var getSyncResponseParser = /*#__PURE__*/object({
1755
- dbSecondsBehind: /*#__PURE__*/number(),
1756
- chronicleSecondsBehind: /*#__PURE__*/number(),
1757
- maxSecondsBehind: /*#__PURE__*/number()
1758
- });
1759
- /**
1760
- * Referral Totals
1761
- */
1762
-
1763
- var refferalTotalParser = /*#__PURE__*/object({
1764
- referrer: /*#__PURE__*/string(),
1765
- market_id: /*#__PURE__*/number(),
1766
- bid_fee: /*#__PURE__*/number(),
1767
- bid_total: /*#__PURE__*/number(),
1768
- ask_fee: /*#__PURE__*/number(),
1769
- ask_total: /*#__PURE__*/number()
1770
- });
1771
- var getReferralTotalsParser = /*#__PURE__*/object({
1772
- referrer: /*#__PURE__*/string()
1773
- });
1774
- var getReferralTotalsResponseParser = /*#__PURE__*/object({
1775
- sync: /*#__PURE__*/number(),
1776
- data: /*#__PURE__*/array(refferalTotalParser)
1777
- });
1778
- /**
1779
- * Referrals
1780
- */
1781
-
1782
- var refferalParser = /*#__PURE__*/object({
1783
- referred_user: /*#__PURE__*/string()
1784
- });
1785
- var getReferralsParser = /*#__PURE__*/object({
1786
- referrer: /*#__PURE__*/string()
1787
- });
1788
- var getReferralsResponseParser = /*#__PURE__*/object({
1789
- sync: /*#__PURE__*/number(),
1790
- data: /*#__PURE__*/array(refferalParser)
1791
- });
1792
- /**
1793
- * Leaderboard
1794
- */
1795
-
1796
- var leaderboardParser = /*#__PURE__*/object({
1797
- user: /*#__PURE__*/string(),
1798
- total: /*#__PURE__*/number()
1799
- });
1800
- var getLeaderboardParser = /*#__PURE__*/object({
1801
- market_ids: /*#__PURE__*/array( /*#__PURE__*/string()),
1802
- from: /*#__PURE__*/string(),
1803
- to: /*#__PURE__*/string()
1804
- });
1805
- var getLeaderboardResponseParser = /*#__PURE__*/object({
1806
- sync: /*#__PURE__*/number(),
1807
- data: /*#__PURE__*/array(leaderboardParser)
1808
- });
1809
- /**
1810
- * Basic Types
1811
- */
1812
-
1813
- var orderType;
1814
-
1815
- (function (orderType) {
1816
- orderType[orderType["ORDERBOOK"] = 0] = "ORDERBOOK";
1817
- orderType[orderType["LIMIT"] = 1] = "LIMIT";
1818
- orderType[orderType["STOPLOSS"] = 2] = "STOPLOSS";
1819
- orderType[orderType["TAKEPROFIT"] = 3] = "TAKEPROFIT";
1820
- })(orderType || (orderType = {}));
1821
-
1822
- var orderSide;
1823
-
1824
- (function (orderSide) {
1825
- orderSide[orderSide["INVALID"] = 0] = "INVALID";
1826
- orderSide[orderSide["BUY"] = 1] = "BUY";
1827
- orderSide[orderSide["SELL"] = 2] = "SELL";
1828
- })(orderSide || (orderSide = {}));
1829
-
1830
- var fillType;
1831
-
1832
- (function (fillType) {
1833
- fillType[fillType["GTC"] = 0] = "GTC";
1834
- fillType[fillType["IOC"] = 1] = "IOC";
1835
- fillType[fillType["POST_ONLY"] = 2] = "POST_ONLY";
1836
- })(fillType || (fillType = {}));
1837
-
1838
- var logStatus;
1839
-
1840
- (function (logStatus) {
1841
- logStatus["CREATE"] = "create";
1842
- logStatus["UPDATE"] = "update";
1843
- logStatus["TRANSFER"] = "transfer";
1844
- logStatus["CANCEL"] = "cancel";
1845
- logStatus["DELETE"] = "delete";
1846
- })(logStatus || (logStatus = {}));
1847
-
1848
- var ITopics;
1849
-
1850
- (function (ITopics) {
1851
- ITopics["TRADES"] = "TRADES";
1852
- ITopics["ORDERS"] = "ORDERS";
1853
- })(ITopics || (ITopics = {}));
1854
-
1855
- var TOPICS = (_TOPICS = {}, _TOPICS[ITopics.TRADES] = {
1856
- topic: ITopics.TRADES
1857
- }, _TOPICS[ITopics.ORDERS] = {
1858
- topic: ITopics.ORDERS
1859
- }, _TOPICS);
1860
-
1861
- var loginAccountParamsV3Parser = /*#__PURE__*/object({
1862
- email: string().optional(),
1863
- verificationCode: string().optional()
1864
- }).merge(generateAuthParser);
1865
-
1866
- var isSameToken = function isSameToken(token1, token2) {
1867
- return token1.xtokenSymbol === token2.xtokenSymbol && token1.xtokenPrecision === token2.xtokenPrecision && token1.xtokenContract === token2.xtokenContract;
1868
- };
1869
- var median = function median(numbers) {
1870
- var sorted = numbers.slice().sort(function (a, b) {
1871
- return a - b;
1872
- });
1873
- var middle = Math.floor(sorted.length / 2);
1874
-
1875
- if (sorted.length % 2 === 0) {
1876
- return (sorted[middle - 1] + sorted[middle]) / 2;
1877
- }
1878
-
1879
- return sorted[middle];
1880
- };
1881
-
1882
- var INode = function INode(key, data) {
1883
- this.key = void 0;
1884
- this.data = {};
1885
- this.key = key;
1886
-
1887
- if (data) {
1888
- this.data = data;
1889
- }
1890
- };
1891
- var ILink = function ILink(from, to, data) {
1892
- this.from = void 0;
1893
- this.to = void 0;
1894
- this.data = {};
1895
- this.from = from;
1896
- this.to = to;
1897
-
1898
- if (data) {
1899
- this.data = data;
1900
- }
1901
- };
1902
- var Graph = /*#__PURE__*/function () {
1903
- function Graph() {
1904
- this.nodes = [];
1905
- this.links = [];
1906
- this.lastPathFound = [];
1907
-
1908
- this.isEquals = function (a, b) {
1909
- return a.key === b.key;
1910
- };
1911
- }
1912
-
1913
- var _proto = Graph.prototype;
1914
-
1915
- _proto.addNode = function addNode(k, v) {
1916
- var node = this.findNode(k);
1917
-
1918
- if (!node) {
1919
- this.nodes.push(new INode(k, v));
1920
- }
1921
- };
1922
-
1923
- _proto.addNodes = function addNodes() {
1924
- var _this = this;
1925
-
1926
- for (var _len = arguments.length, nodes = new Array(_len), _key = 0; _key < _len; _key++) {
1927
- nodes[_key] = arguments[_key];
1928
- }
1929
-
1930
- nodes.forEach(function (node) {
1931
- return typeof node === "string" ? _this.addNode(node) : _this.addNode(node[0], node[1]);
1932
- });
1933
- };
1934
-
1935
- _proto.findNode = function findNode(k) {
1936
- var _this2 = this;
1937
-
1938
- var inode = new INode(k);
1939
- return this.nodes.find(function (node) {
1940
- return _this2.isEquals(node, inode);
1941
- });
1942
- };
1943
-
1944
- _proto.findNodes = function findNodes() {
1945
- var _this3 = this;
1946
-
1947
- for (var _len2 = arguments.length, keys = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
1948
- keys[_key2] = arguments[_key2];
1949
- }
1950
-
1951
- return keys.map(function (k) {
1952
- return _this3.findNode(k);
1953
- });
1954
- };
1955
-
1956
- _proto.requireFindNodes = function requireFindNodes() {
1957
- var nodes = this.findNodes.apply(this, arguments);
1958
-
1959
- if (nodes.some(function (n) {
1960
- return n === undefined;
1961
- })) {
1962
- throw new Error('One of the nodes does not exist');
1963
- }
1964
-
1965
- return nodes;
1966
- };
1967
-
1968
- _proto.addLink = function addLink(nodeA, nodeB, data) {
1969
- var _this$requireFindNode = this.requireFindNodes(nodeA, nodeB),
1970
- inodeA = _this$requireFindNode[0],
1971
- inodeB = _this$requireFindNode[1];
1972
-
1973
- this.links.push(new ILink(inodeA, inodeB, data));
1974
- };
1975
-
1976
- _proto.addLinks = function addLinks() {
1977
- var _this4 = this;
1978
-
1979
- for (var _len3 = arguments.length, links = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
1980
- links[_key3] = arguments[_key3];
1981
- }
1982
-
1983
- links.forEach(function (link) {
1984
- return _this4.addLink.apply(_this4, link);
1985
- });
1986
- }
1987
- /**
1988
- * Get all nodes linked
1989
- * to from `node`.
1990
- */
1991
- ;
1992
-
1993
- _proto.findLinkedNodes = function findLinkedNodes(node) {
1994
- var _this5 = this;
1995
-
1996
- return this.links.reduce(function (acc, link) {
1997
- if (_this5.isEquals(link.from, node)) {
1998
- acc.push(link.to);
1999
- }
2000
-
2001
- return acc;
2002
- }, []);
2003
- };
2004
-
2005
- _proto.findAllPaths = function findAllPaths(from, to) {
2006
- var _this6 = this;
2007
-
2008
- var allPaths = [];
2009
-
2010
- var _this$requireFindNode2 = this.requireFindNodes(from, to),
2011
- fromNode = _this$requireFindNode2[0],
2012
- toNode = _this$requireFindNode2[1];
2013
-
2014
- var path = [fromNode];
2015
- var seen = new Set();
2016
-
2017
- var stuck = function stuck(x) {
2018
- if (_this6.isEquals(x, toNode)) {
2019
- return false;
2020
- }
2021
-
2022
- for (var _iterator = _createForOfIteratorHelperLoose(_this6.findLinkedNodes(x)), _step; !(_step = _iterator()).done;) {
2023
- var y = _step.value;
2024
-
2025
- if (!seen.has(y.key)) {
2026
- seen.add(y.key);
2027
-
2028
- if (!stuck(y)) {
2029
- return false;
2030
- }
2031
- }
2032
- }
2033
-
2034
- return true;
2035
- };
2036
-
2037
- var search = function search(x) {
2038
- if (_this6.isEquals(x, toNode)) {
2039
- allPaths.push(cloneDeep(path));
2040
- return;
2041
- }
2042
-
2043
- seen = new Set(path.map(function (p) {
2044
- return p.key;
2045
- }));
2046
-
2047
- if (stuck(x)) {
2048
- return;
2049
- }
2050
-
2051
- for (var _iterator2 = _createForOfIteratorHelperLoose(_this6.findLinkedNodes(x)), _step2; !(_step2 = _iterator2()).done;) {
2052
- var y = _step2.value;
2053
-
2054
- if (!path.includes(y)) {
2055
- path.push(y);
2056
- search(y);
2057
- path.pop();
2058
- }
2059
- }
2060
- };
2061
-
2062
- search(fromNode);
2063
- return allPaths;
2064
- };
2065
-
2066
- return Graph;
2067
- }();
2068
-
2069
- /**
2070
- * XPR<>XUSDT (XPR -> XUSDT)
2071
- *
2072
- * pool1 * pool2
2073
- * term = pool2 - --------------
2074
- * pool1 + swap
2075
- *
2076
- * result = term - (term * fee)
2077
- */
2078
-
2079
- var compute_transfer = function compute_transfer(pool1, pool2, swap, exchange_fee, precision) {
2080
- var term1 = pool2;
2081
- var term2over = pool1.times(pool2);
2082
- var term2under = pool1.plus(swap);
2083
- var term2 = term2over.div(term2under).integerValue(BigNumber.ROUND_DOWN);
2084
- var term = term1.minus(term2);
2085
- var fee = new BigNumber(exchange_fee).div(FEE_FACTOR);
2086
- var result = term.minus(term.times(fee));
2087
- return result.integerValue(BigNumber.ROUND_DOWN).shiftedBy(-precision);
2088
- };
2089
- var compute_transfer_curve = function compute_transfer_curve(reserve_in, reserve_out, amount_in, exchange_fee, precision, amplifier) {
2090
- if (amplifier === 0) {
2091
- return compute_transfer(new BigNumber(reserve_in), new BigNumber(reserve_out), new BigNumber(amount_in), exchange_fee, precision);
2092
- }
2093
-
2094
- var MAX_ITERATIONS = 10;
2095
- var sum = reserve_in + reserve_out;
2096
- var D = sum;
2097
- var D_prev = 0;
2098
-
2099
- var F = function F(v) {
2100
- return (v >= 0 ? 1 : -1) * Math.floor(Math.abs(v));
2101
- };
2102
-
2103
- var i = MAX_ITERATIONS;
2104
-
2105
- while (D != D_prev && i--) {
2106
- var prod1 = F(F(D * D / (reserve_in * 2)) * D / (reserve_out * 2));
2107
- D_prev = D;
2108
- D = F(2 * D * (amplifier * sum + prod1) / ((2 * amplifier - 1) * D + 3 * prod1));
2109
- }
2110
-
2111
- var b = reserve_in + amount_in + F(D / (amplifier * 2)) - D;
2112
- var c = F(F(D * D / ((reserve_in + amount_in) * 2)) * D / (amplifier * 4));
2113
- var x = D,
2114
- x_prev = 0;
2115
- i = MAX_ITERATIONS;
2116
-
2117
- while (x != x_prev && i--) {
2118
- x_prev = F(x);
2119
- x = +new BigNumber(x * x + c).div(2 * x + b).toFixed(0, BigNumber.ROUND_DOWN);
2120
- }
2121
-
2122
- if (reserve_out <= x) {
2123
- throw new Error("curve: insufficient reserve out");
2124
- } // Amount out + Fee + 1
2125
-
2126
-
2127
- var amount_out_with_fee = new BigNumber(reserve_out - x); // Fee + 1
2128
- // +1 covers small precision issues
2129
-
2130
- var fee = amount_out_with_fee.times(exchange_fee).div(FEE_FACTOR).plus(1).toFixed(0, BigNumber.ROUND_DOWN); // Amount out
2131
-
2132
- var amount_out = amount_out_with_fee.minus(fee);
2133
- return amount_out.integerValue(BigNumber.ROUND_DOWN).shiftedBy(-precision);
2134
- };
2135
- var compute_liquidity = function compute_liquidity(amount_lt, pool, lt_supply, precision) {
2136
- var over = amount_lt.times(pool);
2137
- var under = lt_supply;
2138
- var result = over.div(under).integerValue(BigNumber.ROUND_DOWN);
2139
- return +result.shiftedBy(-precision).toFixed(precision, BigNumber.ROUND_DOWN);
2140
- };
2141
- var isInputInvalid = function isInputInvalid(data, value, pool) {
2142
- value = String(value);
2143
- var isBackspace = data === null;
2144
- var isNumber = !/[0-9]|\./.test(data);
2145
- var isDoubleDot = data === '.' && value.indexOf('.') !== value.length - 1;
2146
- var isPrecisionTooHigh = value && value.indexOf('.') !== -1 && value.split('.')[1].length > pool.xtokenPrecision;
2147
- var isInvalid = !isBackspace && Boolean(isNumber || isDoubleDot || isPrecisionTooHigh);
2148
- return isInvalid;
2149
- };
2150
- var applyDiscountToFee = function applyDiscountToFee(fee, staked) {
2151
- if (staked >= 10000000) {
2152
- return fee * 0;
2153
- } else if (staked >= 1000000) {
2154
- return fee * 0.33;
2155
- } else if (staked >= 100000) {
2156
- return fee * 0.66;
2157
- } else {
2158
- return fee;
2159
- }
2160
- };
2161
-
2162
- export { Chains, ExtendedAssetParser, FEE_FACTOR, Graph, ILink, INode, ITopics, Networks, Providers, Status, TOPICS, Type, WRAP_AUTH_ACTION, WRAP_CONTRACT, accountParser, addressParser, applyDiscountToFee, authorizationParser, authorizationsParser, baseActionParser, baseActionSerializedParser, bloksRatesParser, compute_liquidity, compute_transfer, compute_transfer_curve, createAbstractAuthParser, dailyParser, depositBodyParser, depthParser, exchangeRateParser, exchangeRatesParser, explorerLinkByChain, fillType, generateAddressBodyParser, generateAddressResponse, generateAuthParser, getDailyResponseParser, getDepthParser, getDepthResponseParser, getLeaderboardParser, getLeaderboardResponseParser, getMarketsResponseParser, getOhlcvParser, getOhlcvResponseParser, getOpenOrdersParser, getOpenOrdersResponseParser, getOrderHistoryParser, getOrderHistoryResponseParser, getOrderParser, getOrderResponseParser, getReferralTotalsParser, getReferralTotalsResponseParser, getReferralsParser, getReferralsResponseParser, getSyncResponseParser, getTradeHistoryParser, getTradeHistoryResponseParser, getTradesParser, getTradesResponseParser, initializeCoins, initializeConstants, isInputInvalid, isSameToken, leaderboardParser, logStatus, loginAccountParamsV3Parser, marketParser, median, ohlcvParser, orderHistoryParser, orderSide, orderType, otcOrderResponseParser, otcQuoteBodyParser, otcQuoteResponseParser, protonExplorerTxUrl, rateParser, refferalParser, refferalTotalParser, similarChains, singleActionTransactionParser, syncParser, tradeParser, transactionParser, webauthActionParser, withdrawBodyParser, withdrawHistoryMetalResponseParser, withdrawHistoryMetalSwapParser, withdrawMetalResponseParser, withdrawalFeeQuoteParser, wrapParser, wrapSetConfParser, wrapStartParser };
2163
- //# sourceMappingURL=wrap-constants.esm.js.map