@proton/wrap-constants 0.0.15 → 0.0.19

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.cjs.production.min.js","sources":["../src/coins.ts","../src/parsers.ts","../src/constants.ts","../src/utils.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}\n\nexport enum Networks {\n Mainnet = 'mainnet',\n Testnet = 'testnet',\n Ropsten = 'ropsten',\n ERC20 = 'erc20',\n BEP20 = 'bep20',\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 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}\n\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: false,\n allowBorrow: false,\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: '/img/tokens/xpr.png'\n },\n { \n allowSwap: true,\n allowBridge: true,\n allowLend: false,\n allowBorrow: false,\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 ...(IS_TESTNET ? [ {\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 image: '/img/tokens/xusdc.png'\n },\n { \n allowSwap: true,\n allowBridge: IS_MAINNET,\n allowLend: false,\n allowBorrow: false,\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: '/img/tokens/xmt.png'\n },\n { \n allowSwap: true,\n allowBridge: true,\n allowLend: false,\n allowBorrow: false,\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: '/img/tokens/xbtc.png'\n },\n {\n allowSwap: true,\n allowBridge: true,\n allowLend: false,\n allowBorrow: false,\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: '/img/tokens/xeth.png'\n },\n { \n allowSwap: IS_MAINNET,\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: '/img/tokens/xusdt.png'\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: '/img/tokens/xtusd.png'\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: '/img/tokens/xpax.png'\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: '/img/tokens/xpaxg.png'\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: '/img/tokens/xuni.png'\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: '/img/tokens/xinch.png'\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: '/img/tokens/xlink.png'\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: '/img/tokens/xltc.png'\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: '/img/tokens/xbch.png'\n },\n { \n allowSwap: false,\n allowBridge: false,\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: false\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: false\n }]: [])\n ],\n image: '/img/tokens/xxlm.png'\n },\n { \n allowSwap: IS_MAINNET,\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: '/img/tokens/xsense.png'\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: '/img/tokens/xdot.png'\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: '/img/tokens/xbnb.png'\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: '/img/tokens/xeos.png'\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: false\n }]: [])\n ],\n image: '/img/tokens/xhbar.png'\n },\n\n // Synthethic\n { \n allowSwap: IS_MAINNET,\n allowBridge: false,\n allowLend: false,\n allowBorrow: false,\n name: 'Dogecoin',\n coin: 'DOGE',\n xtokenSymbol: 'XDOGE',\n xtokenPrecision: 6,\n xtokenContract: 'xtokens',\n wallets: [],\n image: '/img/tokens/xdoge.png'\n },\n { \n allowSwap: IS_MAINNET,\n allowBridge: false,\n allowLend: false,\n allowBorrow: false,\n name: 'Cardano',\n coin: 'ADA',\n xtokenSymbol: 'XADA',\n xtokenPrecision: 6,\n xtokenContract: 'xtokens',\n wallets: [],\n image: '/img/tokens/xada.png'\n },\n { \n allowSwap: false,\n allowBridge: false,\n allowLend: false,\n allowBorrow: false,\n name: 'Theta',\n coin: 'THETA',\n xtokenSymbol: 'XTHETA',\n xtokenPrecision: 6,\n xtokenContract: 'xtokens',\n wallets: [],\n image: '/img/tokens/xtheta.png'\n },\n { \n allowSwap: false,\n allowBridge: false,\n allowLend: false,\n allowBorrow: false,\n name: 'Filecoin',\n coin: 'FIL',\n xtokenSymbol: 'XFIL',\n xtokenPrecision: 6,\n xtokenContract: 'xtokens',\n wallets: [],\n image: '/img/tokens/xfil.png'\n },\n { \n allowSwap: false,\n allowBridge: false,\n allowLend: false,\n allowBorrow: false,\n name: 'TRON',\n coin: 'TRX',\n xtokenSymbol: 'XTRX',\n xtokenPrecision: 6,\n xtokenContract: 'xtokens',\n wallets: [],\n image: '/img/tokens/xtrx.png'\n },\n // End synthetic\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'\nimport { WRAP_CONTRACT } from './constants'\n\nexport enum Status {\n PENDING = 'pending',\n SUCCESS = 'success',\n FAIL = 'fail',\n PROCESSING = 'processing'\n}\n\nexport enum Type {\n RECEIVE = 'receive',\n SEND = 'send'\n}\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 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(z.any()),\n transaction_extensions: z.array(z.any())\n})\n\nexport const generateAuthParser = z.object({\n signer : authorizationParser,\n signatures : z.array(z.string()),\n transaction: rawTransactionParser.merge(z.object({\n actions: z.array(z.object({\n account: accountParser,\n name: z.string(),\n data: z.object({\n time: z.string(),\n protonAccount: z.string()\n }),\n authorization: z.array(authorizationParser).min(1)\n }))\n }))\n})\nexport type GenerateAuth = z.infer<typeof generateAuthParser>\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\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 withdrawBodyParser = z.object({\n signer : authorizationParser,\n signatures : z.array(z.string()).min(1),\n transaction: rawTransactionParser.merge(z.object({\n actions: z.array(z.object({\n account: accountParser,\n name: z.literal('transfer'),\n data: z.object({\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 }),\n authorization: z.array(authorizationParser).min(1)\n })).min(1)\n })),\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 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\nconst ExtendedAssetParser = z.object({\n quantity: z.string(),\n contract: accountParser\n})\nexport type ExtendedAsset = z.infer<typeof ExtendedAssetParser>\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>\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>\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 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>\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 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>\n\nexport interface CurrencyStat {\n supply : string;\n max_supply: string;\n issuer : string;\n}\nexport interface CurrencyStats {\n [key: string]: CurrencyStat;\n}","import { Coin, CoinWallet, initializeCoins, Wallet } from './coins'\n\nexport const WRAP_CONTRACT = 'proton.wrap'\n\nexport const initializeConstants = (chain: string) => {\n const { swapCoins, bridgeCoins, allEnabledCoins, allCoins } = initializeCoins(chain)\n\n const constants = {\n SWAP_CONTRACT: 'proton.swaps',\n FEE_FACTOR: 10000,\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 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 WRAP_AUTH_ACTION: 'generateauth',\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 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 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}","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}"],"names":["Chains","Networks","Status","Type","similarChains","EthereumMainnet","BinanceBEP20","explorerLinkByChain","BitcoinMainnet","txid","BitcoinTestnet","EthereumRopsten","LitecoinMainnet","LitecoinTestnet","BitcoinCashMainnet","BitcoinCashTestnet","StellarMainnet","StellarTestnet","ProtonMainnet","ProtonTestnet","PolkadotMainnet","BinanceBEP2","EosMainnet","EosTestnet","HederaMainnet","HederaTestnet","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","Ropsten","Mainnet","undefined","Testnet","walletWithDuplicateChains","find","chains","map","Set","size","length","Error","allCoins","swapCoins","filter","bridgeCoins","lendCoins","borrowCoins","loanCoins","allEnabledCoins","accountParser","z","regex","authorizationParser","actor","permission","rawTransactionParser","expiration","ref_block_num","ref_block_prefix","max_net_usage_words","max_cpu_usage_ms","delay_sec","context_free_actions","transaction_extensions","generateAuthParser","signer","signatures","transaction","merge","actions","account","data","time","protonAccount","authorization","min","generateAddressBodyParser","generateAddressResponse","id","address","memo","optional","depositBodyParser","type","hash","withdrawBodyParser","from","refine","val","message","WRAP_CONTRACT","to","quantity","quoteId","provider","withdrawMetalResponseParser","success","withdrawHistoryMetalSwapParser","status","amount","currency","created","withdrawalAddress","withdrawalHash","withdrawHistoryMetalResponseParser","swaps","page","pageSize","numberOfElements","totalPages","totalElements","ExtendedAssetParser","wrapStartParser","balance","deposit_address","confirmations","wrapSetConfParser","wrap_hash","wrapParser","index","proton_account","finish_txid","transactionParser","value","valueString","state","blockHash","nullable","blockHeight","addressParser","address_hash","otcOrderResponseParser","transaction_id","errormsg","otcQuoteBodyParser","baseAmount","baseSymbol","quoteSymbol","otcQuoteResponseParser","token","qty","rateParser","counterCurrency","price","priceChangePercent","marketCap","volume","timestamp","exchangeRateParser","rank","rates","exchangeRatesParser","withdrawalFeeQuoteParser","estimatedFee","constants","SWAP_CONTRACT","FEE_FACTOR","GOOGLE_MAPS_KEY","SWAP_URL","WRAP_SERVER_URL","WRAP_ACTIONS","SAVE_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","WRAP_AUTH_ACTION","METAL_ENDPOINT","METAL_PROTON_ENDPOINT","PROTON_ENDPOINTS","CHAIN_ID","CHAIN","SWAP_COINS","BRIDGE_COINS","ALL_ENABLED_COINS","ALL_COINS","findBridgeCoinWalletByXtokenAndChain","bridgeCoin","bridgeWallet","findBridgeCoinWallet","findBridgeCoinNetwork","token1","token2"],"mappings":"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"}
1
+ {"version":3,"file":"wrap-constants.cjs.production.min.js","sources":["../src/coins.ts","../src/parsers.ts","../src/constants.ts","../src/utils.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}\n\nexport enum Networks {\n Mainnet = 'mainnet',\n Testnet = 'testnet',\n Ropsten = 'ropsten',\n ERC20 = 'erc20',\n BEP20 = 'bep20',\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 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}\n\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: false,\n allowBorrow: false,\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: '/img/tokens/xpr.png'\n },\n { \n allowSwap: true,\n allowBridge: true,\n allowLend: false,\n allowBorrow: false,\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 ...(IS_TESTNET ? [ {\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 image: '/img/tokens/xusdc.png'\n },\n { \n allowSwap: true,\n allowBridge: IS_MAINNET,\n allowLend: false,\n allowBorrow: false,\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: '/img/tokens/xmt.png'\n },\n { \n allowSwap: true,\n allowBridge: true,\n allowLend: false,\n allowBorrow: false,\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: '/img/tokens/xbtc.png'\n },\n {\n allowSwap: true,\n allowBridge: true,\n allowLend: false,\n allowBorrow: false,\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: '/img/tokens/xeth.png'\n },\n { \n allowSwap: IS_MAINNET,\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: '/img/tokens/xusdt.png'\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: '/img/tokens/xtusd.png'\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: '/img/tokens/xpax.png'\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: '/img/tokens/xpaxg.png'\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: '/img/tokens/xuni.png'\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: '/img/tokens/xinch.png'\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: '/img/tokens/xlink.png'\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: '/img/tokens/xltc.png'\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: '/img/tokens/xbch.png'\n },\n { \n allowSwap: false,\n allowBridge: false,\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: false\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: false\n }]: [])\n ],\n image: '/img/tokens/xxlm.png'\n },\n { \n allowSwap: IS_MAINNET,\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: '/img/tokens/xsense.png'\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: '/img/tokens/xdot.png'\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: '/img/tokens/xbnb.png'\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: '/img/tokens/xeos.png'\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: false\n }]: [])\n ],\n image: '/img/tokens/xhbar.png'\n },\n\n // Synthethic\n { \n allowSwap: IS_MAINNET,\n allowBridge: false,\n allowLend: false,\n allowBorrow: false,\n name: 'Dogecoin',\n coin: 'DOGE',\n xtokenSymbol: 'XDOGE',\n xtokenPrecision: 6,\n xtokenContract: 'xtokens',\n wallets: [],\n image: '/img/tokens/xdoge.png'\n },\n { \n allowSwap: IS_MAINNET,\n allowBridge: false,\n allowLend: false,\n allowBorrow: false,\n name: 'Cardano',\n coin: 'ADA',\n xtokenSymbol: 'XADA',\n xtokenPrecision: 6,\n xtokenContract: 'xtokens',\n wallets: [],\n image: '/img/tokens/xada.png'\n },\n { \n allowSwap: false,\n allowBridge: false,\n allowLend: false,\n allowBorrow: false,\n name: 'Theta',\n coin: 'THETA',\n xtokenSymbol: 'XTHETA',\n xtokenPrecision: 6,\n xtokenContract: 'xtokens',\n wallets: [],\n image: '/img/tokens/xtheta.png'\n },\n { \n allowSwap: false,\n allowBridge: false,\n allowLend: false,\n allowBorrow: false,\n name: 'Filecoin',\n coin: 'FIL',\n xtokenSymbol: 'XFIL',\n xtokenPrecision: 6,\n xtokenContract: 'xtokens',\n wallets: [],\n image: '/img/tokens/xfil.png'\n },\n { \n allowSwap: false,\n allowBridge: false,\n allowLend: false,\n allowBorrow: false,\n name: 'TRON',\n coin: 'TRX',\n xtokenSymbol: 'XTRX',\n xtokenPrecision: 6,\n xtokenContract: 'xtokens',\n wallets: [],\n image: '/img/tokens/xtrx.png'\n },\n // End synthetic\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'\nimport { WRAP_CONTRACT } from './constants'\n\nexport enum Status {\n PENDING = 'pending',\n SUCCESS = 'success',\n FAIL = 'fail',\n PROCESSING = 'processing'\n}\n\nexport enum Type {\n RECEIVE = 'receive',\n SEND = 'send'\n}\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 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(z.any()),\n transaction_extensions: z.array(z.any())\n})\n\nexport const generateAuthParser = z.object({\n signer : authorizationParser,\n signatures : z.array(z.string()),\n transaction: rawTransactionParser.merge(z.object({\n actions: z.array(z.object({\n account: accountParser,\n name: z.string(),\n data: z.object({\n time: z.string(),\n protonAccount: z.string()\n }),\n authorization: z.array(authorizationParser).min(1)\n }))\n }))\n})\nexport type GenerateAuth = z.infer<typeof generateAuthParser>\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\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 withdrawBodyParser = z.object({\n signer : authorizationParser,\n signatures : z.array(z.string()).min(1),\n transaction: rawTransactionParser.merge(z.object({\n actions: z.array(z.object({\n account: accountParser,\n name: z.literal('transfer'),\n data: z.object({\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 }),\n authorization: z.array(authorizationParser).min(1)\n })).min(1)\n })),\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 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\nconst ExtendedAssetParser = z.object({\n quantity: z.string(),\n contract: accountParser\n})\nexport type ExtendedAsset = z.infer<typeof ExtendedAssetParser>\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>\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>\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 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>\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 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>\n\nexport interface CurrencyStat {\n supply : string;\n max_supply: string;\n issuer : string;\n}\nexport interface CurrencyStats {\n [key: string]: CurrencyStat;\n}","import { Coin, CoinWallet, initializeCoins, Wallet } from './coins'\n\nexport const WRAP_CONTRACT = 'proton.wrap'\n\nexport const initializeConstants = (chain: string) => {\n const { swapCoins, bridgeCoins, allEnabledCoins, allCoins } = initializeCoins(chain)\n\n const constants = {\n SWAP_CONTRACT: 'proton.swaps',\n FEE_FACTOR: 10000,\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: 'generateauth',\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 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 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}","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}"],"names":["Chains","Networks","Status","Type","similarChains","EthereumMainnet","BinanceBEP20","explorerLinkByChain","BitcoinMainnet","txid","BitcoinTestnet","EthereumRopsten","LitecoinMainnet","LitecoinTestnet","BitcoinCashMainnet","BitcoinCashTestnet","StellarMainnet","StellarTestnet","ProtonMainnet","ProtonTestnet","PolkadotMainnet","BinanceBEP2","EosMainnet","EosTestnet","HederaMainnet","HederaTestnet","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","Ropsten","Mainnet","undefined","Testnet","walletWithDuplicateChains","find","chains","map","Set","size","length","Error","allCoins","swapCoins","filter","bridgeCoins","lendCoins","borrowCoins","loanCoins","allEnabledCoins","accountParser","z","regex","authorizationParser","actor","permission","rawTransactionParser","expiration","ref_block_num","ref_block_prefix","max_net_usage_words","max_cpu_usage_ms","delay_sec","context_free_actions","transaction_extensions","generateAuthParser","signer","signatures","transaction","merge","actions","account","data","time","protonAccount","authorization","min","generateAddressBodyParser","generateAddressResponse","id","address","memo","optional","depositBodyParser","type","hash","withdrawBodyParser","from","refine","val","message","WRAP_CONTRACT","to","quantity","quoteId","provider","withdrawMetalResponseParser","success","withdrawHistoryMetalSwapParser","status","amount","currency","created","withdrawalAddress","withdrawalHash","withdrawHistoryMetalResponseParser","swaps","page","pageSize","numberOfElements","totalPages","totalElements","ExtendedAssetParser","wrapStartParser","balance","deposit_address","confirmations","wrapSetConfParser","wrap_hash","wrapParser","index","proton_account","finish_txid","transactionParser","value","valueString","state","blockHash","nullable","blockHeight","addressParser","address_hash","otcOrderResponseParser","transaction_id","errormsg","otcQuoteBodyParser","baseAmount","baseSymbol","quoteSymbol","otcQuoteResponseParser","token","qty","rateParser","counterCurrency","price","priceChangePercent","marketCap","volume","timestamp","exchangeRateParser","rank","rates","exchangeRatesParser","withdrawalFeeQuoteParser","estimatedFee","constants","SWAP_CONTRACT","FEE_FACTOR","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","WRAP_AUTH_ACTION","METAL_ENDPOINT","METAL_PROTON_ENDPOINT","PROTON_ENDPOINTS","CHAIN_ID","CHAIN","SWAP_COINS","BRIDGE_COINS","ALL_ENABLED_COINS","ALL_COINS","findBridgeCoinWalletByXtokenAndChain","bridgeCoin","bridgeWallet","findBridgeCoinWallet","findBridgeCoinNetwork","token1","token2"],"mappings":"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"}
@@ -699,6 +699,7 @@ var initializeConstants = function initializeConstants(chain) {
699
699
  WRAP_CONTRACT: WRAP_CONTRACT,
700
700
  WRAP_ACTIONS: {
701
701
  SAVE_ADDRESS: 'saveaddress2',
702
+ DELETE_ADDRESS: 'deladdress2',
702
703
  WRAP_START: 'wrapstart2',
703
704
  WRAP_FINISH: 'wrapfinish2',
704
705
  WRAP_PROCESS: 'wrapprocess2',
@@ -721,6 +722,7 @@ var initializeConstants = function initializeConstants(chain) {
721
722
  FARM_CONTRACT: 'yield.farms',
722
723
  WEBHOOK_PERMISSION: 'webhook',
723
724
  PUBLIC_PERMISSION: 'public',
725
+ LIGHT_PERMISSION: 'light',
724
726
  WRAP_AUTH_ACTION: 'generateauth',
725
727
  METAL_ENDPOINT: chain === 'proton' ? 'https://cirrus.metalpay.com' : 'https://cirrus-dev.metalpay.com',
726
728
  METAL_PROTON_ENDPOINT: chain === 'proton' ? 'https://api.protonchain.com' : 'https://api-dev.protonchain.com',