@proton/wrap-constants 0.2.181 → 0.2.183

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