@proton/wrap-constants 0.2.63 → 0.2.64
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.
- package/dist/parsers/dex.d.ts +3 -3
- package/dist/wrap-constants.cjs.development.js +1 -1
- package/dist/wrap-constants.cjs.development.js.map +1 -1
- package/dist/wrap-constants.cjs.production.min.js +1 -1
- package/dist/wrap-constants.cjs.production.min.js.map +1 -1
- package/dist/wrap-constants.esm.js +1 -1
- package/dist/wrap-constants.esm.js.map +1 -1
- package/package.json +2 -2
- package/src/parsers/dex.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrap-constants.cjs.development.js","sources":["../src/coins.ts","../src/parsers/base.ts","../src/parsers/actions.ts","../src/constants.ts","../src/parsers/auth.ts","../src/parsers/address.ts","../src/parsers/currency.ts","../src/parsers/deposit.ts","../src/parsers/otc.ts","../src/parsers/withdraw.ts","../src/parsers/withdrawalHistory.ts","../src/parsers/wrap.ts","../src/parsers/dex.ts","../src/parsers/login.ts","../src/utils.ts","../src/graph.ts","../src/math.ts"],"sourcesContent":["import { Asset } from '@bloks/numbers'\n\nexport enum Chains {\n BitcoinMainnet = 'Bitcoin',\n BitcoinTestnet = 'Bitcoin (Testnet)',\n EthereumMainnet = 'Ethereum',\n EthereumRopsten = 'Ethereum (Ropsten)',\n LitecoinMainnet = 'Litecoin',\n LitecoinTestnet = 'Litecoin (Testnet)',\n BitcoinCashMainnet = 'Bitcoin Cash',\n BitcoinCashTestnet = 'Bitcoin Cash (Testnet)',\n StellarMainnet = 'Stellar',\n StellarTestnet = 'Stellar (Testnet)',\n ProtonMainnet = 'Proton',\n ProtonTestnet = 'Proton (Testnet)',\n PolkadotMainnet = 'Polkadot',\n BinanceBEP2 = 'Binance (BEP2)',\n BinanceBEP20 = 'Binance (BEP20)',\n EosMainnet = 'EOS',\n EosTestnet = 'EOS (Jungle Testnet)',\n HederaMainnet = 'Hedera (Mainnet)',\n HederaTestnet = 'Hedera (Testnet)',\n DogeMainnet = 'Dogecoin',\n CardanoMainnet = 'Cardano',\n AvalancheXChain = 'Avalanche X-Chain',\n AvalancheCChain = 'Avalanche C-Chain',\n PolygonMainnet = 'Polygon',\n TerraMainnet = 'Terra',\n RippleMainnet = 'Ripple',\n SolanaMainnet = 'Solana',\n MetalXTestnet = 'Metal X-Chain (Testnet)',\n MetalCTestnet = 'Metal C-Chain (Testnet)',\n MetalCMainnet = 'Metal C-Chain'\n}\n\nexport enum Networks {\n Mainnet = 'mainnet',\n Testnet = 'testnet',\n Ropsten = 'ropsten',\n ERC20 = 'erc20',\n BEP20 = 'bep20',\n XLM = 'xlm',\n AVM = 'avm',\n EVM = 'evm',\n}\n\nexport const similarChains = {\n [Chains.EthereumMainnet]: [Chains.BinanceBEP20],\n [Chains.BinanceBEP20]: [Chains.EthereumMainnet],\n}\n\nexport interface Coin {\n allowSwap : boolean;\n allowBridge : boolean;\n allowLend : boolean;\n allowBorrow : boolean;\n name : string;\n coin : string;\n xtokenSymbol : string;\n xtokenPrecision: number;\n xtokenContract : string;\n wallets : Wallet[];\n image : string;\n coingeckoId : string;\n balance? : Asset;\n}\n \nexport interface Wallet {\n wallet : string;\n symbol : string;\n chain : Chains;\n network : Networks;\n precision : number;\n contract : string | undefined;\n provider : string;\n hasWithdrawMemo: boolean;\n}\n\nexport enum Providers {\n FIREBLOCKS = \"fireblocks\",\n METAL = \"metal\"\n}\n\nexport type CoinWallet = Exclude<Coin, 'wallets'> & Wallet\n\nexport const explorerLinkByChain = {\n [Chains.BitcoinMainnet] : (txid: string) => `https://blockchain.com/btc/tx/${txid}`,\n [Chains.BitcoinTestnet] : (txid: string) => `https://blockstream.info/testnet/tx/${txid}`,\n [Chains.EthereumMainnet] : (txid: string) => `https://etherscan.io/tx/${txid}`,\n [Chains.EthereumRopsten] : (txid: string) => `https://ropsten.etherscan.io/tx/${txid}`,\n [Chains.LitecoinMainnet] : (txid: string) => `https://blockchair.com/litecoin/transaction/${txid}`,\n [Chains.LitecoinTestnet] : (txid: string) => `https://blockexplorer.one/litecoin/testnet/blockHash/${txid}`,\n [Chains.BitcoinCashMainnet]: (txid: string) => `https://blockchair.com/bitcoin-cash/transaction/${txid}`,\n [Chains.BitcoinCashTestnet]: (txid: string) => `https://blockexplorer.one/bitcoin-cash/testnet/blockHash/${txid}`,\n [Chains.StellarMainnet] : (txid: string) => `https://blockchair.com/stellar/transaction/${txid}`,\n [Chains.StellarTestnet] : (txid: string) => `https://testnet.steexp.com/tx/${txid}`,\n [Chains.ProtonMainnet] : (txid: string, traces?: boolean) => `https://proton.bloks.io/transaction/${txid}${traces ? '?tab=traces' : ''}`,\n [Chains.ProtonTestnet] : (txid: string, traces?: boolean) => `https://proton-test.bloks.io/transaction/${txid}${traces ? '?tab=traces' : ''}`,\n [Chains.PolkadotMainnet] : (txid: string) => `https://polkadot.subscan.io/extrinsic/${txid}`,\n [Chains.BinanceBEP2] : (txid: string) => `https://binance.mintscan.io/txs/${txid}`,\n [Chains.BinanceBEP20] : (txid: string) => `https://bscscan.com/tx/${txid}`,\n [Chains.EosMainnet] : (txid: string) => `https://bloks.io/transaction/${txid}`,\n [Chains.EosTestnet] : (txid: string) => `https://jungle.bloks.io/transaction/${txid}`,\n [Chains.HederaMainnet] : (txid: string) => `https://app.dragonglass.me/transactions/${txid}`,\n [Chains.HederaTestnet] : (txid: string) => `https://testnet.dragonglass.me/transactions/${txid}`,\n [Chains.DogeMainnet] : (txid: string) => `https://blockchair.com/dogecoin/transaction/${txid}`,\n [Chains.CardanoMainnet] : (txid: string) => `https://explorer.cardano.org/en/transaction?id=${txid}`,\n [Chains.AvalancheXChain] : (txid: string) => `https://avascan.info/blockchain/x/tx/${txid}`,\n [Chains.AvalancheCChain] : (txid: string) => `https://snowtrace.io/tx/${txid}`,\n [Chains.PolygonMainnet] : (txid: string) => `https://polygonscan.com/tx/${txid}`,\n [Chains.TerraMainnet] : (txid: string) => `https://terra.stake.id/?#/tx/${txid}`,\n [Chains.RippleMainnet] : (txid: string) => `https://xrpscan.com/tx/${txid}`,\n [Chains.SolanaMainnet] : (txid: string) => `https://explorer.solana.com/tx/${txid}`,\n [Chains.MetalXTestnet] : (txid: string) => `https://metalscan.io/tx/${txid}`,\n [Chains.MetalCTestnet] : (txid: string) => `https://tahoe.metaltrace.io/tx/${txid}`,\n [Chains.MetalCMainnet] : (txid: string) => `https://metalscan.io/tx/${txid}`,\n}\n\nexport const protonExplorerTxUrl = (chain: string, txId: string, traces?: boolean) => chain === 'proton'\n ? explorerLinkByChain[Chains.ProtonMainnet](txId, traces)\n : explorerLinkByChain[Chains.ProtonTestnet](txId, traces)\n\n// Initialize.\nexport const initializeCoins = (protonChain: string): {\n allCoins : Coin[];\n swapCoins : Coin[];\n bridgeCoins : Coin[];\n lendCoins : Coin[];\n borrowCoins : Coin[];\n loanCoins : Coin[];\n allEnabledCoins: Coin[];\n} => {\n const IS_MAINNET = protonChain === 'proton'\n const IS_TESTNET = protonChain === 'proton-test'\n \n const coins: Coin[] = [\n { \n allowSwap: true,\n allowBridge: IS_MAINNET,\n allowLend: true,\n allowBorrow: true,\n name: 'Proton',\n coin: 'XPR',\n xtokenSymbol: 'XPR',\n xtokenPrecision: 4,\n xtokenContract: 'eosio.token',\n wallets: [\n ...(IS_MAINNET ? [\n {\n wallet: 'XPR-ERC20',\n symbol: 'XPR',\n chain: Chains.EthereumMainnet,\n network: Networks.ERC20,\n precision: 4,\n contract: '0xD7EFB00D12C2C13131FD319336FDF952525DA2AF',\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n },\n {\n wallet: 'XPR-BEP20',\n symbol: 'XPR',\n chain: Chains.BinanceBEP20,\n network: Networks.BEP20,\n precision: 4,\n contract: '0x5DE3939B2F811A61D830E6F52D13B066881412AB',\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }\n ]: []),\n ],\n image: 'https://www.proton.org/images/tokens/eosio-tokenXPR.png',\n coingeckoId: 'proton'\n },\n { \n allowSwap: true,\n allowBridge: true,\n allowLend: true,\n allowBorrow: true,\n name: 'USD Coin',\n coin: 'USDC',\n xtokenSymbol: 'XUSDC',\n xtokenPrecision: 6,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_MAINNET ? [\n {\n wallet: 'USDC',\n symbol: 'USDC',\n chain: Chains.EthereumMainnet,\n network: Networks.ERC20,\n precision: 6,\n contract: '0xA0B86991C6218B36C1D19D4A2E9EB0CE3606EB48',\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n },\n {\n wallet: 'USDC-BEP20',\n symbol: 'USDC',\n chain: Chains.BinanceBEP20,\n network: Networks.BEP20,\n precision: 18,\n contract: '0x8AC76A51CC950D9822D68B83FE1AD97B32CD580D',\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n },\n {\n wallet: 'USDC-XLM',\n symbol: 'USDC',\n chain: Chains.StellarMainnet,\n network: Networks.XLM,\n precision: 7,\n contract: undefined,\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: true\n },\n ]: []),\n ...(IS_TESTNET ? [\n {\n wallet: 'USDC',\n symbol: 'USDC',\n chain: Chains.EthereumRopsten,\n network: Networks.Ropsten,\n precision: 6,\n contract: '0xA0B86991C6218B36C1D19D4A2E9EB0CE3606EB48',\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n },\n {\n wallet: 'USDC-XLM',\n symbol: 'USDC',\n chain: Chains.StellarTestnet,\n network: Networks.XLM,\n precision: 7,\n contract: undefined,\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: true\n },\n ]: [])\n ],\n image: 'https://www.proton.org/images/tokens/xtokensXUSDC.png',\n coingeckoId: 'usd-coin'\n },\n { \n allowSwap: true,\n allowBridge: IS_MAINNET,\n allowLend: true,\n allowBorrow: true,\n name: 'Metal DAO',\n coin: 'MTL',\n xtokenSymbol: 'XMT',\n xtokenPrecision: 8,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_MAINNET ? [{\n wallet: 'MTL',\n symbol: 'MTL',\n chain: Chains.EthereumMainnet,\n network: Networks.ERC20,\n precision: 8,\n contract: '0xF433089366899D83A9F26A773D59EC7ECF30355E',\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.proton.org/images/tokens/xtokensXMT.png',\n coingeckoId: 'metal'\n },\n { \n allowSwap: true,\n allowBridge: true,\n allowLend: false,\n allowBorrow: false,\n name: 'Metal Blockchain',\n coin: 'METAL',\n xtokenSymbol: 'METAL',\n xtokenPrecision: 8,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_TESTNET ? [{\n wallet: 'METAL',\n symbol: 'METAL',\n chain: Chains.MetalCTestnet,\n network: Networks.EVM,\n precision: 18,\n contract: '',\n provider: Providers.METAL,\n hasWithdrawMemo: false\n }]: []),\n ...(IS_MAINNET ? [\n {\n wallet: 'METAL',\n symbol: 'METAL',\n chain: Chains.MetalCMainnet,\n network: Networks.EVM,\n precision: 18,\n contract: '',\n provider: Providers.METAL,\n hasWithdrawMemo: false\n },\n {\n wallet: 'METAL',\n symbol: 'METAL',\n chain: Chains.EthereumMainnet,\n network: Networks.ERC20,\n precision: 18,\n contract: '',\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }\n ]: [])\n ],\n image: 'https://raw.githubusercontent.com/eoscafe/eos-airdrops/master/logos/metal-chain.png',\n coingeckoId: 'metal-blockchain'\n },\n { \n allowSwap: true,\n allowBridge: true,\n allowLend: true,\n allowBorrow: true,\n name: 'Bitcoin',\n coin: 'BTC',\n xtokenSymbol: 'XBTC',\n xtokenPrecision: 8,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_MAINNET ? [{\n wallet: 'BTC',\n symbol: 'BTC',\n chain: Chains.BitcoinMainnet,\n network: Networks.Mainnet,\n precision: 8,\n contract: undefined,\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: []),\n ...(IS_TESTNET ? [{\n wallet: 'BTC',\n symbol: 'BTC',\n chain: Chains.BitcoinTestnet,\n network: Networks.Testnet,\n precision: 8,\n contract: undefined,\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.proton.org/images/tokens/xtokensXBTC.png',\n coingeckoId: 'bitcoin'\n },\n {\n allowSwap: true,\n allowBridge: true,\n allowLend: true,\n allowBorrow: true,\n name: 'Ethereum',\n coin: 'ETH',\n xtokenSymbol: 'XETH',\n xtokenPrecision: 8,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_MAINNET ? [{\n wallet: 'ETH',\n symbol: 'ETH',\n chain: Chains.EthereumMainnet,\n network: Networks.Mainnet,\n precision: 18,\n contract: '0x0000000000000000000000000000000000000000',\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: []),\n ...(IS_TESTNET ? [{\n wallet: 'ETH',\n symbol: 'ETH',\n chain: Chains.EthereumRopsten,\n network: Networks.Ropsten,\n precision: 18,\n contract: '0x0000000000000000000000000000000000000000',\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.proton.org/images/tokens/xtokensXETH.png',\n coingeckoId: 'ethereum'\n },\n { \n allowSwap: true,\n allowBridge: false,\n allowLend: false,\n allowBorrow: false,\n name: 'Loan',\n coin: 'LOAN',\n xtokenSymbol: 'LOAN',\n xtokenPrecision: 4,\n xtokenContract: 'loan.token',\n wallets: [],\n image: 'https://raw.githubusercontent.com/eoscafe/eos-airdrops/master/logos/loan.png',\n coingeckoId: 'proton-loan'\n },\n { \n allowSwap: true,\n allowBridge: true,\n allowLend: false,\n allowBorrow: false,\n name: 'Tether',\n coin: 'USDT',\n xtokenSymbol: 'XUSDT',\n xtokenPrecision: 6,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_MAINNET ? [{\n wallet: 'USDT',\n symbol: 'USDT',\n chain: Chains.EthereumMainnet,\n network: Networks.ERC20,\n precision: 6,\n contract: '0xDAC17F958D2EE523A2206206994597C13D831EC7',\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: []),\n ...(IS_MAINNET ? [{\n wallet: 'USDT-BEP20',\n symbol: 'USDT',\n chain: Chains.BinanceBEP20,\n network: Networks.BEP20,\n precision: 18,\n contract: '0x55d398326f99059fF775485246999027B3197955',\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: []),\n ...(IS_TESTNET ? [{\n wallet: 'USDT',\n symbol: 'USDT',\n chain: Chains.EthereumRopsten,\n network: Networks.Ropsten,\n precision: 6,\n contract: '0xDAC17F958D2EE523A2206206994597C13D831EC7',\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.proton.org/images/tokens/xtokensXUSDT.png',\n coingeckoId: 'tether'\n },\n { \n allowSwap: false,\n allowBridge: IS_MAINNET,\n allowLend: false,\n allowBorrow: false,\n name: 'TrueUSD',\n coin: 'TUSD',\n xtokenSymbol: 'XTUSD',\n xtokenPrecision: 6,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_MAINNET ? [{\n wallet: 'TUSD',\n symbol: 'TUSD',\n chain: Chains.EthereumMainnet,\n network: Networks.ERC20,\n precision: 18,\n contract: '0x0000000000085D4780B73119B644AE5ECD22B376',\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.proton.org/images/tokens/xtokensXTUSD.png',\n coingeckoId: 'true-usd'\n },\n { \n allowSwap: false,\n allowBridge: IS_MAINNET,\n allowLend: false,\n allowBorrow: false,\n name: 'Paxos Dollar',\n coin: 'PAX',\n xtokenSymbol: 'XPAX',\n xtokenPrecision: 6,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_MAINNET ? [{\n wallet: 'PAX',\n symbol: 'PAX',\n chain: Chains.EthereumMainnet,\n network: Networks.ERC20,\n precision: 18,\n contract: '0x8E870D67F660D95D5BE530380D0EC0BD388289E1',\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.proton.org/images/tokens/xtokensXPAX.png',\n coingeckoId: 'paxos-standard'\n },\n { \n allowSwap: false,\n allowBridge: true,\n allowLend: false,\n allowBorrow: false,\n name: 'Paxos Gold',\n coin: 'PAXG',\n xtokenSymbol: 'XPAXG',\n xtokenPrecision: 8,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_MAINNET ? [{\n wallet: 'PAXG',\n symbol: 'PAXG',\n chain: Chains.EthereumMainnet,\n network: Networks.ERC20,\n precision: 18,\n contract: '0x45804880DE22913DAFE09F4980848ECE6ECBAF78',\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: []),\n ...(IS_TESTNET ? [{\n wallet: 'PAXG',\n symbol: 'PAXG',\n chain: Chains.EthereumRopsten,\n network: Networks.Ropsten,\n precision: 18,\n contract: '0x45804880DE22913DAFE09F4980848ECE6ECBAF78',\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.proton.org/images/tokens/xtokensXPAXG.png',\n coingeckoId: 'pax-gold'\n },\n { \n allowSwap: IS_MAINNET,\n allowBridge: false,\n allowLend: false,\n allowBorrow: false,\n name: 'Storex',\n coin: 'STRX',\n xtokenSymbol: 'STRX',\n xtokenPrecision: 4,\n xtokenContract: 'storex',\n wallets: [],\n image: 'https://raw.githubusercontent.com/eoscafe/eos-airdrops/master/logos/strx.png',\n coingeckoId: ''\n },\n { \n allowSwap: IS_MAINNET,\n allowBridge: false,\n allowLend: false,\n allowBorrow: false,\n name: 'Mint',\n coin: 'MINT',\n xtokenSymbol: 'MINT',\n xtokenPrecision: 4,\n xtokenContract: 'protonmint',\n wallets: [],\n image: 'https://raw.githubusercontent.com/eoscafe/eos-airdrops/master/logos/PMLogo-04.png',\n coingeckoId: ''\n },\n { \n allowSwap: IS_MAINNET,\n allowBridge: false,\n allowLend: false,\n allowBorrow: false,\n name: 'Snipcoins',\n coin: 'SNIPS',\n xtokenSymbol: 'SNIPS',\n xtokenPrecision: 4,\n xtokenContract: 'snipcoins',\n wallets: [],\n image: 'https://raw.githubusercontent.com/eoscafe/eos-airdrops/master/logos/snips.png',\n coingeckoId: ''\n },\n { \n allowSwap: IS_MAINNET,\n allowBridge: true,\n allowLend: false,\n allowBorrow: false,\n name: 'Uniswap',\n coin: 'UNI',\n xtokenSymbol: 'XUNI',\n xtokenPrecision: 6,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_MAINNET ? [{\n wallet: 'UNI',\n symbol: 'UNI',\n chain: Chains.EthereumMainnet,\n network: Networks.ERC20,\n precision: 18,\n contract: '0x1F9840A85D5AF5BF1D1762F925BDADDC4201F984',\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: []),\n ...(IS_TESTNET ? [{\n wallet: 'UNI',\n symbol: 'UNI',\n chain: Chains.EthereumRopsten,\n network: Networks.Ropsten,\n precision: 18,\n contract: '0x1F9840A85D5AF5BF1D1762F925BDADDC4201F984',\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.proton.org/images/tokens/xtokensXUNI.png',\n coingeckoId: 'uniswap'\n },\n { \n allowSwap: false,\n allowBridge: false,\n allowLend: false,\n allowBorrow: false,\n name: '1INCH',\n coin: '1INCH',\n xtokenSymbol: 'XINCH',\n xtokenPrecision: 6,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_MAINNET ? [{\n wallet: '1INCH',\n symbol: '1INCH',\n chain: Chains.EthereumMainnet,\n network: Networks.ERC20,\n precision: 18,\n contract: '0x111111111117DC0AA78B770FA6A738034120C302',\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.proton.org/images/tokens/xtokensXINCH.png',\n coingeckoId: '1inch'\n },\n { \n allowSwap: false,\n allowBridge: false,\n allowLend: false,\n allowBorrow: false,\n name: 'Chainlink',\n coin: 'LINK',\n xtokenSymbol: 'XLINK',\n xtokenPrecision: 6,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_MAINNET ? [{\n wallet: 'LINK',\n symbol: 'LINK',\n chain: Chains.EthereumMainnet,\n network: Networks.ERC20,\n precision: 18,\n contract: '0x514910771AF9CA656AF840DFF83E8264ECF986CA',\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.proton.org/images/tokens/xtokensXLINK.png',\n coingeckoId: 'chainlink'\n },\n { \n allowSwap: IS_MAINNET,\n allowBridge: true,\n allowLend: false,\n allowBorrow: false,\n name: 'Litecoin',\n coin: 'LTC',\n xtokenSymbol: 'XLTC',\n xtokenPrecision: 8,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_MAINNET ? [{\n wallet: 'LTC',\n symbol: 'LTC',\n chain: Chains.LitecoinMainnet,\n network: Networks.Mainnet,\n precision: 8,\n contract: undefined,\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: []),\n ...(IS_TESTNET ? [{\n wallet: 'LTC',\n symbol: 'LTC',\n chain: Chains.LitecoinTestnet,\n network: Networks.Testnet,\n precision: 8,\n contract: undefined,\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.proton.org/images/tokens/xtokensXLTC.png',\n coingeckoId: 'litecoin'\n },\n { \n allowSwap: IS_MAINNET,\n allowBridge: true,\n allowLend: false,\n allowBorrow: false,\n name: 'Bitcoin Cash',\n coin: 'BCH',\n xtokenSymbol: 'XBCH',\n xtokenPrecision: 8,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_MAINNET ? [{\n wallet: 'BCH',\n symbol: 'BCH',\n chain: Chains.BitcoinCashMainnet,\n network: Networks.Mainnet,\n precision: 8,\n contract: undefined,\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: []),\n ...(IS_TESTNET ? [{\n wallet: 'BCH',\n symbol: 'BCH',\n chain: Chains.BitcoinCashTestnet,\n network: Networks.Testnet,\n precision: 8,\n contract: undefined,\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.proton.org/images/tokens/xtokensXBCH.png',\n coingeckoId: 'bitcoin-cash'\n },\n { \n allowSwap: true,\n allowBridge: true,\n allowLend: false,\n allowBorrow: false,\n name: 'LunarCrush',\n coin: 'LUNR',\n xtokenSymbol: 'XLUNR',\n xtokenPrecision: 4,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_MAINNET ? [{\n wallet: 'LUNR',\n symbol: 'LUNR',\n chain: Chains.EthereumMainnet,\n network: Networks.ERC20,\n precision: 4,\n contract: undefined,\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: []),\n ],\n image: 'https://raw.githubusercontent.com/eoscafe/eos-airdrops/master/logos/xlunr.png',\n coingeckoId: 'lunr-token'\n },\n { \n allowSwap: false,\n allowBridge: IS_TESTNET,\n allowLend: false,\n allowBorrow: false,\n name: 'Stellar',\n coin: 'XLM',\n xtokenSymbol: 'XXLM',\n xtokenPrecision: 6,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_MAINNET ? [{\n wallet: 'XLM',\n symbol: 'XLM',\n chain: Chains.StellarMainnet,\n network: Networks.Mainnet,\n precision: 7,\n contract: undefined,\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: true\n }]: []),\n ...(IS_TESTNET ? [{\n wallet: 'XLM',\n symbol: 'XLM',\n chain: Chains.StellarTestnet,\n network: Networks.Testnet,\n precision: 7,\n contract: undefined,\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: true\n }]: [])\n ],\n image: 'https://www.proton.org/images/tokens/xtokensXXLM.png',\n coingeckoId: 'stellar'\n },\n { \n allowSwap: false,\n allowBridge: false,\n allowLend: false,\n allowBorrow: false,\n name: 'Sense',\n coin: 'SENSE',\n xtokenSymbol: 'XSENSE',\n xtokenPrecision: 4,\n xtokenContract: 'sense',\n wallets: [],\n image: 'https://www.proton.org/images/tokens/senseXSENSE.png',\n coingeckoId: 'sense'\n },\n { \n allowSwap: false,\n allowBridge: false,\n allowLend: false,\n allowBorrow: false,\n name: 'Polkadot',\n coin: 'DOT',\n xtokenSymbol: 'XDOT',\n xtokenPrecision: 8,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_MAINNET ? [{\n wallet: 'DOT',\n symbol: 'DOT',\n chain: Chains.PolkadotMainnet,\n network: Networks.Mainnet,\n precision: 10,\n contract: undefined,\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.proton.org/images/tokens/xtokensXDOT.png',\n coingeckoId: 'polkadot'\n },\n { \n allowSwap: true,\n allowBridge: IS_MAINNET,\n allowLend: false,\n allowBorrow: false,\n name: 'Binance Coin',\n coin: 'BNB',\n xtokenSymbol: 'XBNB',\n xtokenPrecision: 8,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_MAINNET ? [{\n wallet: 'BNB',\n symbol: 'BNB',\n chain: Chains.BinanceBEP20,\n network: Networks.BEP20,\n precision: 18,\n contract: undefined,\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.proton.org/images/tokens/xtokensXBNB.png',\n coingeckoId: 'binancecoin'\n },\n { \n allowSwap: false,\n allowBridge: IS_MAINNET,\n allowLend: false,\n allowBorrow: false,\n name: 'Binance USD',\n coin: 'BUSD',\n xtokenSymbol: 'XBUSD',\n xtokenPrecision: 6,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_MAINNET ? [{\n wallet: 'BUSD-BEP20',\n symbol: 'BUSD',\n chain: Chains.BinanceBEP20,\n network: Networks.BEP20,\n precision: 18,\n contract: '0xe9e7cea3dedca5984780bafc599bd69add087d56',\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://raw.githubusercontent.com/eoscafe/eos-airdrops/master/logos/xbusd.png',\n coingeckoId: 'binance-usd'\n },\n { \n allowSwap: true,\n allowBridge: true,\n allowLend: false,\n allowBorrow: false,\n name: 'EOS',\n coin: 'EOS',\n xtokenSymbol: 'XEOS',\n xtokenPrecision: 4,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_MAINNET ? [{\n wallet: 'EOS',\n symbol: 'EOS',\n chain: Chains.EosMainnet,\n network: Networks.Mainnet,\n precision: 4,\n contract: undefined,\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: true\n }]: []),\n ...(IS_TESTNET ? [{\n wallet: 'EOS',\n symbol: 'EOS',\n chain: Chains.EosTestnet,\n network: Networks.Testnet,\n precision: 4,\n contract: undefined,\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: true\n }]: [])\n ],\n image: 'https://www.proton.org/images/tokens/xtokensXEOS.png',\n coingeckoId: 'eos'\n },\n { \n allowSwap: IS_MAINNET,\n allowBridge: IS_MAINNET,\n allowLend: true,\n allowBorrow: true,\n name: 'Dogecoin',\n coin: 'DOGE',\n xtokenSymbol: 'XDOGE',\n xtokenPrecision: 6,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_MAINNET ? [{\n wallet: 'DOGE',\n symbol: 'DOGE',\n chain: Chains.DogeMainnet,\n network: Networks.Mainnet,\n precision: 8,\n contract: undefined,\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: []),\n ],\n image: 'https://www.proton.org/images/tokens/xtokensXDOGE.png',\n coingeckoId: 'dogecoin'\n },\n { \n allowSwap: IS_MAINNET,\n allowBridge: IS_MAINNET,\n allowLend: false,\n allowBorrow: false,\n name: 'Cardano',\n coin: 'ADA',\n xtokenSymbol: 'XADA',\n xtokenPrecision: 6,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_MAINNET ? [{\n wallet: 'ADA',\n symbol: 'ADA',\n chain: Chains.CardanoMainnet,\n network: Networks.Mainnet,\n precision: 6,\n contract: undefined,\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.proton.org/images/tokens/xtokensXADA.png',\n coingeckoId: 'cardano'\n },\n\n // Adding\n { \n allowSwap: false,\n allowBridge: false,\n allowLend: false,\n allowBorrow: false,\n name: 'Terra',\n coin: 'LUNA',\n xtokenSymbol: 'XLUNA',\n xtokenPrecision: 6,\n xtokenContract: 'xtokens',\n wallets: [\n // ...(IS_MAINNET ? [{\n // wallet: 'LUNA',\n // symbol: 'LUNA',\n // chain: Chains.TerraMainnet,\n // network: Networks.Mainnet,\n // precision: 6,\n // contract: undefined,\n // provider: Providers.FIREBLOCKS,\n // hasWithdrawMemo: true\n // }]: [])\n ],\n image: 'https://www.proton.org/images/tokens/xtokensXLUNA.png',\n coingeckoId: 'terra-luna'\n },\n { \n allowSwap: false,\n allowBridge: false,\n allowLend: false,\n allowBorrow: false,\n name: 'TerraUSD',\n coin: 'UST',\n xtokenSymbol: 'XUST',\n xtokenPrecision: 6,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_MAINNET ? [{\n wallet: 'UST',\n symbol: 'UST',\n chain: Chains.TerraMainnet,\n network: Networks.Mainnet,\n precision: 6,\n contract: undefined,\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: true\n }]: [])\n ],\n image: 'https://www.proton.org/images/tokens/xtokensXUST.png',\n coingeckoId: 'terrausd'\n },\n { \n allowSwap: false,\n allowBridge: IS_MAINNET,\n allowLend: false,\n allowBorrow: false,\n name: 'Solana',\n coin: 'SOL',\n xtokenSymbol: 'XSOL',\n xtokenPrecision: 6,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_MAINNET ? [{\n wallet: 'SOL',\n symbol: 'SOL',\n chain: Chains.SolanaMainnet,\n network: Networks.Mainnet,\n precision: 9,\n contract: undefined,\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://raw.githubusercontent.com/eoscafe/eos-airdrops/master/logos/xsol.png',\n coingeckoId: 'solana'\n },\n { \n allowSwap: false,\n allowBridge: IS_MAINNET,\n allowLend: false,\n allowBorrow: false,\n name: 'Ripple',\n coin: 'XRP',\n xtokenSymbol: 'XXRP',\n xtokenPrecision: 6,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_MAINNET ? [{\n wallet: 'XRP',\n symbol: 'XRP',\n chain: Chains.RippleMainnet,\n network: Networks.Mainnet,\n precision: 6,\n contract: undefined,\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: true\n }]: [])\n ],\n image: 'https://raw.githubusercontent.com/eoscafe/eos-airdrops/master/logos/xxrp.png',\n coingeckoId: 'ripple'\n },\n\n // Future\n { \n allowSwap: false,\n allowBridge: false,\n allowLend: false,\n allowBorrow: false,\n name: 'Avalanche',\n coin: 'AVAX',\n xtokenSymbol: 'XAVAX',\n xtokenPrecision: 9,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_MAINNET ? [\n {\n wallet: 'AVAX',\n symbol: 'AVAX',\n chain: Chains.AvalancheCChain,\n network: Networks.Mainnet,\n precision: 9,\n contract: undefined,\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }\n ]: [])\n ],\n image: 'https://www.proton.org/images/tokens/xtokensXAVAX.png',\n coingeckoId: 'avalanche-2'\n },\n { \n allowSwap: false,\n allowBridge: false,\n allowLend: false,\n allowBorrow: false,\n name: 'Polygon',\n coin: 'MATIC',\n xtokenSymbol: 'XMATIC',\n xtokenPrecision: 8,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_MAINNET ? [{\n wallet: 'MATIC',\n symbol: 'MATIC',\n chain: Chains.PolygonMainnet,\n network: Networks.Mainnet,\n precision: 18,\n contract: '0x0000000000000000000000000000000000000000',\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.proton.org/images/tokens/xtokensXMATIC.png',\n coingeckoId: 'matic-network'\n },\n { \n allowSwap: false,\n allowBridge: false,\n allowLend: false,\n allowBorrow: false,\n name: 'Metal Dollar',\n coin: 'XMD',\n xtokenSymbol: 'XMD',\n xtokenPrecision: 6,\n xtokenContract: 'xmd.token',\n wallets: [],\n image: 'https://github.com/eoscafe/eos-airdrops/blob/master/logos/xmd.png?raw=true',\n coingeckoId: ''\n },\n { \n allowSwap: false,\n allowBridge: IS_TESTNET,\n allowLend: false,\n allowBorrow: false,\n name: 'HBAR',\n coin: 'HBAR',\n xtokenSymbol: 'XHBAR',\n xtokenPrecision: 6,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_TESTNET ? [{\n wallet: 'HBAR',\n symbol: 'HBAR',\n chain: Chains.HederaTestnet,\n network: Networks.Testnet,\n precision: 8,\n contract: undefined,\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: true\n }]: [])\n ],\n image: 'https://www.proton.org/images/tokens/xtokensXHBAR.png',\n coingeckoId: 'hedera-hashgraph'\n }\n ]\n\n // Validation\n const walletWithDuplicateChains = coins.find(coin => {\n const chains = coin.wallets.map(wallet => wallet.chain)\n return new Set(chains).size !== chains.length\n })\n if (walletWithDuplicateChains) {\n throw new Error(`Coin ${walletWithDuplicateChains.coin} has duplicate chains in wallet`)\n }\n\n return {\n allCoins: coins,\n swapCoins: coins.filter(coin => coin.allowSwap),\n bridgeCoins: coins.filter(coin => coin.allowBridge),\n lendCoins: coins.filter(coin => coin.allowLend),\n borrowCoins: coins.filter(coin => coin.allowBorrow),\n loanCoins: coins.filter(coin => coin.allowLend || coin.allowBorrow),\n allEnabledCoins: coins.filter(coin => coin.allowSwap || coin.allowBridge || coin.xtokenSymbol === 'XMD')\n }\n}","import * as z from 'zod'\n\nexport const accountParser = z.string().regex(/^[.1-5a-z]{0,12}[.1-5a-j]?$/)\n\nexport const authorizationParser = z.object({\n actor : accountParser,\n permission: z.string()\n})\nexport type Authorization = z.infer<typeof authorizationParser>\n\nexport const authorizationsParser = z.array(authorizationParser).min(1)\nexport type Authorizations = z.infer<typeof authorizationsParser>\n\nexport const ExtendedAssetParser = z.object({\n quantity: z.string(),\n contract: accountParser\n})\nexport type ExtendedAsset = z.infer<typeof ExtendedAssetParser>","import * as z from 'zod';\nimport { accountParser, authorizationsParser } from './base'\n\nconst actionParser = z.object({\n account: z.string(),\n name: z.string(),\n authorization: z.array(\n z.object({\n actor: z.string(),\n permission: z.string(),\n })\n ),\n data: z.any(),\n hex_data: z.string().optional()\n})\n\nconst transactionExtensionsParser = z.array(z.number().or(z.string())).optional()\n\nconst rawTransactionParser = z.object({\n expiration : z.string(),\n ref_block_num : z.number(),\n ref_block_prefix : z.number(),\n max_net_usage_words : z.number(),\n max_cpu_usage_ms : z.number(),\n delay_sec : z.number(),\n context_free_actions : z.array(actionParser),\n transaction_extensions: z.array(transactionExtensionsParser)\n})\n\nexport const baseActionParser = <T extends z.ZodRawShape>(contract: string, action: string, data: T) => z.object({\n account: contract === '*' ? accountParser : z.literal(contract),\n name: z.literal(action),\n data: z.object(data),\n authorization: authorizationsParser\n})\n\nexport const baseActionSerializedParser = <T extends z.ZodRawShape>(contract: string, action: string, data: T) => z.object({\n account: contract === '*' ? accountParser : z.literal(contract),\n name: z.literal(action),\n data: z.string().or(z.object(data)),\n authorization: authorizationsParser\n})\n\nexport const webauthActionParser = <T extends z.ZodRawShape>(contract: string, action: string, data: T) => z.object({\n account: z.literal('webauthn'),\n name: z.literal('exec'),\n data: z.object({\n account: accountParser,\n key: z.object({\n key: z.array(z.string().or(z.object({\n modulus: z.string(),\n exponent: z.string()\n }))),\n user_presence: z.number(),\n rpid: z.string()\n }),\n nonce: z.number(),\n permissions: authorizationsParser,\n signature: z.object({\n auth_data: z.string(),\n client_json: z.string(),\n signature: z.string()\n }),\n trx: rawTransactionParser.merge(\n z.object({\n actions: z.array(\n baseActionSerializedParser(contract, action, data)\n ).length(1)\n })\n )\n }),\n authorization: authorizationsParser\n})\n\nexport const singleActionTransactionParser = <T extends z.ZodRawShape>(contract: string, action: string, data: T) => {\n const baseAction = baseActionParser(contract, action, data)\n const webauthAction = webauthActionParser(contract, action, data)\n\n return rawTransactionParser.merge(z.object({\n actions: z.array(baseAction.or(webauthAction)).length(1)\n }))\n}","import { Coin, CoinWallet, initializeCoins, Wallet } from './coins'\n\nexport const WRAP_CONTRACT = 'proton.wrap'\nexport const WRAP_AUTH_ACTION = 'generateauth'\nexport const FEE_FACTOR = 10000\n\nexport const initializeConstants = (chain: string) => {\n const { swapCoins, bridgeCoins, allEnabledCoins, allCoins, lendCoins, borrowCoins, loanCoins } = initializeCoins(chain)\n\n const constants = {\n SWAP_CONTRACT: 'proton.swaps',\n DEX_CONTRACT: 'dex', \n FEE_FACTOR,\n GOOGLE_MAPS_KEY: 'AIzaSyDb2_CrK032kSIqBXbkdwmaLKWELl0SxVs',\n SWAP_URL: chain === 'proton'\n ? 'https://otc.protonswap.com'\n : 'https://otc-test.protonswap.com',\n WRAP_SERVER_URL: chain === 'proton'\n ? 'https://www.api.bloks.io/proton-wrap-public2'\n : 'https://www.api.bloks.io/proton-wrap-testnet-public2',\n WRAP_CONTRACT,\n WRAP_ACTIONS: {\n SAVE_ADDRESS: 'saveaddress2',\n DELETE_ADDRESS: 'deladdress2',\n WRAP_START: 'wrapstart2',\n WRAP_FINISH: 'wrapfinish2',\n WRAP_PROCESS: 'wrapprocess2',\n WRAP_SET_CONF: 'wrapsetconf2',\n },\n WRAP_TABLES: {\n ADDRESSES: 'addresses2',\n WRAPS: 'wraps2'\n },\n ADDRESSES_INDEXES: {\n BY_ACCOUNT: 2,\n BY_ADDR_HASH: 3\n },\n WRAPS_INDEXES: {\n BY_ACCOUNT: 2,\n BY_STATUS: 3,\n BY_WRAP_HASH: 4\n },\n WRAP_PROCESS_TIMER: 5000,\n\n FARM_CONTRACT: 'yield.farms',\n\n WEBHOOK_PERMISSION: 'webhook',\n PUBLIC_PERMISSION: 'public',\n LIGHT_PERMISSION: 'light',\n WRAP_AUTH_ACTION: WRAP_AUTH_ACTION,\n\n METAL_ENDPOINT: chain === 'proton'\n ? 'https://cirrus.metalpay.com'\n : 'https://cirrus-dev.metalpay.com',\n\n METAL_PROTON_ENDPOINT: chain === 'proton'\n ? 'https://api.protonchain.com'\n : 'https://api-dev.protonchain.com',\n\n METAL_DEX_HTTP_ENDPOINT: chain === 'proton'\n ? 'https://metal-dexdb.global.binfra.one/dex'\n : 'https://metallicus-dbapi-dev01.binfra.one/dex',\n\n METAL_DEX_WS_ENDPOINT: chain === 'proton'\n ? 'wss://metal-dexdb.global.binfra.one/dexws'\n : 'wss://metallicus-dbapi-dev01.binfra.one/dexws',\n\n PROTON_ENDPOINTS: chain === 'proton'\n ? ['https://metal-proton-rpc.global.binfra.one', 'https://proton.greymass.com', 'https://proton.eoscafeblock.com', 'https://proton.cryptolions.io', 'https://proton.eosusa.news']\n : ['https://metal-protontest-rpc.global.binfra.one', 'https://testnet.protonchain.com'],\n\n CHAIN_ID: chain === 'proton'\n ? '384da888112027f0321850a169f737c33e53b388aad48b5adace4bab97f437e0'\n : '71ee83bcf52142d61019d95f9cc5427ba6a0d7ff8accd9e2088ae2abeaf3d3dd',\n\n DEX_PROCESS_SIZE: 30,\n DEX_SLTPPROCESS_SIZE: 10,\n MAX_PRICE: \"9223372036854775806\",\n MAX_ITEMS_PER_PAGE_DESKTOP: 25,\n MIN_PRICE: 1,\n DEFAULT_DEX_SYMBOL: chain === 'proton'\n ? 'XPR_XMD'\n : 'XPR_XUSDC',\n\n CHAIN: chain,\n\n SWAP_COINS: swapCoins,\n BRIDGE_COINS: bridgeCoins,\n ALL_ENABLED_COINS: allEnabledCoins,\n LEND_COINS: lendCoins,\n BORROW_COINS: borrowCoins,\n LOAN_COINS: loanCoins,\n ALL_COINS: allCoins,\n\n findBridgeCoinWalletByXtokenAndChain (xtokenSymbol: string, chain: string): CoinWallet | undefined {\n const bridgeCoin = constants.BRIDGE_COINS.find((bridgeCoin: Coin) => bridgeCoin.xtokenSymbol === xtokenSymbol)\n if (!bridgeCoin) return undefined\n const bridgeWallet = bridgeCoin.wallets.find((bridgeWallet: Wallet) => bridgeWallet.chain === chain)\n if (!bridgeWallet) return undefined\n\n return {\n ...bridgeCoin,\n ...bridgeWallet\n }\n },\n\n findBridgeCoinWallet (coin: string, wallet: string): CoinWallet | undefined {\n const bridgeCoin = constants.BRIDGE_COINS.find((bridgeCoin: Coin) => bridgeCoin.coin === coin)\n if (!bridgeCoin) return undefined\n\n const bridgeWallet = bridgeCoin.wallets.find((bridgeWallet: Wallet) => bridgeWallet.wallet === wallet)\n if (!bridgeWallet) return undefined\n\n return {\n ...bridgeCoin,\n ...bridgeWallet\n }\n },\n\n findBridgeCoinNetwork (coin: string, network: string): CoinWallet | undefined {\n const bridgeCoin = constants.BRIDGE_COINS.find((bridgeCoin: Coin) => bridgeCoin.coin === coin)\n if (!bridgeCoin) return undefined\n const bridgeWallet = bridgeCoin.wallets.find((bridgeWallet: Wallet) => bridgeWallet.network === network)\n if (!bridgeWallet) return undefined\n\n return {\n ...bridgeCoin,\n ...bridgeWallet\n }\n }\n }\n\n return constants\n}","import * as z from 'zod';\nimport { baseActionParser, singleActionTransactionParser } from './actions'\nimport { authorizationParser } from './base'\nimport { WRAP_CONTRACT, WRAP_AUTH_ACTION } from '../constants'\n\nexport const createAbstractAuthParser = (contract: string, action: string, data: z.ZodRawShape) => {\n return z.object({\n signer : authorizationParser,\n signatures : z.array(z.string()).length(1),\n transaction: singleActionTransactionParser(contract, action, data)\n })\n}\n\nconst generateAuthData = {\n time: z.string(),\n protonAccount: z.string()\n}\nconst generateAuthActionsBaseParser = baseActionParser(WRAP_CONTRACT, WRAP_AUTH_ACTION, generateAuthData)\nexport type GenerateAuthBaseAction = z.infer<typeof generateAuthActionsBaseParser>\n\nexport const generateAuthParser = createAbstractAuthParser(WRAP_CONTRACT, WRAP_AUTH_ACTION, generateAuthData)\nexport type GenerateAuth = z.infer<typeof generateAuthParser>","import * as z from 'zod';\nimport { accountParser } from './base'\nimport { generateAuthParser } from './auth'\n\nexport const addressParser = z.object({\n index : z.number(),\n account : accountParser,\n chain : z.string(),\n address : z.string(),\n address_hash: z.string(),\n})\nexport type Address = z.infer<typeof addressParser>\n\nexport const generateAddressBodyParser = z.object({\n coin: z.string(),\n wallet: z.string(),\n}).merge(generateAuthParser)\nexport type GenerateAddressBody = z.infer<typeof generateAddressBodyParser>\n\nexport const generateAddressResponse = z.object({\n id : z.string(), // \"2448834505708930950\",\n address: z.string(), // \"0x617C03C1E2Bf81C062A4CEfbE312c070E1d86d18\",\n coin : z.string(), // \"ETH\",\n wallet : z.string(), // \"ETH\",\n memo : z.string().optional()\n})\nexport type GenerateAddressResponse = z.infer<typeof generateAddressResponse>\n","import * as z from 'zod'\n\nexport interface CurrencyStat {\n supply : string;\n max_supply: string;\n issuer : string;\n}\nexport interface CurrencyStats {\n [key: string]: CurrencyStat;\n}\n\nexport const rateParser = z.object({\n counterCurrency : z.string(),\n price : z.number(),\n priceChangePercent: z.number(),\n marketCap : z.number(),\n volume : z.number(),\n timestamp : z.number()\n})\nexport type Rate = z.infer<typeof rateParser>\n\nexport const exchangeRateParser = z.object({\n contract: z.string(),\n symbol : z.string(),\n rank : z.number(),\n rates : z.array(rateParser)\n})\nexport type ExchangeRate = z.infer<typeof exchangeRateParser>\n\nexport const exchangeRatesParser = z.array(exchangeRateParser)\nexport type ExchangeRates = z.infer<typeof exchangeRatesParser>\n\nexport const bloksRatesParser = z.array(z.object({\n contract: z.string(),\n symbol : z.string(),\n rank : z.number(),\n rates : z.array(rateParser)\n}))\n\nexport type BloksRate = {\n key: string;\n symbol: string;\n account: string;\n chain: string;\n supply: {\n circulating: number;\n max: number;\n precision: number;\n last_update: string;\n };\n metadata: {\n name: string;\n website: string;\n logo: string;\n created_at: string;\n desc: string;\n };\n pairs: [\n {\n id: string;\n pair_base: string;\n pair_quote: string;\n exchange: string;\n quote:{\n price: number\n volume_base_24h: number\n volume_quote_24h: number\n market_cap: number\n price_usd: number\n volume_usd_24h: number\n },\n percentage_daily_volume: number\n },\n ];\n price: {\n quotes: {\n [key: string]: number\n },\n usd: number;\n volume_base_24h: number;\n volume_usd_24h: number;\n marketcap_usd: number;\n change_24hr: number;\n },\n rank: number;\n chain_rank: number;\n}\n\nexport type BloksRates = BloksRate[]","import * as z from 'zod'\n\nexport enum Type {\n RECEIVE = 'receive',\n SEND = 'send'\n}\n\nexport const depositBodyParser = z.object({\n id : z.string(), // \"0x000010203121388fac991\"\n type : z.nativeEnum(Type), // \"receive\" or \"send\"\n hash : z.string(), // \"0x000010203121388fac991\"\n coin : z.string(), // \"ETH\" or \"XPR\"\n wallet : z.string(), // \"ETH-ROPSTEN\" or \"XPR-MAINNET\"\n network : z.string(), // \"erc29\"\n})\nexport type DepositBody = z.infer<typeof depositBodyParser>\n\nexport const transactionParser = z.object({\n id : z.string(), // \"2629304740076324677\"\n wallet : z.string(), // \"ETH\"\n value : z.number(), // 10000000000000000\n valueString : z.string(), // \"10000000000000000\"\n address : z.string(), // \"0x0000\"\n type : z.nativeEnum(Type), // \"receive\" or \"send\"\n state : z.string(), // \"confirmed\"\n confirmations : z.number(), // 1\n hash : z.string(), // \"b4781422be95fee8fbbf720e3e0fa9705ae834474ef25f5724cdd0f5d23211ed\"\n blockHash : z.string().optional().nullable(), // \"000000000000000000089b270eb99f75107d6a9cde37ec944cb80a2998df7b43\"\n blockHeight : z.number().optional().nullable(), // 643159\n})\nexport type Transaction = z.infer<typeof transactionParser>","import * as z from 'zod'\n\nexport const otcOrderResponseParser = z.object({\n success : z.boolean(),\n transaction_id: z.string(),\n errormsg : z.string().optional()\n})\nexport type OtcOrderResponse = z.infer<typeof otcOrderResponseParser>\n\nexport const otcQuoteBodyParser = z.object({\n baseAmount : z.number(),\n baseSymbol : z.string(),\n quoteSymbol: z.string()\n})\nexport type OtcQuoteBody = z.infer<typeof otcQuoteBodyParser>\n\nexport const otcQuoteResponseParser = z.object({\n success : z.boolean(),\n token : z.string(),\n qty : z.number(),\n errormsg: z.string().optional()\n})\nexport type OtcQuoteResponse = z.infer<typeof otcQuoteResponseParser>","import * as z from 'zod'\nimport { singleActionTransactionParser } from './actions'\nimport { authorizationParser } from './base'\nimport { WRAP_CONTRACT } from '../constants'\nimport { baseActionParser } from './actions'\n\nconst withdrawData = {\n from: z.string().refine((val) => val !== WRAP_CONTRACT, {\n message: `${WRAP_CONTRACT} must be receiver`,\n }),\n to: z.literal(WRAP_CONTRACT),\n quantity: z.string(),\n memo: z.string()\n}\nconst withdrawBodyBaseAction = baseActionParser('*', 'transfer', withdrawData)\nexport type WithdrawBodyBaseAction = z.infer<typeof withdrawBodyBaseAction>\n\nexport const withdrawBodyParser = z.object({\n signer : authorizationParser,\n signatures : z.array(z.string()).length(1),\n transaction: singleActionTransactionParser('*', 'transfer', withdrawData),\n quoteId: z.string(),\n provider: z.string().optional()\n})\nexport type WithdrawBody = z.infer<typeof withdrawBodyParser>\n\nexport const withdrawMetalResponseParser = z.object({\n success: z.boolean(),\n id : z.string(),\n})\nexport type WithdrawMetalResponse = z.infer<typeof withdrawMetalResponseParser>\n\nexport const withdrawalFeeQuoteParser = z.object({\n quoteId : z.string(),\n estimatedFee: z.string(),\n currency : z.string(),\n network : z.string(),\n})\nexport type WithdrawalFeeQuote = z.infer<typeof withdrawalFeeQuoteParser>","import * as z from 'zod'\n\nexport const withdrawHistoryMetalSwapParser = z.object({\n id : z.string(),\n status : z.string(),\n amount : z.string(),\n currency : z.string(),\n network : z.string(),\n created : z.string(),\n withdrawalAddress: z.string(),\n withdrawalHash : z.string().optional()\n})\nexport type WithdrawHistoryMetalSwap = z.infer<typeof withdrawHistoryMetalSwapParser>\n\nexport const withdrawHistoryMetalResponseParser = z.object({\n swaps : z.array(withdrawHistoryMetalSwapParser),\n page : z.number(),\n pageSize : z.number(),\n numberOfElements: z.number(),\n totalPages : z.number(),\n totalElements : z.number()\n})\nexport type WithdrawHistoryMetalResponse = z.infer<typeof withdrawHistoryMetalResponseParser>\n","import * as z from 'zod'\nimport { ExtendedAssetParser } from './base'\n\nexport enum Status {\n PENDING = 'pending',\n SUCCESS = 'success',\n FAIL = 'fail',\n PROCESSING = 'processing'\n}\n\nexport const wrapStartParser = z.object({\n balance : ExtendedAssetParser,\n id : z.string(),\n txid : z.string(),\n chain : z.string(),\n deposit_address: z.string(),\n confirmations : z.number()\n})\n\nexport type WrapStart = z.infer<typeof wrapStartParser>\n\nexport const wrapSetConfParser = z.object({\n wrap_hash : z.string(),\n confirmations: z.number()\n})\nexport type WrapSetConf = z.infer<typeof wrapSetConfParser>\n\nexport const wrapParser = z.object({\n index : z.number(),\n proton_account : z.string(),\n balance : ExtendedAssetParser,\n id : z.string(),\n txid : z.string(),\n chain : z.string(),\n deposit_address: z.string(),\n status : z.nativeEnum(Status),\n finish_txid : z.string(),\n wrap_hash : z.string(),\n confirmations : z.number(),\n})\nexport type Wrap = z.infer<typeof wrapParser>","import * as z from 'zod';\n\n/**\n * OHLCV\n */\nexport const ohlcvParser = z.object({\n time: z.number(),\n open: z.number(),\n high: z.number(),\n low: z.number(),\n close: z.number(),\n volume: z.number(),\n volume_bid: z.number(),\n count: z.number()\n})\nexport type OHLCV = z.infer<typeof ohlcvParser>\n\nexport const getOhlcvParser = z.object({\n interval: z.string(),\n from: z.string(),\n to: z.string(),\n symbol: z.string(),\n limit: z.string().default(\"500\").refine(n => +n <= 1000, 'Max limit is 1000'),\n})\nexport type GetOHLCV = z.infer<typeof getOhlcvParser>\n\nexport const getOhlcvResponseParser = z.object({\n sync: z.number(),\n data: z.array(ohlcvParser)\n})\nexport type GetOHLCVResponse = z.infer<typeof getOhlcvResponseParser>\n\n/**\n * Order History\n */\nexport const orderHistoryParser = z.object({\n seq: z.number(),\n block_num: z.number(),\n block_time: z.string(),\n order_id: z.number(),\n market_id: z.number(),\n quantity_init: z.number().optional(),\n quantity_curr: z.number(),\n price: z.number(),\n account_name: z.string(),\n order_side: z.number(),\n order_type: z.number(),\n trigger_price: z.number(),\n fill_type: z.number(),\n status: z.string(),\n quantity_change: z.number(),\n trx_id: z.string(),\n})\nexport type OrderHistory = z.infer<typeof orderHistoryParser>\n\nexport const getOpenOrdersParser = z.object({\n account: z.string(),\n symbol: z.string().optional(),\n offset: z.string().default(\"0\"),\n limit: z.string().default(\"100\").refine(n => +n <= 250, 'Max limit is 250')\n})\nexport type GetOpenOrders = z.infer<typeof getOpenOrdersParser>\n\nexport const getOpenOrdersResponseParser = z.object({\n sync: z.number(),\n count: z.number(),\n data: z.array(orderHistoryParser)\n})\nexport type GetOpenOrdersResponse = z.infer<typeof getOpenOrdersResponseParser>\n\nexport const getOrderHistoryParser = z.object({\n account: z.string(),\n symbol: z.string().optional(),\n offset: z.string().default(\"0\"),\n limit: z.string().default(\"100\").refine(n => +n <= 250, 'Max limit is 250'),\n transaction_id: z.string().optional(),\n})\nexport type GetOrderHistory = z.infer<typeof getOrderHistoryParser>\n\nexport const getOrderHistoryResponseParser = z.object({\n sync: z.number(),\n count: z.number(),\n data: z.array(orderHistoryParser)\n})\nexport type GetOrderHistoryResponse = z.infer<typeof getOrderHistoryResponseParser>\n\nexport const getOrderParser = z.object({\n order_id: z.string()\n})\nexport type GetOrder = z.infer<typeof getOrderParser>\n\nexport const getOrderResponseParser = z.object({\n sync: z.number(),\n data: z.array(orderHistoryParser)\n})\nexport type GetOrderResponse = z.infer<typeof getOrderResponseParser>\n\n/**\n * Depth\n */\nexport const depthParser = z.object({\n level: z.number(),\n ask: z.number(),\n bid: z.number(),\n count: z.number(),\n})\nexport type Depth = z.infer<typeof depthParser>\n\nexport const getDepthParser = z.object({\n symbol: z.string(),\n step: z.string(),\n limit: z.string().default(\"100\").refine(n => +n <= 250, 'Max limit is 250'),\n})\nexport type GetDepth = z.infer<typeof getDepthParser>\n\nexport const getDepthResponseParser = z.object({\n sync: z.number(),\n data: z.object({\n bids: z.array(depthParser),\n asks: z.array(depthParser),\n })\n})\nexport type GetDepthResponse = z.infer<typeof getDepthResponseParser>\n\n/**\n * Daily\n */\nexport const dailyParser = z.object({\n market_id: z.number(),\n first: z.number(),\n last: z.number(),\n bid: z.number(),\n ask: z.number(),\n change_percentage_24hr: z.number()\n})\nexport type Daily = z.infer<typeof dailyParser>\n\nexport const getDailyResponseParser = z.object({\n sync: z.number(),\n data: z.array(dailyParser)\n})\nexport type GetDailyResponseParser = z.infer<typeof getDailyResponseParser>\n\n/**\n * Markets\n */\nexport const marketParser = z.object({\n market_id: z.number(),\n symbol: z.string(),\n status_code: z.number(),\n type: z.string(),\n maker_fee: z.number(),\n taker_fee: z.number(),\n order_min: z.number(),\n bid_token: z.object({\n code: z.string(),\n precision: z.number(),\n contract: z.string(),\n multiplier: z.number()\n }),\n ask_token: z.object({\n code: z.string(),\n precision: z.number(),\n contract: z.string(),\n multiplier: z.number()\n })\n})\nexport type Market = z.infer<typeof marketParser>\n\nexport const getMarketsResponseParser = z.object({\n sync: z.number(),\n data: z.array(marketParser)\n})\nexport type GetMarketsResponse = z.infer<typeof getMarketsResponseParser>\n\n/**\n * Trades\n */\nexport const tradeParser = z.object({\n block_num: z.number(),\n block_time: z.string(),\n trade_id: z.number(),\n market_id: z.number(),\n price: z.number(),\n bid_user: z.string(),\n bid_user_order_id: z.number(),\n bid_total: z.number(),\n bid_amount: z.number(),\n bid_fee: z.number(),\n ask_user: z.string(),\n ask_user_order_id: z.number(),\n ask_total: z.number(),\n ask_amount: z.number(),\n ask_fee: z.number(),\n order_side: z.number(),\n trx_id: z.string(),\n})\nexport type Trade = z.infer<typeof tradeParser>\n\nexport const getTradesParser = z.object({\n symbol: z.string(),\n offset: z.string().default(\"0\"),\n limit: z.string().default(\"100\").refine(n => +n <= 250, 'Max limit is 250'),\n})\nexport type GetTrades = z.infer<typeof getTradesParser>\n\nexport const getTradesResponseParser = z.object({\n sync: z.number(),\n data: z.array(tradeParser)\n})\nexport type GetTradesResponseParser = z.infer<typeof getTradesResponseParser>\n\nexport const getTradeHistoryParser = z.object({\n account: z.string(),\n symbol: z.string().optional(),\n offset: z.string().default(\"0\"),\n limit: z.string().default(\"100\").refine(n => +n <= 250, 'Max limit is 250'),\n})\nexport type GetTradeHistory = z.infer<typeof getTradeHistoryParser>\n\nexport const getTradeHistoryResponseParser = z.object({\n sync: z.number(),\n count: z.number(),\n data: z.array(tradeParser)\n})\nexport type GetTradeHistoryResponse = z.infer<typeof getTradeHistoryResponseParser>\n\n/** \n * SYNC\n */\nexport const syncParser = z.object({\n sourceid: z.number(),\n block_num: z.string(),\n block_time: z.string(),\n irreversible: z.string(),\n is_master: z.number(),\n last_updated: z.string(),\n})\nexport type Sync = z.infer<typeof syncParser>\n\nexport const getSyncResponseParser = z.object({\n dbSecondsBehind: z.number(),\n chronicleSecondsBehind: z.number(),\n maxSecondsBehind: z.number()\n})\nexport type GetSyncResponse = z.infer<typeof getSyncResponseParser>\n\n/**\n * Referral Totals\n */\n\n export const refferalTotalParser = z.object({\n referrer: z.string(),\n market_id: z.number(),\n bid_fee: z.number(),\n bid_total: z.number(),\n ask_fee: z.number(),\n ask_total: z.number(),\n})\nexport type ReferralTotal = z.infer<typeof refferalTotalParser>\n\nexport const getReferralTotalsParser = z.object({\n referrer: z.string()\n})\nexport type GetReferralTotals = z.infer<typeof getReferralTotalsParser>\n\nexport const getReferralTotalsResponseParser = z.object({\n sync: z.number(),\n data: z.array(refferalTotalParser)\n})\nexport type GetReferralTotalsResponseParser = z.infer<typeof getReferralTotalsResponseParser>\n\n/**\n * Referrals\n */\nexport const refferalParser = z.object({\n referred_user: z.string(),\n})\nexport type Referral = z.infer<typeof refferalParser>\n\nexport const getReferralsParser = z.object({\n referrer: z.string()\n})\nexport type GetReferrals = z.infer<typeof getReferralsParser>\n\nexport const getReferralsResponseParser = z.object({\n sync: z.number(),\n data: z.array(refferalParser)\n})\nexport type GetReferralsResponseParser = z.infer<typeof getReferralsResponseParser>\n\n/**\n * Leaderboard\n */\nexport const leaderboardParser = z.object({\n user: z.string(),\n total: z.number()\n})\nexport type Leaderboard = z.infer<typeof leaderboardParser>\n\nexport const getLeaderboardParser = z.object({\n market_ids: z.array(z.string()),\n from: z.string(),\n to: z.string(),\n})\nexport type GetLeaderboard = z.infer<typeof getLeaderboardParser>\n\nexport const getLeaderboardResponseParser = z.object({\n sync: z.number(),\n data: z.array(leaderboardParser)\n})\nexport type GetLeaderboardResponseParser = z.infer<typeof getLeaderboardResponseParser>\n\n/**\n * Basic Types\n */\nexport enum orderType { ORDERBOOK = 0, LIMIT = 1, STOPLOSS = 2, TAKEPROFIT = 3 }\n\nexport enum orderSide { INVALID = 0, BUY = 1, SELL = 2 }\n\nexport enum fillType { GTC = 0, IOC = 1, POST_ONLY = 2 }\n\nexport enum logStatus {\n CREATE = \"create\",\n UPDATE = \"update\",\n TRANSFER = \"transfer\",\n CANCEL = \"cancel\",\n DELETE = \"delete\",\n}\n\nexport interface CurrentOrder {\n order_id: number\n market_id: number\n quantity_init: number\n quantity_curr: number\n price: number\n account_name: string\n order_side: number\n order_type: number\n status: string\n created_at: string\n updated_at: string\n}\n\nexport interface DbMarket {\n market_id: number\n order_min: number\n status_code: number\n maker_fee: number\n taker_fee: number\n bid_token_c: string\n bid_token_s: string\n bid_token_m: number\n ask_token_c: string\n ask_token_s: string\n ask_token_m: number\n created_at: string\n updated_at: string\n}\n\nexport enum ITopics {\n TRADES = \"TRADES\",\n ORDERS = \"ORDERS\",\n}\n \nexport const TOPICS = {\n [ITopics.TRADES]: {\n topic: ITopics.TRADES,\n },\n [ITopics.ORDERS]: {\n topic: ITopics.ORDERS,\n }\n}","import * as z from 'zod';\nimport { generateAuthParser } from \"./auth\"\n\nexport const loginAccountParamsV3Parser = z.object({\n email: z.string().optional(),\n verificationCode: z.string().optional(),\n}).merge(generateAuthParser)\n \nexport type LoginAccountParamsV3 = z.infer<typeof loginAccountParamsV3Parser>","interface PartialCoin {\n xtokenSymbol: string;\n xtokenPrecision: number;\n xtokenContract: string;\n}\n\nexport const isSameToken = (token1: PartialCoin, token2: PartialCoin) => {\n return token1.xtokenSymbol === token2.xtokenSymbol &&\n token1.xtokenPrecision === token2.xtokenPrecision &&\n token1.xtokenContract === token2.xtokenContract\n}\n\nexport const median = (numbers: number[]) => {\n const sorted = numbers.slice().sort((a, b) => a - b);\n const middle = Math.floor(sorted.length / 2);\n\n if (sorted.length % 2 === 0) {\n return (sorted[middle - 1] + sorted[middle]) / 2;\n }\n\n return sorted[middle];\n}\n","import cloneDeep from 'lodash.clonedeep'\n\nexport class INode <T> {\n data: T = {} as T\n constructor (public key: string, data?: T) {\n if (data) {\n this.data = data\n }\n }\n}\n\nexport class ILink <T> {\n data: T = {} as T\n constructor (public from: INode<T>, public to: INode<T>, data?: T) {\n if (data) {\n this.data = data\n }\n }\n}\n\nexport class Graph <T> {\n nodes: INode<T>[] = []\n links: ILink<T>[] = []\n lastPathFound: INode<T>[] = []\n\n isEquals = (a: INode<T>, b: INode<T>) => a.key === b.key\n\n addNode (k: string, v?: T): void {\n const node = this.findNode(k)\n if (!node) {\n this.nodes.push(new INode(k, v))\n }\n }\n\n addNodes (...nodes: (string | [string, T?])[]): void {\n nodes.forEach(node => typeof node === \"string\" ? this.addNode(node) : this.addNode(node[0], node[1]))\n }\n\n findNode (k: string): INode<T> | undefined {\n const inode = new INode<T>(k)\n return this.nodes.find(node => this.isEquals(node, inode))\n }\n\n findNodes (...keys: string[]): (INode<T> | undefined)[] {\n return keys.map(k => this.findNode(k))\n }\n\n requireFindNodes (...keys: string[]): INode<T>[] {\n const nodes = this.findNodes(...keys)\n if (nodes.some(n => n === undefined)) {\n throw new Error('One of the nodes does not exist')\n }\n return nodes as INode<T>[]\n }\n\n addLink (nodeA: string, nodeB: string, data?: T): void {\n const [inodeA, inodeB] = this.requireFindNodes(nodeA, nodeB)\n this.links.push(new ILink<T>(inodeA, inodeB, data))\n }\n\n addLinks (...links: [nodeA: string, nodeB: string, data?: T][]): void {\n links.forEach(link => this.addLink(...link))\n }\n \n /** \n * Get all nodes linked \n * to from `node`.\n */\n findLinkedNodes (node: INode<T>) {\n return this.links.reduce((acc, link) => {\n if (this.isEquals(link.from, node)) {\n acc.push(link.to)\n }\n return acc;\n }, [] as INode<T>[]);\n }\n\n findAllPaths(from: string, to: string) {\n const allPaths: INode<T>[][] = []\n\n const [fromNode, toNode] = this.requireFindNodes(from, to)\n\n const path: INode<T>[] = [fromNode]\n let seen = new Set()\n\n const stuck = (x: INode<T>) => {\n if (this.isEquals(x, toNode)) {\n return false\n }\n\n for (const y of this.findLinkedNodes(x)) {\n if (!seen.has(y.key)) {\n seen.add(y.key)\n if (!stuck(y)) {\n return false\n }\n }\n }\n\n return true\n }\n\n const search = (x: INode<T>) => {\n if (this.isEquals(x, toNode)) {\n allPaths.push(cloneDeep(path))\n return\n }\n seen = new Set(path.map(p => p.key))\n if (stuck(x)) {\n return\n }\n\n for (const y of this.findLinkedNodes(x)) {\n if (!path.includes(y)) {\n path.push(y)\n search(y)\n path.pop()\n }\n }\n }\n\n search(fromNode)\n\n return allPaths\n }\n}","import { BigNumber as BN } from 'bignumber.js'\nimport { FEE_FACTOR } from './constants'\n\n/**\n * XPR<>XUSDT (XPR -> XUSDT)\n *\n * pool1 * pool2\n * term = pool2 - --------------\n * pool1 + swap\n *\n * result = term - (term * fee)\n */\nexport const compute_transfer = (pool1: BN.Instance, pool2: BN.Instance, swap: BN.Instance, exchange_fee: number, precision: number): BN => {\n const term1 = pool2\n const term2over = pool1.times(pool2)\n const term2under = pool1.plus(swap)\n const term2 = term2over.div(term2under).integerValue(BN.ROUND_DOWN)\n const term = term1.minus(term2)\n const fee = new BN(exchange_fee).div(FEE_FACTOR)\n const result = term.minus(term.times(fee))\n \n return result.integerValue(BN.ROUND_DOWN).shiftedBy(-precision)\n}\n\nexport const compute_transfer_curve = (\n reserve_in: number,\n reserve_out: number,\n amount_in: number,\n exchange_fee: number,\n precision: number,\n amplifier: number\n): BN => {\n if (amplifier === 0) {\n return compute_transfer(new BN(reserve_in), new BN(reserve_out), new BN(amount_in), exchange_fee, precision)\n }\n\n const MAX_ITERATIONS = 10\n\n const sum = reserve_in + reserve_out\n let D = sum;\n let D_prev = 0\n\n const F = (v: number) => {\n return (v >= 0 ? 1 : -1) * Math.floor(Math.abs(v));\n }\n\n let i = MAX_ITERATIONS\n while (D != D_prev && i--) {\n const prod1 = F((F((D * D) / (reserve_in * 2)) * D) / (reserve_out * 2));\n D_prev = D\n D = F((2 * D * ((amplifier * sum) + prod1)) / ((2 * amplifier - 1) * D + 3 * prod1));\n }\n\n const b = ((reserve_in + amount_in) + F(D / (amplifier * 2))) - D;\n\n const c = F(F((D * D) / ((reserve_in + amount_in) * 2)) * D / (amplifier * 4));\n\n let x = D, x_prev = 0;\n i = MAX_ITERATIONS;\n while ( x != x_prev && i--) {\n x_prev = F(x);\n x = +new BN(x * x + c).div(2 * x + b).toFixed(0, BN.ROUND_DOWN)\n }\n\n if (reserve_out <= x) {\n throw new Error(\"curve: insufficient reserve out\")\n }\n\n // Amount out + Fee + 1\n const amount_out_with_fee = new BN(reserve_out - x);\n\n // Fee + 1\n // +1 covers small precision issues\n const fee = amount_out_with_fee.times(exchange_fee).div(FEE_FACTOR).plus(1).toFixed(0, BN.ROUND_DOWN);\n \n // Amount out\n const amount_out = amount_out_with_fee.minus(fee)\n\n return amount_out.integerValue(BN.ROUND_DOWN).shiftedBy(-precision)\n}\n\nexport const compute_liquidity = (amount_lt: BN.Instance, pool: BN.Instance, lt_supply: BN.Instance, precision: number): number => {\n const over = amount_lt.times(pool)\n const under = lt_supply\n const result = over.div(under).integerValue(BN.ROUND_DOWN)\n\n return +(result.shiftedBy(-precision).toFixed(precision, BN.ROUND_DOWN))\n}\n\nexport const isInputInvalid = (data: string, value: string | number, pool: { xtokenPrecision: number }): boolean => {\n value = String(value)\n \n const isBackspace = data === null\n const isNumber = !/[0-9]|\\./.test(data)\n const isDoubleDot = data === '.' && value.indexOf('.') !== value.length - 1\n const isPrecisionTooHigh = value && value.indexOf('.') !== -1 && value.split('.')[1].length > pool.xtokenPrecision\n const isInvalid = !isBackspace && Boolean(isNumber || isDoubleDot || isPrecisionTooHigh)\n\n return isInvalid\n}\n\nexport const applyDiscountToFee = (fee: number, staked: number): number => {\n if (staked >= 10000000) {\n return fee * 0\n } else if (staked >= 1000000) {\n return fee * 0.33\n } else if (staked >= 100000) {\n return fee * 0.66\n } else {\n return fee\n }\n}"],"names":["Chains","Networks","similarChains","EthereumMainnet","BinanceBEP20","Providers","explorerLinkByChain","BitcoinMainnet","txid","BitcoinTestnet","EthereumRopsten","LitecoinMainnet","LitecoinTestnet","BitcoinCashMainnet","BitcoinCashTestnet","StellarMainnet","StellarTestnet","ProtonMainnet","traces","ProtonTestnet","PolkadotMainnet","BinanceBEP2","EosMainnet","EosTestnet","HederaMainnet","HederaTestnet","DogeMainnet","CardanoMainnet","AvalancheXChain","AvalancheCChain","PolygonMainnet","TerraMainnet","RippleMainnet","SolanaMainnet","MetalXTestnet","MetalCTestnet","MetalCMainnet","protonExplorerTxUrl","chain","txId","initializeCoins","protonChain","IS_MAINNET","IS_TESTNET","coins","allowSwap","allowBridge","allowLend","allowBorrow","name","coin","xtokenSymbol","xtokenPrecision","xtokenContract","wallets","wallet","symbol","network","ERC20","precision","contract","provider","FIREBLOCKS","hasWithdrawMemo","BEP20","image","coingeckoId","XLM","undefined","Ropsten","EVM","METAL","Mainnet","Testnet","walletWithDuplicateChains","find","chains","map","Set","size","length","Error","allCoins","swapCoins","filter","bridgeCoins","lendCoins","borrowCoins","loanCoins","allEnabledCoins","accountParser","z","regex","authorizationParser","actor","permission","authorizationsParser","min","ExtendedAssetParser","quantity","actionParser","account","authorization","data","hex_data","optional","transactionExtensionsParser","or","rawTransactionParser","expiration","ref_block_num","ref_block_prefix","max_net_usage_words","max_cpu_usage_ms","delay_sec","context_free_actions","transaction_extensions","baseActionParser","action","baseActionSerializedParser","webauthActionParser","key","modulus","exponent","user_presence","rpid","nonce","permissions","signature","auth_data","client_json","trx","merge","actions","singleActionTransactionParser","baseAction","webauthAction","WRAP_CONTRACT","WRAP_AUTH_ACTION","FEE_FACTOR","initializeConstants","constants","SWAP_CONTRACT","DEX_CONTRACT","GOOGLE_MAPS_KEY","SWAP_URL","WRAP_SERVER_URL","WRAP_ACTIONS","SAVE_ADDRESS","DELETE_ADDRESS","WRAP_START","WRAP_FINISH","WRAP_PROCESS","WRAP_SET_CONF","WRAP_TABLES","ADDRESSES","WRAPS","ADDRESSES_INDEXES","BY_ACCOUNT","BY_ADDR_HASH","WRAPS_INDEXES","BY_STATUS","BY_WRAP_HASH","WRAP_PROCESS_TIMER","FARM_CONTRACT","WEBHOOK_PERMISSION","PUBLIC_PERMISSION","LIGHT_PERMISSION","METAL_ENDPOINT","METAL_PROTON_ENDPOINT","METAL_DEX_HTTP_ENDPOINT","METAL_DEX_WS_ENDPOINT","PROTON_ENDPOINTS","CHAIN_ID","DEX_PROCESS_SIZE","DEX_SLTPPROCESS_SIZE","MAX_PRICE","MAX_ITEMS_PER_PAGE_DESKTOP","MIN_PRICE","DEFAULT_DEX_SYMBOL","CHAIN","SWAP_COINS","BRIDGE_COINS","ALL_ENABLED_COINS","LEND_COINS","BORROW_COINS","LOAN_COINS","ALL_COINS","findBridgeCoinWalletByXtokenAndChain","bridgeCoin","bridgeWallet","findBridgeCoinWallet","findBridgeCoinNetwork","createAbstractAuthParser","signer","signatures","transaction","generateAuthData","time","protonAccount","generateAuthParser","addressParser","index","address","address_hash","generateAddressBodyParser","generateAddressResponse","id","memo","rateParser","counterCurrency","price","priceChangePercent","marketCap","volume","timestamp","exchangeRateParser","rank","rates","exchangeRatesParser","bloksRatesParser","Type","depositBodyParser","type","hash","transactionParser","value","valueString","state","confirmations","blockHash","nullable","blockHeight","otcOrderResponseParser","success","transaction_id","errormsg","otcQuoteBodyParser","baseAmount","baseSymbol","quoteSymbol","otcQuoteResponseParser","token","qty","withdrawData","from","refine","val","message","to","withdrawBodyParser","quoteId","withdrawMetalResponseParser","withdrawalFeeQuoteParser","estimatedFee","currency","withdrawHistoryMetalSwapParser","status","amount","created","withdrawalAddress","withdrawalHash","withdrawHistoryMetalResponseParser","swaps","page","pageSize","numberOfElements","totalPages","totalElements","Status","wrapStartParser","balance","deposit_address","wrapSetConfParser","wrap_hash","wrapParser","proton_account","finish_txid","ohlcvParser","open","high","low","close","volume_bid","count","getOhlcvParser","interval","limit","n","getOhlcvResponseParser","sync","orderHistoryParser","seq","block_num","block_time","order_id","market_id","quantity_init","quantity_curr","account_name","order_side","order_type","trigger_price","fill_type","quantity_change","trx_id","getOpenOrdersParser","offset","getOpenOrdersResponseParser","getOrderHistoryParser","getOrderHistoryResponseParser","getOrderParser","getOrderResponseParser","depthParser","level","ask","bid","getDepthParser","step","getDepthResponseParser","bids","asks","dailyParser","first","last","change_percentage_24hr","getDailyResponseParser","marketParser","status_code","maker_fee","taker_fee","order_min","bid_token","code","multiplier","ask_token","getMarketsResponseParser","tradeParser","trade_id","bid_user","bid_user_order_id","bid_total","bid_amount","bid_fee","ask_user","ask_user_order_id","ask_total","ask_amount","ask_fee","getTradesParser","getTradesResponseParser","getTradeHistoryParser","getTradeHistoryResponseParser","syncParser","sourceid","irreversible","is_master","last_updated","getSyncResponseParser","dbSecondsBehind","chronicleSecondsBehind","maxSecondsBehind","refferalTotalParser","referrer","getReferralTotalsParser","getReferralTotalsResponseParser","refferalParser","referred_user","getReferralsParser","getReferralsResponseParser","leaderboardParser","user","total","getLeaderboardParser","market_ids","getLeaderboardResponseParser","orderType","orderSide","fillType","logStatus","ITopics","TOPICS","TRADES","topic","ORDERS","loginAccountParamsV3Parser","email","verificationCode","isSameToken","token1","token2","median","numbers","sorted","slice","sort","a","b","middle","Math","floor","INode","ILink","Graph","nodes","links","lastPathFound","isEquals","addNode","k","v","node","findNode","push","addNodes","forEach","inode","findNodes","keys","requireFindNodes","some","addLink","nodeA","nodeB","inodeA","inodeB","addLinks","link","findLinkedNodes","reduce","acc","findAllPaths","allPaths","fromNode","toNode","path","seen","stuck","x","y","has","add","search","cloneDeep","p","includes","pop","compute_transfer","pool1","pool2","swap","exchange_fee","term1","term2over","times","term2under","plus","term2","div","integerValue","BN","ROUND_DOWN","term","minus","fee","result","shiftedBy","compute_transfer_curve","reserve_in","reserve_out","amount_in","amplifier","MAX_ITERATIONS","sum","D","D_prev","F","abs","i","prod1","c","x_prev","toFixed","amount_out_with_fee","amount_out","compute_liquidity","amount_lt","pool","lt_supply","over","under","isInputInvalid","String","isBackspace","isNumber","test","isDoubleDot","indexOf","isPrecisionTooHigh","split","isInvalid","Boolean","applyDiscountToFee","staked"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wrap-constants.cjs.development.js","sources":["../src/coins.ts","../src/parsers/base.ts","../src/parsers/actions.ts","../src/constants.ts","../src/parsers/auth.ts","../src/parsers/address.ts","../src/parsers/currency.ts","../src/parsers/deposit.ts","../src/parsers/otc.ts","../src/parsers/withdraw.ts","../src/parsers/withdrawalHistory.ts","../src/parsers/wrap.ts","../src/parsers/dex.ts","../src/parsers/login.ts","../src/utils.ts","../src/graph.ts","../src/math.ts"],"sourcesContent":["import { Asset } from '@bloks/numbers'\n\nexport enum Chains {\n BitcoinMainnet = 'Bitcoin',\n BitcoinTestnet = 'Bitcoin (Testnet)',\n EthereumMainnet = 'Ethereum',\n EthereumRopsten = 'Ethereum (Ropsten)',\n LitecoinMainnet = 'Litecoin',\n LitecoinTestnet = 'Litecoin (Testnet)',\n BitcoinCashMainnet = 'Bitcoin Cash',\n BitcoinCashTestnet = 'Bitcoin Cash (Testnet)',\n StellarMainnet = 'Stellar',\n StellarTestnet = 'Stellar (Testnet)',\n ProtonMainnet = 'Proton',\n ProtonTestnet = 'Proton (Testnet)',\n PolkadotMainnet = 'Polkadot',\n BinanceBEP2 = 'Binance (BEP2)',\n BinanceBEP20 = 'Binance (BEP20)',\n EosMainnet = 'EOS',\n EosTestnet = 'EOS (Jungle Testnet)',\n HederaMainnet = 'Hedera (Mainnet)',\n HederaTestnet = 'Hedera (Testnet)',\n DogeMainnet = 'Dogecoin',\n CardanoMainnet = 'Cardano',\n AvalancheXChain = 'Avalanche X-Chain',\n AvalancheCChain = 'Avalanche C-Chain',\n PolygonMainnet = 'Polygon',\n TerraMainnet = 'Terra',\n RippleMainnet = 'Ripple',\n SolanaMainnet = 'Solana',\n MetalXTestnet = 'Metal X-Chain (Testnet)',\n MetalCTestnet = 'Metal C-Chain (Testnet)',\n MetalCMainnet = 'Metal C-Chain'\n}\n\nexport enum Networks {\n Mainnet = 'mainnet',\n Testnet = 'testnet',\n Ropsten = 'ropsten',\n ERC20 = 'erc20',\n BEP20 = 'bep20',\n XLM = 'xlm',\n AVM = 'avm',\n EVM = 'evm',\n}\n\nexport const similarChains = {\n [Chains.EthereumMainnet]: [Chains.BinanceBEP20],\n [Chains.BinanceBEP20]: [Chains.EthereumMainnet],\n}\n\nexport interface Coin {\n allowSwap : boolean;\n allowBridge : boolean;\n allowLend : boolean;\n allowBorrow : boolean;\n name : string;\n coin : string;\n xtokenSymbol : string;\n xtokenPrecision: number;\n xtokenContract : string;\n wallets : Wallet[];\n image : string;\n coingeckoId : string;\n balance? : Asset;\n}\n \nexport interface Wallet {\n wallet : string;\n symbol : string;\n chain : Chains;\n network : Networks;\n precision : number;\n contract : string | undefined;\n provider : string;\n hasWithdrawMemo: boolean;\n}\n\nexport enum Providers {\n FIREBLOCKS = \"fireblocks\",\n METAL = \"metal\"\n}\n\nexport type CoinWallet = Exclude<Coin, 'wallets'> & Wallet\n\nexport const explorerLinkByChain = {\n [Chains.BitcoinMainnet] : (txid: string) => `https://blockchain.com/btc/tx/${txid}`,\n [Chains.BitcoinTestnet] : (txid: string) => `https://blockstream.info/testnet/tx/${txid}`,\n [Chains.EthereumMainnet] : (txid: string) => `https://etherscan.io/tx/${txid}`,\n [Chains.EthereumRopsten] : (txid: string) => `https://ropsten.etherscan.io/tx/${txid}`,\n [Chains.LitecoinMainnet] : (txid: string) => `https://blockchair.com/litecoin/transaction/${txid}`,\n [Chains.LitecoinTestnet] : (txid: string) => `https://blockexplorer.one/litecoin/testnet/blockHash/${txid}`,\n [Chains.BitcoinCashMainnet]: (txid: string) => `https://blockchair.com/bitcoin-cash/transaction/${txid}`,\n [Chains.BitcoinCashTestnet]: (txid: string) => `https://blockexplorer.one/bitcoin-cash/testnet/blockHash/${txid}`,\n [Chains.StellarMainnet] : (txid: string) => `https://blockchair.com/stellar/transaction/${txid}`,\n [Chains.StellarTestnet] : (txid: string) => `https://testnet.steexp.com/tx/${txid}`,\n [Chains.ProtonMainnet] : (txid: string, traces?: boolean) => `https://proton.bloks.io/transaction/${txid}${traces ? '?tab=traces' : ''}`,\n [Chains.ProtonTestnet] : (txid: string, traces?: boolean) => `https://proton-test.bloks.io/transaction/${txid}${traces ? '?tab=traces' : ''}`,\n [Chains.PolkadotMainnet] : (txid: string) => `https://polkadot.subscan.io/extrinsic/${txid}`,\n [Chains.BinanceBEP2] : (txid: string) => `https://binance.mintscan.io/txs/${txid}`,\n [Chains.BinanceBEP20] : (txid: string) => `https://bscscan.com/tx/${txid}`,\n [Chains.EosMainnet] : (txid: string) => `https://bloks.io/transaction/${txid}`,\n [Chains.EosTestnet] : (txid: string) => `https://jungle.bloks.io/transaction/${txid}`,\n [Chains.HederaMainnet] : (txid: string) => `https://app.dragonglass.me/transactions/${txid}`,\n [Chains.HederaTestnet] : (txid: string) => `https://testnet.dragonglass.me/transactions/${txid}`,\n [Chains.DogeMainnet] : (txid: string) => `https://blockchair.com/dogecoin/transaction/${txid}`,\n [Chains.CardanoMainnet] : (txid: string) => `https://explorer.cardano.org/en/transaction?id=${txid}`,\n [Chains.AvalancheXChain] : (txid: string) => `https://avascan.info/blockchain/x/tx/${txid}`,\n [Chains.AvalancheCChain] : (txid: string) => `https://snowtrace.io/tx/${txid}`,\n [Chains.PolygonMainnet] : (txid: string) => `https://polygonscan.com/tx/${txid}`,\n [Chains.TerraMainnet] : (txid: string) => `https://terra.stake.id/?#/tx/${txid}`,\n [Chains.RippleMainnet] : (txid: string) => `https://xrpscan.com/tx/${txid}`,\n [Chains.SolanaMainnet] : (txid: string) => `https://explorer.solana.com/tx/${txid}`,\n [Chains.MetalXTestnet] : (txid: string) => `https://metalscan.io/tx/${txid}`,\n [Chains.MetalCTestnet] : (txid: string) => `https://tahoe.metaltrace.io/tx/${txid}`,\n [Chains.MetalCMainnet] : (txid: string) => `https://metalscan.io/tx/${txid}`,\n}\n\nexport const protonExplorerTxUrl = (chain: string, txId: string, traces?: boolean) => chain === 'proton'\n ? explorerLinkByChain[Chains.ProtonMainnet](txId, traces)\n : explorerLinkByChain[Chains.ProtonTestnet](txId, traces)\n\n// Initialize.\nexport const initializeCoins = (protonChain: string): {\n allCoins : Coin[];\n swapCoins : Coin[];\n bridgeCoins : Coin[];\n lendCoins : Coin[];\n borrowCoins : Coin[];\n loanCoins : Coin[];\n allEnabledCoins: Coin[];\n} => {\n const IS_MAINNET = protonChain === 'proton'\n const IS_TESTNET = protonChain === 'proton-test'\n \n const coins: Coin[] = [\n { \n allowSwap: true,\n allowBridge: IS_MAINNET,\n allowLend: true,\n allowBorrow: true,\n name: 'Proton',\n coin: 'XPR',\n xtokenSymbol: 'XPR',\n xtokenPrecision: 4,\n xtokenContract: 'eosio.token',\n wallets: [\n ...(IS_MAINNET ? [\n {\n wallet: 'XPR-ERC20',\n symbol: 'XPR',\n chain: Chains.EthereumMainnet,\n network: Networks.ERC20,\n precision: 4,\n contract: '0xD7EFB00D12C2C13131FD319336FDF952525DA2AF',\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n },\n {\n wallet: 'XPR-BEP20',\n symbol: 'XPR',\n chain: Chains.BinanceBEP20,\n network: Networks.BEP20,\n precision: 4,\n contract: '0x5DE3939B2F811A61D830E6F52D13B066881412AB',\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }\n ]: []),\n ],\n image: 'https://www.proton.org/images/tokens/eosio-tokenXPR.png',\n coingeckoId: 'proton'\n },\n { \n allowSwap: true,\n allowBridge: true,\n allowLend: true,\n allowBorrow: true,\n name: 'USD Coin',\n coin: 'USDC',\n xtokenSymbol: 'XUSDC',\n xtokenPrecision: 6,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_MAINNET ? [\n {\n wallet: 'USDC',\n symbol: 'USDC',\n chain: Chains.EthereumMainnet,\n network: Networks.ERC20,\n precision: 6,\n contract: '0xA0B86991C6218B36C1D19D4A2E9EB0CE3606EB48',\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n },\n {\n wallet: 'USDC-BEP20',\n symbol: 'USDC',\n chain: Chains.BinanceBEP20,\n network: Networks.BEP20,\n precision: 18,\n contract: '0x8AC76A51CC950D9822D68B83FE1AD97B32CD580D',\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n },\n {\n wallet: 'USDC-XLM',\n symbol: 'USDC',\n chain: Chains.StellarMainnet,\n network: Networks.XLM,\n precision: 7,\n contract: undefined,\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: true\n },\n ]: []),\n ...(IS_TESTNET ? [\n {\n wallet: 'USDC',\n symbol: 'USDC',\n chain: Chains.EthereumRopsten,\n network: Networks.Ropsten,\n precision: 6,\n contract: '0xA0B86991C6218B36C1D19D4A2E9EB0CE3606EB48',\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n },\n {\n wallet: 'USDC-XLM',\n symbol: 'USDC',\n chain: Chains.StellarTestnet,\n network: Networks.XLM,\n precision: 7,\n contract: undefined,\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: true\n },\n ]: [])\n ],\n image: 'https://www.proton.org/images/tokens/xtokensXUSDC.png',\n coingeckoId: 'usd-coin'\n },\n { \n allowSwap: true,\n allowBridge: IS_MAINNET,\n allowLend: true,\n allowBorrow: true,\n name: 'Metal DAO',\n coin: 'MTL',\n xtokenSymbol: 'XMT',\n xtokenPrecision: 8,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_MAINNET ? [{\n wallet: 'MTL',\n symbol: 'MTL',\n chain: Chains.EthereumMainnet,\n network: Networks.ERC20,\n precision: 8,\n contract: '0xF433089366899D83A9F26A773D59EC7ECF30355E',\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.proton.org/images/tokens/xtokensXMT.png',\n coingeckoId: 'metal'\n },\n { \n allowSwap: true,\n allowBridge: true,\n allowLend: false,\n allowBorrow: false,\n name: 'Metal Blockchain',\n coin: 'METAL',\n xtokenSymbol: 'METAL',\n xtokenPrecision: 8,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_TESTNET ? [{\n wallet: 'METAL',\n symbol: 'METAL',\n chain: Chains.MetalCTestnet,\n network: Networks.EVM,\n precision: 18,\n contract: '',\n provider: Providers.METAL,\n hasWithdrawMemo: false\n }]: []),\n ...(IS_MAINNET ? [\n {\n wallet: 'METAL',\n symbol: 'METAL',\n chain: Chains.MetalCMainnet,\n network: Networks.EVM,\n precision: 18,\n contract: '',\n provider: Providers.METAL,\n hasWithdrawMemo: false\n },\n {\n wallet: 'METAL',\n symbol: 'METAL',\n chain: Chains.EthereumMainnet,\n network: Networks.ERC20,\n precision: 18,\n contract: '',\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }\n ]: [])\n ],\n image: 'https://raw.githubusercontent.com/eoscafe/eos-airdrops/master/logos/metal-chain.png',\n coingeckoId: 'metal-blockchain'\n },\n { \n allowSwap: true,\n allowBridge: true,\n allowLend: true,\n allowBorrow: true,\n name: 'Bitcoin',\n coin: 'BTC',\n xtokenSymbol: 'XBTC',\n xtokenPrecision: 8,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_MAINNET ? [{\n wallet: 'BTC',\n symbol: 'BTC',\n chain: Chains.BitcoinMainnet,\n network: Networks.Mainnet,\n precision: 8,\n contract: undefined,\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: []),\n ...(IS_TESTNET ? [{\n wallet: 'BTC',\n symbol: 'BTC',\n chain: Chains.BitcoinTestnet,\n network: Networks.Testnet,\n precision: 8,\n contract: undefined,\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.proton.org/images/tokens/xtokensXBTC.png',\n coingeckoId: 'bitcoin'\n },\n {\n allowSwap: true,\n allowBridge: true,\n allowLend: true,\n allowBorrow: true,\n name: 'Ethereum',\n coin: 'ETH',\n xtokenSymbol: 'XETH',\n xtokenPrecision: 8,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_MAINNET ? [{\n wallet: 'ETH',\n symbol: 'ETH',\n chain: Chains.EthereumMainnet,\n network: Networks.Mainnet,\n precision: 18,\n contract: '0x0000000000000000000000000000000000000000',\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: []),\n ...(IS_TESTNET ? [{\n wallet: 'ETH',\n symbol: 'ETH',\n chain: Chains.EthereumRopsten,\n network: Networks.Ropsten,\n precision: 18,\n contract: '0x0000000000000000000000000000000000000000',\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.proton.org/images/tokens/xtokensXETH.png',\n coingeckoId: 'ethereum'\n },\n { \n allowSwap: true,\n allowBridge: false,\n allowLend: false,\n allowBorrow: false,\n name: 'Loan',\n coin: 'LOAN',\n xtokenSymbol: 'LOAN',\n xtokenPrecision: 4,\n xtokenContract: 'loan.token',\n wallets: [],\n image: 'https://raw.githubusercontent.com/eoscafe/eos-airdrops/master/logos/loan.png',\n coingeckoId: 'proton-loan'\n },\n { \n allowSwap: true,\n allowBridge: true,\n allowLend: false,\n allowBorrow: false,\n name: 'Tether',\n coin: 'USDT',\n xtokenSymbol: 'XUSDT',\n xtokenPrecision: 6,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_MAINNET ? [{\n wallet: 'USDT',\n symbol: 'USDT',\n chain: Chains.EthereumMainnet,\n network: Networks.ERC20,\n precision: 6,\n contract: '0xDAC17F958D2EE523A2206206994597C13D831EC7',\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: []),\n ...(IS_MAINNET ? [{\n wallet: 'USDT-BEP20',\n symbol: 'USDT',\n chain: Chains.BinanceBEP20,\n network: Networks.BEP20,\n precision: 18,\n contract: '0x55d398326f99059fF775485246999027B3197955',\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: []),\n ...(IS_TESTNET ? [{\n wallet: 'USDT',\n symbol: 'USDT',\n chain: Chains.EthereumRopsten,\n network: Networks.Ropsten,\n precision: 6,\n contract: '0xDAC17F958D2EE523A2206206994597C13D831EC7',\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.proton.org/images/tokens/xtokensXUSDT.png',\n coingeckoId: 'tether'\n },\n { \n allowSwap: false,\n allowBridge: IS_MAINNET,\n allowLend: false,\n allowBorrow: false,\n name: 'TrueUSD',\n coin: 'TUSD',\n xtokenSymbol: 'XTUSD',\n xtokenPrecision: 6,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_MAINNET ? [{\n wallet: 'TUSD',\n symbol: 'TUSD',\n chain: Chains.EthereumMainnet,\n network: Networks.ERC20,\n precision: 18,\n contract: '0x0000000000085D4780B73119B644AE5ECD22B376',\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.proton.org/images/tokens/xtokensXTUSD.png',\n coingeckoId: 'true-usd'\n },\n { \n allowSwap: false,\n allowBridge: IS_MAINNET,\n allowLend: false,\n allowBorrow: false,\n name: 'Paxos Dollar',\n coin: 'PAX',\n xtokenSymbol: 'XPAX',\n xtokenPrecision: 6,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_MAINNET ? [{\n wallet: 'PAX',\n symbol: 'PAX',\n chain: Chains.EthereumMainnet,\n network: Networks.ERC20,\n precision: 18,\n contract: '0x8E870D67F660D95D5BE530380D0EC0BD388289E1',\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.proton.org/images/tokens/xtokensXPAX.png',\n coingeckoId: 'paxos-standard'\n },\n { \n allowSwap: false,\n allowBridge: true,\n allowLend: false,\n allowBorrow: false,\n name: 'Paxos Gold',\n coin: 'PAXG',\n xtokenSymbol: 'XPAXG',\n xtokenPrecision: 8,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_MAINNET ? [{\n wallet: 'PAXG',\n symbol: 'PAXG',\n chain: Chains.EthereumMainnet,\n network: Networks.ERC20,\n precision: 18,\n contract: '0x45804880DE22913DAFE09F4980848ECE6ECBAF78',\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: []),\n ...(IS_TESTNET ? [{\n wallet: 'PAXG',\n symbol: 'PAXG',\n chain: Chains.EthereumRopsten,\n network: Networks.Ropsten,\n precision: 18,\n contract: '0x45804880DE22913DAFE09F4980848ECE6ECBAF78',\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.proton.org/images/tokens/xtokensXPAXG.png',\n coingeckoId: 'pax-gold'\n },\n { \n allowSwap: IS_MAINNET,\n allowBridge: false,\n allowLend: false,\n allowBorrow: false,\n name: 'Storex',\n coin: 'STRX',\n xtokenSymbol: 'STRX',\n xtokenPrecision: 4,\n xtokenContract: 'storex',\n wallets: [],\n image: 'https://raw.githubusercontent.com/eoscafe/eos-airdrops/master/logos/strx.png',\n coingeckoId: ''\n },\n { \n allowSwap: IS_MAINNET,\n allowBridge: false,\n allowLend: false,\n allowBorrow: false,\n name: 'Mint',\n coin: 'MINT',\n xtokenSymbol: 'MINT',\n xtokenPrecision: 4,\n xtokenContract: 'protonmint',\n wallets: [],\n image: 'https://raw.githubusercontent.com/eoscafe/eos-airdrops/master/logos/PMLogo-04.png',\n coingeckoId: ''\n },\n { \n allowSwap: IS_MAINNET,\n allowBridge: false,\n allowLend: false,\n allowBorrow: false,\n name: 'Snipcoins',\n coin: 'SNIPS',\n xtokenSymbol: 'SNIPS',\n xtokenPrecision: 4,\n xtokenContract: 'snipcoins',\n wallets: [],\n image: 'https://raw.githubusercontent.com/eoscafe/eos-airdrops/master/logos/snips.png',\n coingeckoId: ''\n },\n { \n allowSwap: IS_MAINNET,\n allowBridge: true,\n allowLend: false,\n allowBorrow: false,\n name: 'Uniswap',\n coin: 'UNI',\n xtokenSymbol: 'XUNI',\n xtokenPrecision: 6,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_MAINNET ? [{\n wallet: 'UNI',\n symbol: 'UNI',\n chain: Chains.EthereumMainnet,\n network: Networks.ERC20,\n precision: 18,\n contract: '0x1F9840A85D5AF5BF1D1762F925BDADDC4201F984',\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: []),\n ...(IS_TESTNET ? [{\n wallet: 'UNI',\n symbol: 'UNI',\n chain: Chains.EthereumRopsten,\n network: Networks.Ropsten,\n precision: 18,\n contract: '0x1F9840A85D5AF5BF1D1762F925BDADDC4201F984',\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.proton.org/images/tokens/xtokensXUNI.png',\n coingeckoId: 'uniswap'\n },\n { \n allowSwap: false,\n allowBridge: false,\n allowLend: false,\n allowBorrow: false,\n name: '1INCH',\n coin: '1INCH',\n xtokenSymbol: 'XINCH',\n xtokenPrecision: 6,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_MAINNET ? [{\n wallet: '1INCH',\n symbol: '1INCH',\n chain: Chains.EthereumMainnet,\n network: Networks.ERC20,\n precision: 18,\n contract: '0x111111111117DC0AA78B770FA6A738034120C302',\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.proton.org/images/tokens/xtokensXINCH.png',\n coingeckoId: '1inch'\n },\n { \n allowSwap: false,\n allowBridge: false,\n allowLend: false,\n allowBorrow: false,\n name: 'Chainlink',\n coin: 'LINK',\n xtokenSymbol: 'XLINK',\n xtokenPrecision: 6,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_MAINNET ? [{\n wallet: 'LINK',\n symbol: 'LINK',\n chain: Chains.EthereumMainnet,\n network: Networks.ERC20,\n precision: 18,\n contract: '0x514910771AF9CA656AF840DFF83E8264ECF986CA',\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.proton.org/images/tokens/xtokensXLINK.png',\n coingeckoId: 'chainlink'\n },\n { \n allowSwap: IS_MAINNET,\n allowBridge: true,\n allowLend: false,\n allowBorrow: false,\n name: 'Litecoin',\n coin: 'LTC',\n xtokenSymbol: 'XLTC',\n xtokenPrecision: 8,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_MAINNET ? [{\n wallet: 'LTC',\n symbol: 'LTC',\n chain: Chains.LitecoinMainnet,\n network: Networks.Mainnet,\n precision: 8,\n contract: undefined,\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: []),\n ...(IS_TESTNET ? [{\n wallet: 'LTC',\n symbol: 'LTC',\n chain: Chains.LitecoinTestnet,\n network: Networks.Testnet,\n precision: 8,\n contract: undefined,\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.proton.org/images/tokens/xtokensXLTC.png',\n coingeckoId: 'litecoin'\n },\n { \n allowSwap: IS_MAINNET,\n allowBridge: true,\n allowLend: false,\n allowBorrow: false,\n name: 'Bitcoin Cash',\n coin: 'BCH',\n xtokenSymbol: 'XBCH',\n xtokenPrecision: 8,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_MAINNET ? [{\n wallet: 'BCH',\n symbol: 'BCH',\n chain: Chains.BitcoinCashMainnet,\n network: Networks.Mainnet,\n precision: 8,\n contract: undefined,\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: []),\n ...(IS_TESTNET ? [{\n wallet: 'BCH',\n symbol: 'BCH',\n chain: Chains.BitcoinCashTestnet,\n network: Networks.Testnet,\n precision: 8,\n contract: undefined,\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.proton.org/images/tokens/xtokensXBCH.png',\n coingeckoId: 'bitcoin-cash'\n },\n { \n allowSwap: true,\n allowBridge: true,\n allowLend: false,\n allowBorrow: false,\n name: 'LunarCrush',\n coin: 'LUNR',\n xtokenSymbol: 'XLUNR',\n xtokenPrecision: 4,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_MAINNET ? [{\n wallet: 'LUNR',\n symbol: 'LUNR',\n chain: Chains.EthereumMainnet,\n network: Networks.ERC20,\n precision: 4,\n contract: undefined,\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: []),\n ],\n image: 'https://raw.githubusercontent.com/eoscafe/eos-airdrops/master/logos/xlunr.png',\n coingeckoId: 'lunr-token'\n },\n { \n allowSwap: false,\n allowBridge: IS_TESTNET,\n allowLend: false,\n allowBorrow: false,\n name: 'Stellar',\n coin: 'XLM',\n xtokenSymbol: 'XXLM',\n xtokenPrecision: 6,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_MAINNET ? [{\n wallet: 'XLM',\n symbol: 'XLM',\n chain: Chains.StellarMainnet,\n network: Networks.Mainnet,\n precision: 7,\n contract: undefined,\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: true\n }]: []),\n ...(IS_TESTNET ? [{\n wallet: 'XLM',\n symbol: 'XLM',\n chain: Chains.StellarTestnet,\n network: Networks.Testnet,\n precision: 7,\n contract: undefined,\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: true\n }]: [])\n ],\n image: 'https://www.proton.org/images/tokens/xtokensXXLM.png',\n coingeckoId: 'stellar'\n },\n { \n allowSwap: false,\n allowBridge: false,\n allowLend: false,\n allowBorrow: false,\n name: 'Sense',\n coin: 'SENSE',\n xtokenSymbol: 'XSENSE',\n xtokenPrecision: 4,\n xtokenContract: 'sense',\n wallets: [],\n image: 'https://www.proton.org/images/tokens/senseXSENSE.png',\n coingeckoId: 'sense'\n },\n { \n allowSwap: false,\n allowBridge: false,\n allowLend: false,\n allowBorrow: false,\n name: 'Polkadot',\n coin: 'DOT',\n xtokenSymbol: 'XDOT',\n xtokenPrecision: 8,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_MAINNET ? [{\n wallet: 'DOT',\n symbol: 'DOT',\n chain: Chains.PolkadotMainnet,\n network: Networks.Mainnet,\n precision: 10,\n contract: undefined,\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.proton.org/images/tokens/xtokensXDOT.png',\n coingeckoId: 'polkadot'\n },\n { \n allowSwap: true,\n allowBridge: IS_MAINNET,\n allowLend: false,\n allowBorrow: false,\n name: 'Binance Coin',\n coin: 'BNB',\n xtokenSymbol: 'XBNB',\n xtokenPrecision: 8,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_MAINNET ? [{\n wallet: 'BNB',\n symbol: 'BNB',\n chain: Chains.BinanceBEP20,\n network: Networks.BEP20,\n precision: 18,\n contract: undefined,\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.proton.org/images/tokens/xtokensXBNB.png',\n coingeckoId: 'binancecoin'\n },\n { \n allowSwap: false,\n allowBridge: IS_MAINNET,\n allowLend: false,\n allowBorrow: false,\n name: 'Binance USD',\n coin: 'BUSD',\n xtokenSymbol: 'XBUSD',\n xtokenPrecision: 6,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_MAINNET ? [{\n wallet: 'BUSD-BEP20',\n symbol: 'BUSD',\n chain: Chains.BinanceBEP20,\n network: Networks.BEP20,\n precision: 18,\n contract: '0xe9e7cea3dedca5984780bafc599bd69add087d56',\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://raw.githubusercontent.com/eoscafe/eos-airdrops/master/logos/xbusd.png',\n coingeckoId: 'binance-usd'\n },\n { \n allowSwap: true,\n allowBridge: true,\n allowLend: false,\n allowBorrow: false,\n name: 'EOS',\n coin: 'EOS',\n xtokenSymbol: 'XEOS',\n xtokenPrecision: 4,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_MAINNET ? [{\n wallet: 'EOS',\n symbol: 'EOS',\n chain: Chains.EosMainnet,\n network: Networks.Mainnet,\n precision: 4,\n contract: undefined,\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: true\n }]: []),\n ...(IS_TESTNET ? [{\n wallet: 'EOS',\n symbol: 'EOS',\n chain: Chains.EosTestnet,\n network: Networks.Testnet,\n precision: 4,\n contract: undefined,\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: true\n }]: [])\n ],\n image: 'https://www.proton.org/images/tokens/xtokensXEOS.png',\n coingeckoId: 'eos'\n },\n { \n allowSwap: IS_MAINNET,\n allowBridge: IS_MAINNET,\n allowLend: true,\n allowBorrow: true,\n name: 'Dogecoin',\n coin: 'DOGE',\n xtokenSymbol: 'XDOGE',\n xtokenPrecision: 6,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_MAINNET ? [{\n wallet: 'DOGE',\n symbol: 'DOGE',\n chain: Chains.DogeMainnet,\n network: Networks.Mainnet,\n precision: 8,\n contract: undefined,\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: []),\n ],\n image: 'https://www.proton.org/images/tokens/xtokensXDOGE.png',\n coingeckoId: 'dogecoin'\n },\n { \n allowSwap: IS_MAINNET,\n allowBridge: IS_MAINNET,\n allowLend: false,\n allowBorrow: false,\n name: 'Cardano',\n coin: 'ADA',\n xtokenSymbol: 'XADA',\n xtokenPrecision: 6,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_MAINNET ? [{\n wallet: 'ADA',\n symbol: 'ADA',\n chain: Chains.CardanoMainnet,\n network: Networks.Mainnet,\n precision: 6,\n contract: undefined,\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.proton.org/images/tokens/xtokensXADA.png',\n coingeckoId: 'cardano'\n },\n\n // Adding\n { \n allowSwap: false,\n allowBridge: false,\n allowLend: false,\n allowBorrow: false,\n name: 'Terra',\n coin: 'LUNA',\n xtokenSymbol: 'XLUNA',\n xtokenPrecision: 6,\n xtokenContract: 'xtokens',\n wallets: [\n // ...(IS_MAINNET ? [{\n // wallet: 'LUNA',\n // symbol: 'LUNA',\n // chain: Chains.TerraMainnet,\n // network: Networks.Mainnet,\n // precision: 6,\n // contract: undefined,\n // provider: Providers.FIREBLOCKS,\n // hasWithdrawMemo: true\n // }]: [])\n ],\n image: 'https://www.proton.org/images/tokens/xtokensXLUNA.png',\n coingeckoId: 'terra-luna'\n },\n { \n allowSwap: false,\n allowBridge: false,\n allowLend: false,\n allowBorrow: false,\n name: 'TerraUSD',\n coin: 'UST',\n xtokenSymbol: 'XUST',\n xtokenPrecision: 6,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_MAINNET ? [{\n wallet: 'UST',\n symbol: 'UST',\n chain: Chains.TerraMainnet,\n network: Networks.Mainnet,\n precision: 6,\n contract: undefined,\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: true\n }]: [])\n ],\n image: 'https://www.proton.org/images/tokens/xtokensXUST.png',\n coingeckoId: 'terrausd'\n },\n { \n allowSwap: false,\n allowBridge: IS_MAINNET,\n allowLend: false,\n allowBorrow: false,\n name: 'Solana',\n coin: 'SOL',\n xtokenSymbol: 'XSOL',\n xtokenPrecision: 6,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_MAINNET ? [{\n wallet: 'SOL',\n symbol: 'SOL',\n chain: Chains.SolanaMainnet,\n network: Networks.Mainnet,\n precision: 9,\n contract: undefined,\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://raw.githubusercontent.com/eoscafe/eos-airdrops/master/logos/xsol.png',\n coingeckoId: 'solana'\n },\n { \n allowSwap: false,\n allowBridge: IS_MAINNET,\n allowLend: false,\n allowBorrow: false,\n name: 'Ripple',\n coin: 'XRP',\n xtokenSymbol: 'XXRP',\n xtokenPrecision: 6,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_MAINNET ? [{\n wallet: 'XRP',\n symbol: 'XRP',\n chain: Chains.RippleMainnet,\n network: Networks.Mainnet,\n precision: 6,\n contract: undefined,\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: true\n }]: [])\n ],\n image: 'https://raw.githubusercontent.com/eoscafe/eos-airdrops/master/logos/xxrp.png',\n coingeckoId: 'ripple'\n },\n\n // Future\n { \n allowSwap: false,\n allowBridge: false,\n allowLend: false,\n allowBorrow: false,\n name: 'Avalanche',\n coin: 'AVAX',\n xtokenSymbol: 'XAVAX',\n xtokenPrecision: 9,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_MAINNET ? [\n {\n wallet: 'AVAX',\n symbol: 'AVAX',\n chain: Chains.AvalancheCChain,\n network: Networks.Mainnet,\n precision: 9,\n contract: undefined,\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }\n ]: [])\n ],\n image: 'https://www.proton.org/images/tokens/xtokensXAVAX.png',\n coingeckoId: 'avalanche-2'\n },\n { \n allowSwap: false,\n allowBridge: false,\n allowLend: false,\n allowBorrow: false,\n name: 'Polygon',\n coin: 'MATIC',\n xtokenSymbol: 'XMATIC',\n xtokenPrecision: 8,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_MAINNET ? [{\n wallet: 'MATIC',\n symbol: 'MATIC',\n chain: Chains.PolygonMainnet,\n network: Networks.Mainnet,\n precision: 18,\n contract: '0x0000000000000000000000000000000000000000',\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.proton.org/images/tokens/xtokensXMATIC.png',\n coingeckoId: 'matic-network'\n },\n { \n allowSwap: false,\n allowBridge: false,\n allowLend: false,\n allowBorrow: false,\n name: 'Metal Dollar',\n coin: 'XMD',\n xtokenSymbol: 'XMD',\n xtokenPrecision: 6,\n xtokenContract: 'xmd.token',\n wallets: [],\n image: 'https://github.com/eoscafe/eos-airdrops/blob/master/logos/xmd.png?raw=true',\n coingeckoId: ''\n },\n { \n allowSwap: false,\n allowBridge: IS_TESTNET,\n allowLend: false,\n allowBorrow: false,\n name: 'HBAR',\n coin: 'HBAR',\n xtokenSymbol: 'XHBAR',\n xtokenPrecision: 6,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_TESTNET ? [{\n wallet: 'HBAR',\n symbol: 'HBAR',\n chain: Chains.HederaTestnet,\n network: Networks.Testnet,\n precision: 8,\n contract: undefined,\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: true\n }]: [])\n ],\n image: 'https://www.proton.org/images/tokens/xtokensXHBAR.png',\n coingeckoId: 'hedera-hashgraph'\n }\n ]\n\n // Validation\n const walletWithDuplicateChains = coins.find(coin => {\n const chains = coin.wallets.map(wallet => wallet.chain)\n return new Set(chains).size !== chains.length\n })\n if (walletWithDuplicateChains) {\n throw new Error(`Coin ${walletWithDuplicateChains.coin} has duplicate chains in wallet`)\n }\n\n return {\n allCoins: coins,\n swapCoins: coins.filter(coin => coin.allowSwap),\n bridgeCoins: coins.filter(coin => coin.allowBridge),\n lendCoins: coins.filter(coin => coin.allowLend),\n borrowCoins: coins.filter(coin => coin.allowBorrow),\n loanCoins: coins.filter(coin => coin.allowLend || coin.allowBorrow),\n allEnabledCoins: coins.filter(coin => coin.allowSwap || coin.allowBridge || coin.xtokenSymbol === 'XMD')\n }\n}","import * as z from 'zod'\n\nexport const accountParser = z.string().regex(/^[.1-5a-z]{0,12}[.1-5a-j]?$/)\n\nexport const authorizationParser = z.object({\n actor : accountParser,\n permission: z.string()\n})\nexport type Authorization = z.infer<typeof authorizationParser>\n\nexport const authorizationsParser = z.array(authorizationParser).min(1)\nexport type Authorizations = z.infer<typeof authorizationsParser>\n\nexport const ExtendedAssetParser = z.object({\n quantity: z.string(),\n contract: accountParser\n})\nexport type ExtendedAsset = z.infer<typeof ExtendedAssetParser>","import * as z from 'zod';\nimport { accountParser, authorizationsParser } from './base'\n\nconst actionParser = z.object({\n account: z.string(),\n name: z.string(),\n authorization: z.array(\n z.object({\n actor: z.string(),\n permission: z.string(),\n })\n ),\n data: z.any(),\n hex_data: z.string().optional()\n})\n\nconst transactionExtensionsParser = z.array(z.number().or(z.string())).optional()\n\nconst rawTransactionParser = z.object({\n expiration : z.string(),\n ref_block_num : z.number(),\n ref_block_prefix : z.number(),\n max_net_usage_words : z.number(),\n max_cpu_usage_ms : z.number(),\n delay_sec : z.number(),\n context_free_actions : z.array(actionParser),\n transaction_extensions: z.array(transactionExtensionsParser)\n})\n\nexport const baseActionParser = <T extends z.ZodRawShape>(contract: string, action: string, data: T) => z.object({\n account: contract === '*' ? accountParser : z.literal(contract),\n name: z.literal(action),\n data: z.object(data),\n authorization: authorizationsParser\n})\n\nexport const baseActionSerializedParser = <T extends z.ZodRawShape>(contract: string, action: string, data: T) => z.object({\n account: contract === '*' ? accountParser : z.literal(contract),\n name: z.literal(action),\n data: z.string().or(z.object(data)),\n authorization: authorizationsParser\n})\n\nexport const webauthActionParser = <T extends z.ZodRawShape>(contract: string, action: string, data: T) => z.object({\n account: z.literal('webauthn'),\n name: z.literal('exec'),\n data: z.object({\n account: accountParser,\n key: z.object({\n key: z.array(z.string().or(z.object({\n modulus: z.string(),\n exponent: z.string()\n }))),\n user_presence: z.number(),\n rpid: z.string()\n }),\n nonce: z.number(),\n permissions: authorizationsParser,\n signature: z.object({\n auth_data: z.string(),\n client_json: z.string(),\n signature: z.string()\n }),\n trx: rawTransactionParser.merge(\n z.object({\n actions: z.array(\n baseActionSerializedParser(contract, action, data)\n ).length(1)\n })\n )\n }),\n authorization: authorizationsParser\n})\n\nexport const singleActionTransactionParser = <T extends z.ZodRawShape>(contract: string, action: string, data: T) => {\n const baseAction = baseActionParser(contract, action, data)\n const webauthAction = webauthActionParser(contract, action, data)\n\n return rawTransactionParser.merge(z.object({\n actions: z.array(baseAction.or(webauthAction)).length(1)\n }))\n}","import { Coin, CoinWallet, initializeCoins, Wallet } from './coins'\n\nexport const WRAP_CONTRACT = 'proton.wrap'\nexport const WRAP_AUTH_ACTION = 'generateauth'\nexport const FEE_FACTOR = 10000\n\nexport const initializeConstants = (chain: string) => {\n const { swapCoins, bridgeCoins, allEnabledCoins, allCoins, lendCoins, borrowCoins, loanCoins } = initializeCoins(chain)\n\n const constants = {\n SWAP_CONTRACT: 'proton.swaps',\n DEX_CONTRACT: 'dex', \n FEE_FACTOR,\n GOOGLE_MAPS_KEY: 'AIzaSyDb2_CrK032kSIqBXbkdwmaLKWELl0SxVs',\n SWAP_URL: chain === 'proton'\n ? 'https://otc.protonswap.com'\n : 'https://otc-test.protonswap.com',\n WRAP_SERVER_URL: chain === 'proton'\n ? 'https://www.api.bloks.io/proton-wrap-public2'\n : 'https://www.api.bloks.io/proton-wrap-testnet-public2',\n WRAP_CONTRACT,\n WRAP_ACTIONS: {\n SAVE_ADDRESS: 'saveaddress2',\n DELETE_ADDRESS: 'deladdress2',\n WRAP_START: 'wrapstart2',\n WRAP_FINISH: 'wrapfinish2',\n WRAP_PROCESS: 'wrapprocess2',\n WRAP_SET_CONF: 'wrapsetconf2',\n },\n WRAP_TABLES: {\n ADDRESSES: 'addresses2',\n WRAPS: 'wraps2'\n },\n ADDRESSES_INDEXES: {\n BY_ACCOUNT: 2,\n BY_ADDR_HASH: 3\n },\n WRAPS_INDEXES: {\n BY_ACCOUNT: 2,\n BY_STATUS: 3,\n BY_WRAP_HASH: 4\n },\n WRAP_PROCESS_TIMER: 5000,\n\n FARM_CONTRACT: 'yield.farms',\n\n WEBHOOK_PERMISSION: 'webhook',\n PUBLIC_PERMISSION: 'public',\n LIGHT_PERMISSION: 'light',\n WRAP_AUTH_ACTION: WRAP_AUTH_ACTION,\n\n METAL_ENDPOINT: chain === 'proton'\n ? 'https://cirrus.metalpay.com'\n : 'https://cirrus-dev.metalpay.com',\n\n METAL_PROTON_ENDPOINT: chain === 'proton'\n ? 'https://api.protonchain.com'\n : 'https://api-dev.protonchain.com',\n\n METAL_DEX_HTTP_ENDPOINT: chain === 'proton'\n ? 'https://metal-dexdb.global.binfra.one/dex'\n : 'https://metallicus-dbapi-dev01.binfra.one/dex',\n\n METAL_DEX_WS_ENDPOINT: chain === 'proton'\n ? 'wss://metal-dexdb.global.binfra.one/dexws'\n : 'wss://metallicus-dbapi-dev01.binfra.one/dexws',\n\n PROTON_ENDPOINTS: chain === 'proton'\n ? ['https://metal-proton-rpc.global.binfra.one', 'https://proton.greymass.com', 'https://proton.eoscafeblock.com', 'https://proton.cryptolions.io', 'https://proton.eosusa.news']\n : ['https://metal-protontest-rpc.global.binfra.one', 'https://testnet.protonchain.com'],\n\n CHAIN_ID: chain === 'proton'\n ? '384da888112027f0321850a169f737c33e53b388aad48b5adace4bab97f437e0'\n : '71ee83bcf52142d61019d95f9cc5427ba6a0d7ff8accd9e2088ae2abeaf3d3dd',\n\n DEX_PROCESS_SIZE: 30,\n DEX_SLTPPROCESS_SIZE: 10,\n MAX_PRICE: \"9223372036854775806\",\n MAX_ITEMS_PER_PAGE_DESKTOP: 25,\n MIN_PRICE: 1,\n DEFAULT_DEX_SYMBOL: chain === 'proton'\n ? 'XPR_XMD'\n : 'XPR_XUSDC',\n\n CHAIN: chain,\n\n SWAP_COINS: swapCoins,\n BRIDGE_COINS: bridgeCoins,\n ALL_ENABLED_COINS: allEnabledCoins,\n LEND_COINS: lendCoins,\n BORROW_COINS: borrowCoins,\n LOAN_COINS: loanCoins,\n ALL_COINS: allCoins,\n\n findBridgeCoinWalletByXtokenAndChain (xtokenSymbol: string, chain: string): CoinWallet | undefined {\n const bridgeCoin = constants.BRIDGE_COINS.find((bridgeCoin: Coin) => bridgeCoin.xtokenSymbol === xtokenSymbol)\n if (!bridgeCoin) return undefined\n const bridgeWallet = bridgeCoin.wallets.find((bridgeWallet: Wallet) => bridgeWallet.chain === chain)\n if (!bridgeWallet) return undefined\n\n return {\n ...bridgeCoin,\n ...bridgeWallet\n }\n },\n\n findBridgeCoinWallet (coin: string, wallet: string): CoinWallet | undefined {\n const bridgeCoin = constants.BRIDGE_COINS.find((bridgeCoin: Coin) => bridgeCoin.coin === coin)\n if (!bridgeCoin) return undefined\n\n const bridgeWallet = bridgeCoin.wallets.find((bridgeWallet: Wallet) => bridgeWallet.wallet === wallet)\n if (!bridgeWallet) return undefined\n\n return {\n ...bridgeCoin,\n ...bridgeWallet\n }\n },\n\n findBridgeCoinNetwork (coin: string, network: string): CoinWallet | undefined {\n const bridgeCoin = constants.BRIDGE_COINS.find((bridgeCoin: Coin) => bridgeCoin.coin === coin)\n if (!bridgeCoin) return undefined\n const bridgeWallet = bridgeCoin.wallets.find((bridgeWallet: Wallet) => bridgeWallet.network === network)\n if (!bridgeWallet) return undefined\n\n return {\n ...bridgeCoin,\n ...bridgeWallet\n }\n }\n }\n\n return constants\n}","import * as z from 'zod';\nimport { baseActionParser, singleActionTransactionParser } from './actions'\nimport { authorizationParser } from './base'\nimport { WRAP_CONTRACT, WRAP_AUTH_ACTION } from '../constants'\n\nexport const createAbstractAuthParser = (contract: string, action: string, data: z.ZodRawShape) => {\n return z.object({\n signer : authorizationParser,\n signatures : z.array(z.string()).length(1),\n transaction: singleActionTransactionParser(contract, action, data)\n })\n}\n\nconst generateAuthData = {\n time: z.string(),\n protonAccount: z.string()\n}\nconst generateAuthActionsBaseParser = baseActionParser(WRAP_CONTRACT, WRAP_AUTH_ACTION, generateAuthData)\nexport type GenerateAuthBaseAction = z.infer<typeof generateAuthActionsBaseParser>\n\nexport const generateAuthParser = createAbstractAuthParser(WRAP_CONTRACT, WRAP_AUTH_ACTION, generateAuthData)\nexport type GenerateAuth = z.infer<typeof generateAuthParser>","import * as z from 'zod';\nimport { accountParser } from './base'\nimport { generateAuthParser } from './auth'\n\nexport const addressParser = z.object({\n index : z.number(),\n account : accountParser,\n chain : z.string(),\n address : z.string(),\n address_hash: z.string(),\n})\nexport type Address = z.infer<typeof addressParser>\n\nexport const generateAddressBodyParser = z.object({\n coin: z.string(),\n wallet: z.string(),\n}).merge(generateAuthParser)\nexport type GenerateAddressBody = z.infer<typeof generateAddressBodyParser>\n\nexport const generateAddressResponse = z.object({\n id : z.string(), // \"2448834505708930950\",\n address: z.string(), // \"0x617C03C1E2Bf81C062A4CEfbE312c070E1d86d18\",\n coin : z.string(), // \"ETH\",\n wallet : z.string(), // \"ETH\",\n memo : z.string().optional()\n})\nexport type GenerateAddressResponse = z.infer<typeof generateAddressResponse>\n","import * as z from 'zod'\n\nexport interface CurrencyStat {\n supply : string;\n max_supply: string;\n issuer : string;\n}\nexport interface CurrencyStats {\n [key: string]: CurrencyStat;\n}\n\nexport const rateParser = z.object({\n counterCurrency : z.string(),\n price : z.number(),\n priceChangePercent: z.number(),\n marketCap : z.number(),\n volume : z.number(),\n timestamp : z.number()\n})\nexport type Rate = z.infer<typeof rateParser>\n\nexport const exchangeRateParser = z.object({\n contract: z.string(),\n symbol : z.string(),\n rank : z.number(),\n rates : z.array(rateParser)\n})\nexport type ExchangeRate = z.infer<typeof exchangeRateParser>\n\nexport const exchangeRatesParser = z.array(exchangeRateParser)\nexport type ExchangeRates = z.infer<typeof exchangeRatesParser>\n\nexport const bloksRatesParser = z.array(z.object({\n contract: z.string(),\n symbol : z.string(),\n rank : z.number(),\n rates : z.array(rateParser)\n}))\n\nexport type BloksRate = {\n key: string;\n symbol: string;\n account: string;\n chain: string;\n supply: {\n circulating: number;\n max: number;\n precision: number;\n last_update: string;\n };\n metadata: {\n name: string;\n website: string;\n logo: string;\n created_at: string;\n desc: string;\n };\n pairs: [\n {\n id: string;\n pair_base: string;\n pair_quote: string;\n exchange: string;\n quote:{\n price: number\n volume_base_24h: number\n volume_quote_24h: number\n market_cap: number\n price_usd: number\n volume_usd_24h: number\n },\n percentage_daily_volume: number\n },\n ];\n price: {\n quotes: {\n [key: string]: number\n },\n usd: number;\n volume_base_24h: number;\n volume_usd_24h: number;\n marketcap_usd: number;\n change_24hr: number;\n },\n rank: number;\n chain_rank: number;\n}\n\nexport type BloksRates = BloksRate[]","import * as z from 'zod'\n\nexport enum Type {\n RECEIVE = 'receive',\n SEND = 'send'\n}\n\nexport const depositBodyParser = z.object({\n id : z.string(), // \"0x000010203121388fac991\"\n type : z.nativeEnum(Type), // \"receive\" or \"send\"\n hash : z.string(), // \"0x000010203121388fac991\"\n coin : z.string(), // \"ETH\" or \"XPR\"\n wallet : z.string(), // \"ETH-ROPSTEN\" or \"XPR-MAINNET\"\n network : z.string(), // \"erc29\"\n})\nexport type DepositBody = z.infer<typeof depositBodyParser>\n\nexport const transactionParser = z.object({\n id : z.string(), // \"2629304740076324677\"\n wallet : z.string(), // \"ETH\"\n value : z.number(), // 10000000000000000\n valueString : z.string(), // \"10000000000000000\"\n address : z.string(), // \"0x0000\"\n type : z.nativeEnum(Type), // \"receive\" or \"send\"\n state : z.string(), // \"confirmed\"\n confirmations : z.number(), // 1\n hash : z.string(), // \"b4781422be95fee8fbbf720e3e0fa9705ae834474ef25f5724cdd0f5d23211ed\"\n blockHash : z.string().optional().nullable(), // \"000000000000000000089b270eb99f75107d6a9cde37ec944cb80a2998df7b43\"\n blockHeight : z.number().optional().nullable(), // 643159\n})\nexport type Transaction = z.infer<typeof transactionParser>","import * as z from 'zod'\n\nexport const otcOrderResponseParser = z.object({\n success : z.boolean(),\n transaction_id: z.string(),\n errormsg : z.string().optional()\n})\nexport type OtcOrderResponse = z.infer<typeof otcOrderResponseParser>\n\nexport const otcQuoteBodyParser = z.object({\n baseAmount : z.number(),\n baseSymbol : z.string(),\n quoteSymbol: z.string()\n})\nexport type OtcQuoteBody = z.infer<typeof otcQuoteBodyParser>\n\nexport const otcQuoteResponseParser = z.object({\n success : z.boolean(),\n token : z.string(),\n qty : z.number(),\n errormsg: z.string().optional()\n})\nexport type OtcQuoteResponse = z.infer<typeof otcQuoteResponseParser>","import * as z from 'zod'\nimport { singleActionTransactionParser } from './actions'\nimport { authorizationParser } from './base'\nimport { WRAP_CONTRACT } from '../constants'\nimport { baseActionParser } from './actions'\n\nconst withdrawData = {\n from: z.string().refine((val) => val !== WRAP_CONTRACT, {\n message: `${WRAP_CONTRACT} must be receiver`,\n }),\n to: z.literal(WRAP_CONTRACT),\n quantity: z.string(),\n memo: z.string()\n}\nconst withdrawBodyBaseAction = baseActionParser('*', 'transfer', withdrawData)\nexport type WithdrawBodyBaseAction = z.infer<typeof withdrawBodyBaseAction>\n\nexport const withdrawBodyParser = z.object({\n signer : authorizationParser,\n signatures : z.array(z.string()).length(1),\n transaction: singleActionTransactionParser('*', 'transfer', withdrawData),\n quoteId: z.string(),\n provider: z.string().optional()\n})\nexport type WithdrawBody = z.infer<typeof withdrawBodyParser>\n\nexport const withdrawMetalResponseParser = z.object({\n success: z.boolean(),\n id : z.string(),\n})\nexport type WithdrawMetalResponse = z.infer<typeof withdrawMetalResponseParser>\n\nexport const withdrawalFeeQuoteParser = z.object({\n quoteId : z.string(),\n estimatedFee: z.string(),\n currency : z.string(),\n network : z.string(),\n})\nexport type WithdrawalFeeQuote = z.infer<typeof withdrawalFeeQuoteParser>","import * as z from 'zod'\n\nexport const withdrawHistoryMetalSwapParser = z.object({\n id : z.string(),\n status : z.string(),\n amount : z.string(),\n currency : z.string(),\n network : z.string(),\n created : z.string(),\n withdrawalAddress: z.string(),\n withdrawalHash : z.string().optional()\n})\nexport type WithdrawHistoryMetalSwap = z.infer<typeof withdrawHistoryMetalSwapParser>\n\nexport const withdrawHistoryMetalResponseParser = z.object({\n swaps : z.array(withdrawHistoryMetalSwapParser),\n page : z.number(),\n pageSize : z.number(),\n numberOfElements: z.number(),\n totalPages : z.number(),\n totalElements : z.number()\n})\nexport type WithdrawHistoryMetalResponse = z.infer<typeof withdrawHistoryMetalResponseParser>\n","import * as z from 'zod'\nimport { ExtendedAssetParser } from './base'\n\nexport enum Status {\n PENDING = 'pending',\n SUCCESS = 'success',\n FAIL = 'fail',\n PROCESSING = 'processing'\n}\n\nexport const wrapStartParser = z.object({\n balance : ExtendedAssetParser,\n id : z.string(),\n txid : z.string(),\n chain : z.string(),\n deposit_address: z.string(),\n confirmations : z.number()\n})\n\nexport type WrapStart = z.infer<typeof wrapStartParser>\n\nexport const wrapSetConfParser = z.object({\n wrap_hash : z.string(),\n confirmations: z.number()\n})\nexport type WrapSetConf = z.infer<typeof wrapSetConfParser>\n\nexport const wrapParser = z.object({\n index : z.number(),\n proton_account : z.string(),\n balance : ExtendedAssetParser,\n id : z.string(),\n txid : z.string(),\n chain : z.string(),\n deposit_address: z.string(),\n status : z.nativeEnum(Status),\n finish_txid : z.string(),\n wrap_hash : z.string(),\n confirmations : z.number(),\n})\nexport type Wrap = z.infer<typeof wrapParser>","import * as z from 'zod';\n\n/**\n * OHLCV\n */\nexport const ohlcvParser = z.object({\n time: z.number(),\n open: z.number(),\n high: z.number(),\n low: z.number(),\n close: z.number(),\n volume: z.number(),\n volume_bid: z.number(),\n count: z.number()\n})\nexport type OHLCV = z.infer<typeof ohlcvParser>\n\nexport const getOhlcvParser = z.object({\n interval: z.string(),\n from: z.string(),\n to: z.string(),\n symbol: z.string(),\n limit: z.string().default(\"500\").refine(n => +n <= 1000, 'Max limit is 1000'),\n})\nexport type GetOHLCV = z.infer<typeof getOhlcvParser>\n\nexport const getOhlcvResponseParser = z.object({\n sync: z.number(),\n data: z.array(ohlcvParser)\n})\nexport type GetOHLCVResponse = z.infer<typeof getOhlcvResponseParser>\n\n/**\n * Order History\n */\nexport const orderHistoryParser = z.object({\n seq: z.number(),\n block_num: z.number(),\n block_time: z.string(),\n order_id: z.number(),\n market_id: z.number(),\n quantity_init: z.number().optional(),\n quantity_curr: z.number(),\n price: z.number(),\n account_name: z.string(),\n order_side: z.number(),\n order_type: z.number(),\n trigger_price: z.number(),\n fill_type: z.number(),\n status: z.string(),\n quantity_change: z.number(),\n trx_id: z.string(),\n})\nexport type OrderHistory = z.infer<typeof orderHistoryParser>\n\nexport const getOpenOrdersParser = z.object({\n account: z.string(),\n symbol: z.string().optional(),\n offset: z.string().default(\"0\"),\n limit: z.string().default(\"100\").refine(n => +n <= 250, 'Max limit is 250')\n})\nexport type GetOpenOrders = z.infer<typeof getOpenOrdersParser>\n\nexport const getOpenOrdersResponseParser = z.object({\n sync: z.number(),\n count: z.number(),\n data: z.array(orderHistoryParser)\n})\nexport type GetOpenOrdersResponse = z.infer<typeof getOpenOrdersResponseParser>\n\nexport const getOrderHistoryParser = z.object({\n account: z.string(),\n symbol: z.string().optional(),\n offset: z.string().default(\"0\"),\n limit: z.string().default(\"100\").refine(n => +n <= 250, 'Max limit is 250'),\n trx_id: z.string().optional(),\n})\nexport type GetOrderHistory = z.infer<typeof getOrderHistoryParser>\n\nexport const getOrderHistoryResponseParser = z.object({\n sync: z.number(),\n count: z.number(),\n data: z.array(orderHistoryParser)\n})\nexport type GetOrderHistoryResponse = z.infer<typeof getOrderHistoryResponseParser>\n\nexport const getOrderParser = z.object({\n order_id: z.string()\n})\nexport type GetOrder = z.infer<typeof getOrderParser>\n\nexport const getOrderResponseParser = z.object({\n sync: z.number(),\n data: z.array(orderHistoryParser)\n})\nexport type GetOrderResponse = z.infer<typeof getOrderResponseParser>\n\n/**\n * Depth\n */\nexport const depthParser = z.object({\n level: z.number(),\n ask: z.number(),\n bid: z.number(),\n count: z.number(),\n})\nexport type Depth = z.infer<typeof depthParser>\n\nexport const getDepthParser = z.object({\n symbol: z.string(),\n step: z.string(),\n limit: z.string().default(\"100\").refine(n => +n <= 250, 'Max limit is 250'),\n})\nexport type GetDepth = z.infer<typeof getDepthParser>\n\nexport const getDepthResponseParser = z.object({\n sync: z.number(),\n data: z.object({\n bids: z.array(depthParser),\n asks: z.array(depthParser),\n })\n})\nexport type GetDepthResponse = z.infer<typeof getDepthResponseParser>\n\n/**\n * Daily\n */\nexport const dailyParser = z.object({\n market_id: z.number(),\n first: z.number(),\n last: z.number(),\n bid: z.number(),\n ask: z.number(),\n change_percentage_24hr: z.number()\n})\nexport type Daily = z.infer<typeof dailyParser>\n\nexport const getDailyResponseParser = z.object({\n sync: z.number(),\n data: z.array(dailyParser)\n})\nexport type GetDailyResponseParser = z.infer<typeof getDailyResponseParser>\n\n/**\n * Markets\n */\nexport const marketParser = z.object({\n market_id: z.number(),\n symbol: z.string(),\n status_code: z.number(),\n type: z.string(),\n maker_fee: z.number(),\n taker_fee: z.number(),\n order_min: z.number(),\n bid_token: z.object({\n code: z.string(),\n precision: z.number(),\n contract: z.string(),\n multiplier: z.number()\n }),\n ask_token: z.object({\n code: z.string(),\n precision: z.number(),\n contract: z.string(),\n multiplier: z.number()\n })\n})\nexport type Market = z.infer<typeof marketParser>\n\nexport const getMarketsResponseParser = z.object({\n sync: z.number(),\n data: z.array(marketParser)\n})\nexport type GetMarketsResponse = z.infer<typeof getMarketsResponseParser>\n\n/**\n * Trades\n */\nexport const tradeParser = z.object({\n block_num: z.number(),\n block_time: z.string(),\n trade_id: z.number(),\n market_id: z.number(),\n price: z.number(),\n bid_user: z.string(),\n bid_user_order_id: z.number(),\n bid_total: z.number(),\n bid_amount: z.number(),\n bid_fee: z.number(),\n ask_user: z.string(),\n ask_user_order_id: z.number(),\n ask_total: z.number(),\n ask_amount: z.number(),\n ask_fee: z.number(),\n order_side: z.number(),\n trx_id: z.string(),\n})\nexport type Trade = z.infer<typeof tradeParser>\n\nexport const getTradesParser = z.object({\n symbol: z.string(),\n offset: z.string().default(\"0\"),\n limit: z.string().default(\"100\").refine(n => +n <= 250, 'Max limit is 250'),\n})\nexport type GetTrades = z.infer<typeof getTradesParser>\n\nexport const getTradesResponseParser = z.object({\n sync: z.number(),\n data: z.array(tradeParser)\n})\nexport type GetTradesResponseParser = z.infer<typeof getTradesResponseParser>\n\nexport const getTradeHistoryParser = z.object({\n account: z.string(),\n symbol: z.string().optional(),\n offset: z.string().default(\"0\"),\n limit: z.string().default(\"100\").refine(n => +n <= 250, 'Max limit is 250'),\n})\nexport type GetTradeHistory = z.infer<typeof getTradeHistoryParser>\n\nexport const getTradeHistoryResponseParser = z.object({\n sync: z.number(),\n count: z.number(),\n data: z.array(tradeParser)\n})\nexport type GetTradeHistoryResponse = z.infer<typeof getTradeHistoryResponseParser>\n\n/** \n * SYNC\n */\nexport const syncParser = z.object({\n sourceid: z.number(),\n block_num: z.string(),\n block_time: z.string(),\n irreversible: z.string(),\n is_master: z.number(),\n last_updated: z.string(),\n})\nexport type Sync = z.infer<typeof syncParser>\n\nexport const getSyncResponseParser = z.object({\n dbSecondsBehind: z.number(),\n chronicleSecondsBehind: z.number(),\n maxSecondsBehind: z.number()\n})\nexport type GetSyncResponse = z.infer<typeof getSyncResponseParser>\n\n/**\n * Referral Totals\n */\n\n export const refferalTotalParser = z.object({\n referrer: z.string(),\n market_id: z.number(),\n bid_fee: z.number(),\n bid_total: z.number(),\n ask_fee: z.number(),\n ask_total: z.number(),\n})\nexport type ReferralTotal = z.infer<typeof refferalTotalParser>\n\nexport const getReferralTotalsParser = z.object({\n referrer: z.string()\n})\nexport type GetReferralTotals = z.infer<typeof getReferralTotalsParser>\n\nexport const getReferralTotalsResponseParser = z.object({\n sync: z.number(),\n data: z.array(refferalTotalParser)\n})\nexport type GetReferralTotalsResponseParser = z.infer<typeof getReferralTotalsResponseParser>\n\n/**\n * Referrals\n */\nexport const refferalParser = z.object({\n referred_user: z.string(),\n})\nexport type Referral = z.infer<typeof refferalParser>\n\nexport const getReferralsParser = z.object({\n referrer: z.string()\n})\nexport type GetReferrals = z.infer<typeof getReferralsParser>\n\nexport const getReferralsResponseParser = z.object({\n sync: z.number(),\n data: z.array(refferalParser)\n})\nexport type GetReferralsResponseParser = z.infer<typeof getReferralsResponseParser>\n\n/**\n * Leaderboard\n */\nexport const leaderboardParser = z.object({\n user: z.string(),\n total: z.number()\n})\nexport type Leaderboard = z.infer<typeof leaderboardParser>\n\nexport const getLeaderboardParser = z.object({\n market_ids: z.array(z.string()),\n from: z.string(),\n to: z.string(),\n})\nexport type GetLeaderboard = z.infer<typeof getLeaderboardParser>\n\nexport const getLeaderboardResponseParser = z.object({\n sync: z.number(),\n data: z.array(leaderboardParser)\n})\nexport type GetLeaderboardResponseParser = z.infer<typeof getLeaderboardResponseParser>\n\n/**\n * Basic Types\n */\nexport enum orderType { ORDERBOOK = 0, LIMIT = 1, STOPLOSS = 2, TAKEPROFIT = 3 }\n\nexport enum orderSide { INVALID = 0, BUY = 1, SELL = 2 }\n\nexport enum fillType { GTC = 0, IOC = 1, POST_ONLY = 2 }\n\nexport enum logStatus {\n CREATE = \"create\",\n UPDATE = \"update\",\n TRANSFER = \"transfer\",\n CANCEL = \"cancel\",\n DELETE = \"delete\",\n}\n\nexport interface CurrentOrder {\n order_id: number\n market_id: number\n quantity_init: number\n quantity_curr: number\n price: number\n account_name: string\n order_side: number\n order_type: number\n status: string\n created_at: string\n updated_at: string\n}\n\nexport interface DbMarket {\n market_id: number\n order_min: number\n status_code: number\n maker_fee: number\n taker_fee: number\n bid_token_c: string\n bid_token_s: string\n bid_token_m: number\n ask_token_c: string\n ask_token_s: string\n ask_token_m: number\n created_at: string\n updated_at: string\n}\n\nexport enum ITopics {\n TRADES = \"TRADES\",\n ORDERS = \"ORDERS\",\n}\n \nexport const TOPICS = {\n [ITopics.TRADES]: {\n topic: ITopics.TRADES,\n },\n [ITopics.ORDERS]: {\n topic: ITopics.ORDERS,\n }\n}","import * as z from 'zod';\nimport { generateAuthParser } from \"./auth\"\n\nexport const loginAccountParamsV3Parser = z.object({\n email: z.string().optional(),\n verificationCode: z.string().optional(),\n}).merge(generateAuthParser)\n \nexport type LoginAccountParamsV3 = z.infer<typeof loginAccountParamsV3Parser>","interface PartialCoin {\n xtokenSymbol: string;\n xtokenPrecision: number;\n xtokenContract: string;\n}\n\nexport const isSameToken = (token1: PartialCoin, token2: PartialCoin) => {\n return token1.xtokenSymbol === token2.xtokenSymbol &&\n token1.xtokenPrecision === token2.xtokenPrecision &&\n token1.xtokenContract === token2.xtokenContract\n}\n\nexport const median = (numbers: number[]) => {\n const sorted = numbers.slice().sort((a, b) => a - b);\n const middle = Math.floor(sorted.length / 2);\n\n if (sorted.length % 2 === 0) {\n return (sorted[middle - 1] + sorted[middle]) / 2;\n }\n\n return sorted[middle];\n}\n","import cloneDeep from 'lodash.clonedeep'\n\nexport class INode <T> {\n data: T = {} as T\n constructor (public key: string, data?: T) {\n if (data) {\n this.data = data\n }\n }\n}\n\nexport class ILink <T> {\n data: T = {} as T\n constructor (public from: INode<T>, public to: INode<T>, data?: T) {\n if (data) {\n this.data = data\n }\n }\n}\n\nexport class Graph <T> {\n nodes: INode<T>[] = []\n links: ILink<T>[] = []\n lastPathFound: INode<T>[] = []\n\n isEquals = (a: INode<T>, b: INode<T>) => a.key === b.key\n\n addNode (k: string, v?: T): void {\n const node = this.findNode(k)\n if (!node) {\n this.nodes.push(new INode(k, v))\n }\n }\n\n addNodes (...nodes: (string | [string, T?])[]): void {\n nodes.forEach(node => typeof node === \"string\" ? this.addNode(node) : this.addNode(node[0], node[1]))\n }\n\n findNode (k: string): INode<T> | undefined {\n const inode = new INode<T>(k)\n return this.nodes.find(node => this.isEquals(node, inode))\n }\n\n findNodes (...keys: string[]): (INode<T> | undefined)[] {\n return keys.map(k => this.findNode(k))\n }\n\n requireFindNodes (...keys: string[]): INode<T>[] {\n const nodes = this.findNodes(...keys)\n if (nodes.some(n => n === undefined)) {\n throw new Error('One of the nodes does not exist')\n }\n return nodes as INode<T>[]\n }\n\n addLink (nodeA: string, nodeB: string, data?: T): void {\n const [inodeA, inodeB] = this.requireFindNodes(nodeA, nodeB)\n this.links.push(new ILink<T>(inodeA, inodeB, data))\n }\n\n addLinks (...links: [nodeA: string, nodeB: string, data?: T][]): void {\n links.forEach(link => this.addLink(...link))\n }\n \n /** \n * Get all nodes linked \n * to from `node`.\n */\n findLinkedNodes (node: INode<T>) {\n return this.links.reduce((acc, link) => {\n if (this.isEquals(link.from, node)) {\n acc.push(link.to)\n }\n return acc;\n }, [] as INode<T>[]);\n }\n\n findAllPaths(from: string, to: string) {\n const allPaths: INode<T>[][] = []\n\n const [fromNode, toNode] = this.requireFindNodes(from, to)\n\n const path: INode<T>[] = [fromNode]\n let seen = new Set()\n\n const stuck = (x: INode<T>) => {\n if (this.isEquals(x, toNode)) {\n return false\n }\n\n for (const y of this.findLinkedNodes(x)) {\n if (!seen.has(y.key)) {\n seen.add(y.key)\n if (!stuck(y)) {\n return false\n }\n }\n }\n\n return true\n }\n\n const search = (x: INode<T>) => {\n if (this.isEquals(x, toNode)) {\n allPaths.push(cloneDeep(path))\n return\n }\n seen = new Set(path.map(p => p.key))\n if (stuck(x)) {\n return\n }\n\n for (const y of this.findLinkedNodes(x)) {\n if (!path.includes(y)) {\n path.push(y)\n search(y)\n path.pop()\n }\n }\n }\n\n search(fromNode)\n\n return allPaths\n }\n}","import { BigNumber as BN } from 'bignumber.js'\nimport { FEE_FACTOR } from './constants'\n\n/**\n * XPR<>XUSDT (XPR -> XUSDT)\n *\n * pool1 * pool2\n * term = pool2 - --------------\n * pool1 + swap\n *\n * result = term - (term * fee)\n */\nexport const compute_transfer = (pool1: BN.Instance, pool2: BN.Instance, swap: BN.Instance, exchange_fee: number, precision: number): BN => {\n const term1 = pool2\n const term2over = pool1.times(pool2)\n const term2under = pool1.plus(swap)\n const term2 = term2over.div(term2under).integerValue(BN.ROUND_DOWN)\n const term = term1.minus(term2)\n const fee = new BN(exchange_fee).div(FEE_FACTOR)\n const result = term.minus(term.times(fee))\n \n return result.integerValue(BN.ROUND_DOWN).shiftedBy(-precision)\n}\n\nexport const compute_transfer_curve = (\n reserve_in: number,\n reserve_out: number,\n amount_in: number,\n exchange_fee: number,\n precision: number,\n amplifier: number\n): BN => {\n if (amplifier === 0) {\n return compute_transfer(new BN(reserve_in), new BN(reserve_out), new BN(amount_in), exchange_fee, precision)\n }\n\n const MAX_ITERATIONS = 10\n\n const sum = reserve_in + reserve_out\n let D = sum;\n let D_prev = 0\n\n const F = (v: number) => {\n return (v >= 0 ? 1 : -1) * Math.floor(Math.abs(v));\n }\n\n let i = MAX_ITERATIONS\n while (D != D_prev && i--) {\n const prod1 = F((F((D * D) / (reserve_in * 2)) * D) / (reserve_out * 2));\n D_prev = D\n D = F((2 * D * ((amplifier * sum) + prod1)) / ((2 * amplifier - 1) * D + 3 * prod1));\n }\n\n const b = ((reserve_in + amount_in) + F(D / (amplifier * 2))) - D;\n\n const c = F(F((D * D) / ((reserve_in + amount_in) * 2)) * D / (amplifier * 4));\n\n let x = D, x_prev = 0;\n i = MAX_ITERATIONS;\n while ( x != x_prev && i--) {\n x_prev = F(x);\n x = +new BN(x * x + c).div(2 * x + b).toFixed(0, BN.ROUND_DOWN)\n }\n\n if (reserve_out <= x) {\n throw new Error(\"curve: insufficient reserve out\")\n }\n\n // Amount out + Fee + 1\n const amount_out_with_fee = new BN(reserve_out - x);\n\n // Fee + 1\n // +1 covers small precision issues\n const fee = amount_out_with_fee.times(exchange_fee).div(FEE_FACTOR).plus(1).toFixed(0, BN.ROUND_DOWN);\n \n // Amount out\n const amount_out = amount_out_with_fee.minus(fee)\n\n return amount_out.integerValue(BN.ROUND_DOWN).shiftedBy(-precision)\n}\n\nexport const compute_liquidity = (amount_lt: BN.Instance, pool: BN.Instance, lt_supply: BN.Instance, precision: number): number => {\n const over = amount_lt.times(pool)\n const under = lt_supply\n const result = over.div(under).integerValue(BN.ROUND_DOWN)\n\n return +(result.shiftedBy(-precision).toFixed(precision, BN.ROUND_DOWN))\n}\n\nexport const isInputInvalid = (data: string, value: string | number, pool: { xtokenPrecision: number }): boolean => {\n value = String(value)\n \n const isBackspace = data === null\n const isNumber = !/[0-9]|\\./.test(data)\n const isDoubleDot = data === '.' && value.indexOf('.') !== value.length - 1\n const isPrecisionTooHigh = value && value.indexOf('.') !== -1 && value.split('.')[1].length > pool.xtokenPrecision\n const isInvalid = !isBackspace && Boolean(isNumber || isDoubleDot || isPrecisionTooHigh)\n\n return isInvalid\n}\n\nexport const applyDiscountToFee = (fee: number, staked: number): number => {\n if (staked >= 10000000) {\n return fee * 0\n } else if (staked >= 1000000) {\n return fee * 0.33\n } else if (staked >= 100000) {\n return fee * 0.66\n } else {\n return fee\n }\n}"],"names":["Chains","Networks","similarChains","EthereumMainnet","BinanceBEP20","Providers","explorerLinkByChain","BitcoinMainnet","txid","BitcoinTestnet","EthereumRopsten","LitecoinMainnet","LitecoinTestnet","BitcoinCashMainnet","BitcoinCashTestnet","StellarMainnet","StellarTestnet","ProtonMainnet","traces","ProtonTestnet","PolkadotMainnet","BinanceBEP2","EosMainnet","EosTestnet","HederaMainnet","HederaTestnet","DogeMainnet","CardanoMainnet","AvalancheXChain","AvalancheCChain","PolygonMainnet","TerraMainnet","RippleMainnet","SolanaMainnet","MetalXTestnet","MetalCTestnet","MetalCMainnet","protonExplorerTxUrl","chain","txId","initializeCoins","protonChain","IS_MAINNET","IS_TESTNET","coins","allowSwap","allowBridge","allowLend","allowBorrow","name","coin","xtokenSymbol","xtokenPrecision","xtokenContract","wallets","wallet","symbol","network","ERC20","precision","contract","provider","FIREBLOCKS","hasWithdrawMemo","BEP20","image","coingeckoId","XLM","undefined","Ropsten","EVM","METAL","Mainnet","Testnet","walletWithDuplicateChains","find","chains","map","Set","size","length","Error","allCoins","swapCoins","filter","bridgeCoins","lendCoins","borrowCoins","loanCoins","allEnabledCoins","accountParser","z","regex","authorizationParser","actor","permission","authorizationsParser","min","ExtendedAssetParser","quantity","actionParser","account","authorization","data","hex_data","optional","transactionExtensionsParser","or","rawTransactionParser","expiration","ref_block_num","ref_block_prefix","max_net_usage_words","max_cpu_usage_ms","delay_sec","context_free_actions","transaction_extensions","baseActionParser","action","baseActionSerializedParser","webauthActionParser","key","modulus","exponent","user_presence","rpid","nonce","permissions","signature","auth_data","client_json","trx","merge","actions","singleActionTransactionParser","baseAction","webauthAction","WRAP_CONTRACT","WRAP_AUTH_ACTION","FEE_FACTOR","initializeConstants","constants","SWAP_CONTRACT","DEX_CONTRACT","GOOGLE_MAPS_KEY","SWAP_URL","WRAP_SERVER_URL","WRAP_ACTIONS","SAVE_ADDRESS","DELETE_ADDRESS","WRAP_START","WRAP_FINISH","WRAP_PROCESS","WRAP_SET_CONF","WRAP_TABLES","ADDRESSES","WRAPS","ADDRESSES_INDEXES","BY_ACCOUNT","BY_ADDR_HASH","WRAPS_INDEXES","BY_STATUS","BY_WRAP_HASH","WRAP_PROCESS_TIMER","FARM_CONTRACT","WEBHOOK_PERMISSION","PUBLIC_PERMISSION","LIGHT_PERMISSION","METAL_ENDPOINT","METAL_PROTON_ENDPOINT","METAL_DEX_HTTP_ENDPOINT","METAL_DEX_WS_ENDPOINT","PROTON_ENDPOINTS","CHAIN_ID","DEX_PROCESS_SIZE","DEX_SLTPPROCESS_SIZE","MAX_PRICE","MAX_ITEMS_PER_PAGE_DESKTOP","MIN_PRICE","DEFAULT_DEX_SYMBOL","CHAIN","SWAP_COINS","BRIDGE_COINS","ALL_ENABLED_COINS","LEND_COINS","BORROW_COINS","LOAN_COINS","ALL_COINS","findBridgeCoinWalletByXtokenAndChain","bridgeCoin","bridgeWallet","findBridgeCoinWallet","findBridgeCoinNetwork","createAbstractAuthParser","signer","signatures","transaction","generateAuthData","time","protonAccount","generateAuthParser","addressParser","index","address","address_hash","generateAddressBodyParser","generateAddressResponse","id","memo","rateParser","counterCurrency","price","priceChangePercent","marketCap","volume","timestamp","exchangeRateParser","rank","rates","exchangeRatesParser","bloksRatesParser","Type","depositBodyParser","type","hash","transactionParser","value","valueString","state","confirmations","blockHash","nullable","blockHeight","otcOrderResponseParser","success","transaction_id","errormsg","otcQuoteBodyParser","baseAmount","baseSymbol","quoteSymbol","otcQuoteResponseParser","token","qty","withdrawData","from","refine","val","message","to","withdrawBodyParser","quoteId","withdrawMetalResponseParser","withdrawalFeeQuoteParser","estimatedFee","currency","withdrawHistoryMetalSwapParser","status","amount","created","withdrawalAddress","withdrawalHash","withdrawHistoryMetalResponseParser","swaps","page","pageSize","numberOfElements","totalPages","totalElements","Status","wrapStartParser","balance","deposit_address","wrapSetConfParser","wrap_hash","wrapParser","proton_account","finish_txid","ohlcvParser","open","high","low","close","volume_bid","count","getOhlcvParser","interval","limit","n","getOhlcvResponseParser","sync","orderHistoryParser","seq","block_num","block_time","order_id","market_id","quantity_init","quantity_curr","account_name","order_side","order_type","trigger_price","fill_type","quantity_change","trx_id","getOpenOrdersParser","offset","getOpenOrdersResponseParser","getOrderHistoryParser","getOrderHistoryResponseParser","getOrderParser","getOrderResponseParser","depthParser","level","ask","bid","getDepthParser","step","getDepthResponseParser","bids","asks","dailyParser","first","last","change_percentage_24hr","getDailyResponseParser","marketParser","status_code","maker_fee","taker_fee","order_min","bid_token","code","multiplier","ask_token","getMarketsResponseParser","tradeParser","trade_id","bid_user","bid_user_order_id","bid_total","bid_amount","bid_fee","ask_user","ask_user_order_id","ask_total","ask_amount","ask_fee","getTradesParser","getTradesResponseParser","getTradeHistoryParser","getTradeHistoryResponseParser","syncParser","sourceid","irreversible","is_master","last_updated","getSyncResponseParser","dbSecondsBehind","chronicleSecondsBehind","maxSecondsBehind","refferalTotalParser","referrer","getReferralTotalsParser","getReferralTotalsResponseParser","refferalParser","referred_user","getReferralsParser","getReferralsResponseParser","leaderboardParser","user","total","getLeaderboardParser","market_ids","getLeaderboardResponseParser","orderType","orderSide","fillType","logStatus","ITopics","TOPICS","TRADES","topic","ORDERS","loginAccountParamsV3Parser","email","verificationCode","isSameToken","token1","token2","median","numbers","sorted","slice","sort","a","b","middle","Math","floor","INode","ILink","Graph","nodes","links","lastPathFound","isEquals","addNode","k","v","node","findNode","push","addNodes","forEach","inode","findNodes","keys","requireFindNodes","some","addLink","nodeA","nodeB","inodeA","inodeB","addLinks","link","findLinkedNodes","reduce","acc","findAllPaths","allPaths","fromNode","toNode","path","seen","stuck","x","y","has","add","search","cloneDeep","p","includes","pop","compute_transfer","pool1","pool2","swap","exchange_fee","term1","term2over","times","term2under","plus","term2","div","integerValue","BN","ROUND_DOWN","term","minus","fee","result","shiftedBy","compute_transfer_curve","reserve_in","reserve_out","amount_in","amplifier","MAX_ITERATIONS","sum","D","D_prev","F","abs","i","prod1","c","x_prev","toFixed","amount_out_with_fee","amount_out","compute_liquidity","amount_lt","pool","lt_supply","over","under","isInputInvalid","String","isBackspace","isNumber","test","isDoubleDot","indexOf","isPrecisionTooHigh","split","isInvalid","Boolean","applyDiscountToFee","staked"],"mappings":"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"}
|