@proton/wrap-constants 0.2.71 → 0.2.73

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