@proton/wrap-constants 0.2.181 → 0.2.183

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +0,0 @@
1
- {"version":3,"file":"wrap-constants.esm.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 XDCMainnet = 'XDC Network',\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 [Chains.XDCMainnet] : (txid: string) => `https://xdc.blocksscan.io/txs/${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: 'Euro Coin',\n coin: 'EUROC',\n xtokenSymbol: 'XEUROC',\n xtokenPrecision: 6,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_MAINNET ? [{\n wallet: 'EUROC',\n symbol: 'EUROC-ERC20',\n chain: Chains.EthereumMainnet,\n network: Networks.ERC20,\n precision: 6,\n contract: '0x1aBaEA1f7C830bD89Acc67eC4af516284b1bC33c',\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://assets.coingecko.com/coins/images/26045/small/euro-coin.png?1655394420',\n coingeckoId: 'euro-coin'\n },\n { \n allowSwap: false,\n allowBridge: IS_MAINNET,\n allowLend: false,\n allowBorrow: false,\n name: 'XDC Network',\n coin: 'XDC',\n xtokenSymbol: 'XDC',\n xtokenPrecision: 4,\n xtokenContract: 'xtokens',\n wallets: [\n ...(IS_MAINNET ? [{\n wallet: 'XDC',\n symbol: 'XDC',\n chain: Chains.XDCMainnet,\n network: Networks.Mainnet,\n precision: 18,\n contract: '',\n provider: Providers.FIREBLOCKS,\n hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://assets.coingecko.com/coins/images/2912/small/xdc-icon.png?1633700890',\n coingeckoId: 'xdce-crowd-sale'\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: false,\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: false,\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: true,\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 status: 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 high: z.number(),\n low: 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","_similarChains","EthereumMainnet","BinanceBEP20","Providers","explorerLinkByChain","_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","XDCMainnet","protonExplorerTxUrl","chain","txId","initializeCoins","protonChain","IS_MAINNET","IS_TESTNET","coins","allowSwap","allowBridge","allowLend","allowBorrow","name","coin","xtokenSymbol","xtokenPrecision","xtokenContract","wallets","concat","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","_initializeCoins","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","_extends","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","_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","_proto","prototype","addNode","k","v","node","findNode","push","addNodes","Array","_len","_key","arguments","forEach","_this","inode","_this2","findNodes","keys","_len2","_key2","_this3","requireFindNodes","apply","some","addLink","nodeA","nodeB","_this$requireFindNode","inodeA","inodeB","addLinks","_len3","_key3","link","_this4","findLinkedNodes","reduce","acc","_this5","findAllPaths","allPaths","_this$requireFindNode2","fromNode","toNode","path","seen","stuck","x","_this6","_iterator","_createForOfIteratorHelperLoose","_step","done","y","has","add","search","cloneDeep","p","_iterator2","_step2","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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"}