@proton/wrap-constants 0.0.68 → 0.0.70

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 +1 @@
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/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}\n\nexport enum Networks {\n Mainnet = 'mainnet',\n Testnet = 'testnet',\n Ropsten = 'ropsten',\n ERC20 = 'erc20',\n BEP20 = 'bep20',\n XLM = 'xlm',\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 hasWithdrawMemo: boolean;\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) => `https://proton.bloks.io/transaction/${txid}`,\n [Chains.ProtonTestnet] : (txid: string) => `https://proton-test.bloks.io/transaction/${txid}`,\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}\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 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 hasWithdrawMemo: false\n }\n ]: []),\n ],\n image: 'https://www.protonchain.com/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 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 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 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 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 hasWithdrawMemo: true\n },\n ]: [])\n ],\n image: 'https://www.protonchain.com/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',\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 hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.protonchain.com/images/tokens/xtokensXMT.png',\n coingeckoId: 'metal'\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 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 hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.protonchain.com/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 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 hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.protonchain.com/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 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 hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.protonchain.com/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 hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.protonchain.com/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 Standard',\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 hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.protonchain.com/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 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 hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.protonchain.com/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: false,\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: 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 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 hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.protonchain.com/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 hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.protonchain.com/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 hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.protonchain.com/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 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 hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.protonchain.com/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 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 hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.protonchain.com/images/tokens/xtokensXBCH.png',\n coingeckoId: 'bitcoin-cash'\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 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 hasWithdrawMemo: true\n }]: [])\n ],\n image: 'https://www.protonchain.com/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.protonchain.com/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 hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.protonchain.com/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 hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.protonchain.com/images/tokens/xtokensXBNB.png',\n coingeckoId: 'binancecoin'\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 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 hasWithdrawMemo: true\n }]: [])\n ],\n image: 'https://www.protonchain.com/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 hasWithdrawMemo: false\n }]: []),\n ],\n image: 'https://www.protonchain.com/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 hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.protonchain.com/images/tokens/xtokensXADA.png',\n coingeckoId: 'cardano'\n },\n\n // Adding\n { \n allowSwap: false,\n allowBridge: IS_MAINNET,\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 hasWithdrawMemo: true\n }]: [])\n ],\n image: 'https://www.protonchain.com/images/tokens/xtokensXLUNA.png',\n coingeckoId: 'terra-luna'\n },\n { \n allowSwap: false,\n allowBridge: IS_MAINNET,\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 hasWithdrawMemo: true\n }]: [])\n ],\n image: 'https://www.protonchain.com/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 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 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 hasWithdrawMemo: false\n }\n ]: [])\n ],\n image: 'https://www.protonchain.com/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 hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.protonchain.com/images/tokens/xtokensXMATIC.png',\n coingeckoId: 'matic-network'\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 hasWithdrawMemo: true\n }]: [])\n ],\n image: 'https://www.protonchain.com/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)\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 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 PROTON_ENDPOINTS: chain === 'proton'\n ? ['https://proton.greymass.com', 'https://proton.eoscafeblock.com', 'https://proton.cryptolions.io', 'https://proton.eosusa.news']\n : ['https://testnet.protonchain.com'],\n\n CHAIN_ID: chain === 'proton'\n ? '384da888112027f0321850a169f737c33e53b388aad48b5adace4bab97f437e0'\n : '71ee83bcf52142d61019d95f9cc5427ba6a0d7ff8accd9e2088ae2abeaf3d3dd',\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})\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>","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.multipliedBy(pool2)\n const term2under = pool1.plus(swap)\n const term2 = term2over.dividedBy(term2under).integerValue(BN.ROUND_DOWN)\n const term = term1.minus(term2)\n const fee = new BN(exchange_fee).dividedBy(FEE_FACTOR)\n const result = term.minus(term.multipliedBy(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).dividedBy(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.multipliedBy(exchange_fee).dividedBy(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.multipliedBy(pool)\n const under = lt_supply\n const result = over.dividedBy(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","explorerLinkByChain","BitcoinMainnet","txid","BitcoinTestnet","EthereumRopsten","LitecoinMainnet","LitecoinTestnet","BitcoinCashMainnet","BitcoinCashTestnet","StellarMainnet","StellarTestnet","ProtonMainnet","ProtonTestnet","PolkadotMainnet","BinanceBEP2","EosMainnet","EosTestnet","HederaMainnet","HederaTestnet","DogeMainnet","CardanoMainnet","AvalancheXChain","AvalancheCChain","PolygonMainnet","TerraMainnet","RippleMainnet","SolanaMainnet","initializeCoins","protonChain","IS_MAINNET","IS_TESTNET","coins","allowSwap","allowBridge","allowLend","allowBorrow","name","coin","xtokenSymbol","xtokenPrecision","xtokenContract","wallets","wallet","symbol","chain","network","ERC20","precision","contract","hasWithdrawMemo","BEP20","image","coingeckoId","XLM","undefined","Ropsten","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","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","PROTON_ENDPOINTS","CHAIN_ID","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","provider","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","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","n","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","multipliedBy","term2under","plus","term2","dividedBy","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.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/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}\n\nexport enum Networks {\n Mainnet = 'mainnet',\n Testnet = 'testnet',\n Ropsten = 'ropsten',\n ERC20 = 'erc20',\n BEP20 = 'bep20',\n XLM = 'xlm',\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 hasWithdrawMemo: boolean;\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) => `https://proton.bloks.io/transaction/${txid}`,\n [Chains.ProtonTestnet] : (txid: string) => `https://proton-test.bloks.io/transaction/${txid}`,\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}\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 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 hasWithdrawMemo: false\n }\n ]: []),\n ],\n image: 'https://www.protonchain.com/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 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 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 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 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 hasWithdrawMemo: true\n },\n ]: [])\n ],\n image: 'https://www.protonchain.com/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',\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 hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.protonchain.com/images/tokens/xtokensXMT.png',\n coingeckoId: 'metal'\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 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 hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.protonchain.com/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 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 hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.protonchain.com/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 hasWithdrawMemo: false\n }]: []),\n // ...(IS_MAINNET ? [{\n // wallet: 'USDT',\n // symbol: 'USDT',\n // chain: Chains.EthereumMainnet,\n // network: Networks.BEP20,\n // precision: 6,\n // contract: '0xDAC17F958D2EE523A2206206994597C13D831EC7',\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 hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.protonchain.com/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 hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.protonchain.com/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 Standard',\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 hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.protonchain.com/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 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 hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.protonchain.com/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://snipcoins.com/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 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 hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.protonchain.com/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 hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.protonchain.com/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 hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.protonchain.com/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 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 hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.protonchain.com/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 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 hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.protonchain.com/images/tokens/xtokensXBCH.png',\n coingeckoId: 'bitcoin-cash'\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 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 hasWithdrawMemo: true\n }]: [])\n ],\n image: 'https://www.protonchain.com/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.protonchain.com/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 hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.protonchain.com/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 hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.protonchain.com/images/tokens/xtokensXBNB.png',\n coingeckoId: 'binancecoin'\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 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 hasWithdrawMemo: true\n }]: [])\n ],\n image: 'https://www.protonchain.com/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 hasWithdrawMemo: false\n }]: []),\n ],\n image: 'https://www.protonchain.com/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 hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.protonchain.com/images/tokens/xtokensXADA.png',\n coingeckoId: 'cardano'\n },\n\n // Adding\n { \n allowSwap: false,\n allowBridge: IS_MAINNET,\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 hasWithdrawMemo: true\n }]: [])\n ],\n image: 'https://www.protonchain.com/images/tokens/xtokensXLUNA.png',\n coingeckoId: 'terra-luna'\n },\n { \n allowSwap: false,\n allowBridge: IS_MAINNET,\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 hasWithdrawMemo: true\n }]: [])\n ],\n image: 'https://www.protonchain.com/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 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 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 hasWithdrawMemo: false\n }\n ]: [])\n ],\n image: 'https://www.protonchain.com/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 hasWithdrawMemo: false\n }]: [])\n ],\n image: 'https://www.protonchain.com/images/tokens/xtokensXMATIC.png',\n coingeckoId: 'matic-network'\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 hasWithdrawMemo: true\n }]: [])\n ],\n image: 'https://www.protonchain.com/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)\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 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 PROTON_ENDPOINTS: chain === 'proton'\n ? ['https://proton.greymass.com', 'https://proton.eoscafeblock.com', 'https://proton.cryptolions.io', 'https://proton.eosusa.news']\n : ['https://testnet.protonchain.com'],\n\n CHAIN_ID: chain === 'proton'\n ? '384da888112027f0321850a169f737c33e53b388aad48b5adace4bab97f437e0'\n : '71ee83bcf52142d61019d95f9cc5427ba6a0d7ff8accd9e2088ae2abeaf3d3dd',\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})\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>","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.multipliedBy(pool2)\n const term2under = pool1.plus(swap)\n const term2 = term2over.dividedBy(term2under).integerValue(BN.ROUND_DOWN)\n const term = term1.minus(term2)\n const fee = new BN(exchange_fee).dividedBy(FEE_FACTOR)\n const result = term.minus(term.multipliedBy(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).dividedBy(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.multipliedBy(exchange_fee).dividedBy(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.multipliedBy(pool)\n const under = lt_supply\n const result = over.dividedBy(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","explorerLinkByChain","BitcoinMainnet","txid","BitcoinTestnet","EthereumRopsten","LitecoinMainnet","LitecoinTestnet","BitcoinCashMainnet","BitcoinCashTestnet","StellarMainnet","StellarTestnet","ProtonMainnet","ProtonTestnet","PolkadotMainnet","BinanceBEP2","EosMainnet","EosTestnet","HederaMainnet","HederaTestnet","DogeMainnet","CardanoMainnet","AvalancheXChain","AvalancheCChain","PolygonMainnet","TerraMainnet","RippleMainnet","SolanaMainnet","initializeCoins","protonChain","IS_MAINNET","IS_TESTNET","coins","allowSwap","allowBridge","allowLend","allowBorrow","name","coin","xtokenSymbol","xtokenPrecision","xtokenContract","wallets","wallet","symbol","chain","network","ERC20","precision","contract","hasWithdrawMemo","BEP20","image","coingeckoId","XLM","undefined","Ropsten","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","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","PROTON_ENDPOINTS","CHAIN_ID","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","provider","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","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","n","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","multipliedBy","term2under","plus","term2","dividedBy","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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"}
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
8
- "version": "0.0.68",
8
+ "version": "0.0.70",
9
9
  "license": "MIT",
10
10
  "main": "dist/index.js",
11
11
  "typings": "dist/index.d.ts",
@@ -44,5 +44,5 @@
44
44
  "resolutions": {
45
45
  "typescript": "4.5"
46
46
  },
47
- "gitHead": "55e8a011add2f82a0ef648beb8b77bd43e6a6672"
47
+ "gitHead": "ce35c5c13e4fee1e4fd859ffd48a74cbf8aaed44"
48
48
  }