@proton/wrap-constants 0.0.6 → 0.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/wrap-constants.cjs.development.js +12 -4
- package/dist/wrap-constants.cjs.development.js.map +1 -1
- package/dist/wrap-constants.cjs.production.min.js +1 -1
- package/dist/wrap-constants.cjs.production.min.js.map +1 -1
- package/dist/wrap-constants.esm.js +12 -4
- package/dist/wrap-constants.esm.js.map +1 -1
- package/package.json +2 -2
- package/src/coins.ts +12 -12
|
@@ -58,8 +58,8 @@ var explorerLinkByChain = (_explorerLinkByChain = {}, _explorerLinkByChain[expor
|
|
|
58
58
|
return "https://bscscan.com/tx/" + txid;
|
|
59
59
|
}, _explorerLinkByChain);
|
|
60
60
|
var initializeCoins = function initializeCoins(protonChain) {
|
|
61
|
-
var IS_MAINNET = protonChain === 'proton';
|
|
62
|
-
|
|
61
|
+
var IS_MAINNET = protonChain === 'proton'; // const IS_TESTNET = protonChain === 'proton-test'
|
|
62
|
+
|
|
63
63
|
var coins = [{
|
|
64
64
|
allowSwap: true,
|
|
65
65
|
allowBridge: true,
|
|
@@ -78,7 +78,7 @@ var initializeCoins = function initializeCoins(protonChain) {
|
|
|
78
78
|
precision: 4,
|
|
79
79
|
contract: '0xD7EFB00D12C2C13131FD319336FDF952525DA2AF',
|
|
80
80
|
hasWithdrawMemo: false
|
|
81
|
-
}
|
|
81
|
+
}, {
|
|
82
82
|
wallet: 'XPR-BEP20',
|
|
83
83
|
symbol: 'XPR',
|
|
84
84
|
chain: exports.Chains.BinanceBEP20,
|
|
@@ -86,7 +86,7 @@ var initializeCoins = function initializeCoins(protonChain) {
|
|
|
86
86
|
precision: 4,
|
|
87
87
|
contract: '0x5DE3939B2F811A61D830E6F52D13B066881412AB',
|
|
88
88
|
hasWithdrawMemo: false
|
|
89
|
-
}]
|
|
89
|
+
}],
|
|
90
90
|
image: '/img/tokens/xpr.png'
|
|
91
91
|
}, {
|
|
92
92
|
allowSwap: true,
|
|
@@ -106,6 +106,14 @@ var initializeCoins = function initializeCoins(protonChain) {
|
|
|
106
106
|
precision: 6,
|
|
107
107
|
contract: '0xA0B86991C6218B36C1D19D4A2E9EB0CE3606EB48',
|
|
108
108
|
hasWithdrawMemo: false
|
|
109
|
+
}, {
|
|
110
|
+
wallet: 'USDC-BEP20',
|
|
111
|
+
symbol: 'USDC',
|
|
112
|
+
chain: exports.Chains.BinanceBEP20,
|
|
113
|
+
network: exports.Networks.BEP20,
|
|
114
|
+
precision: 18,
|
|
115
|
+
contract: '0x8AC76A51CC950D9822D68B83FE1AD97B32CD580D',
|
|
116
|
+
hasWithdrawMemo: false
|
|
109
117
|
}],
|
|
110
118
|
image: '/img/tokens/xusdc.png'
|
|
111
119
|
}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrap-constants.cjs.development.js","sources":["../src/coins.ts","../src/constants.ts","../src/parsers.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 BitcoinCashMainnet = 'Bitcoin Cash',\n StellarMainnet = 'Stellar',\n ProtonMainnet = 'Proton',\n ProtonTestnet = 'Proton (Testnet)',\n PolkadotMainnet = 'Polkadot',\n BinanceBEP2 = 'Binance (BEP2)',\n BinanceBEP20 = 'Binance (BEP20)',\n EosMainnet = 'EOS',\n}\n\nexport enum Networks {\n Mainnet = 'mainnet',\n Testnet = 'testnet',\n Ropsten = 'ropsten',\n ERC20 = 'erc20',\n BEP20 = 'bep20',\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.BitcoinCashMainnet]: (txid: string) => `https://blockchair.com/bitcoin-cash/transaction/${txid}`,\n [Chains.StellarMainnet] : (txid: string) => `https://blockchair.com/stellar/transaction/${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.EosMainnet] : (txid: string) => `https://bloks.io/transaction/${txid}`,\n [Chains.BinanceBEP2] : (txid: string) => `https://binance.mintscan.io/txs/${txid}`,\n [Chains.BinanceBEP20] : (txid: string) => `https://bscscan.com/tx/${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: true,\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 {\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 ...(IS_TESTNET ? [{\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 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 {\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 image: '/img/tokens/xusdc.png'\n },\n { \n allowSwap: true,\n allowBridge: true,\n allowLend: false,\n allowBorrow: false,\n name: 'Metal',\n coin: 'MTL',\n xtokenSymbol: 'XMT',\n xtokenPrecision: 8,\n xtokenContract: 'xtokens',\n wallets: [\n {\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 {\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-TESTNET',\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 {\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-ROPSTEN',\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 {\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 ],\n image: '/img/tokens/xusdt.png'\n },\n { \n allowSwap: false,\n allowBridge: true,\n allowLend: false,\n allowBorrow: false,\n name: 'TrueUSD',\n coin: 'TUSD',\n xtokenSymbol: 'XTUSD',\n xtokenPrecision: 6,\n xtokenContract: 'xtokens',\n wallets: [\n {\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: true,\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 {\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 {\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 ],\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 {\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 ],\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 {\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 {\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 {\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 ],\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 {\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 ],\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 {\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 ],\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 {\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: true,\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 {\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 {\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 ],\n image: '/img/tokens/xeos.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 { 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}","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})\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}","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","explorerLinkByChain","BitcoinMainnet","txid","BitcoinTestnet","EthereumMainnet","EthereumRopsten","LitecoinMainnet","BitcoinCashMainnet","StellarMainnet","ProtonMainnet","ProtonTestnet","PolkadotMainnet","EosMainnet","BinanceBEP2","BinanceBEP20","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","Mainnet","undefined","walletWithDuplicateChains","find","chains","map","Set","size","length","Error","allCoins","swapCoins","filter","bridgeCoins","lendCoins","borrowCoins","loanCoins","allEnabledCoins","WRAP_CONTRACT","initializeConstants","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","Status","Type","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","to","quantity","quoteId","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","isSameToken","token1","token2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wrap-constants.cjs.development.js","sources":["../src/coins.ts","../src/constants.ts","../src/parsers.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 BitcoinCashMainnet = 'Bitcoin Cash',\n StellarMainnet = 'Stellar',\n ProtonMainnet = 'Proton',\n ProtonTestnet = 'Proton (Testnet)',\n PolkadotMainnet = 'Polkadot',\n BinanceBEP2 = 'Binance (BEP2)',\n BinanceBEP20 = 'Binance (BEP20)',\n EosMainnet = 'EOS',\n}\n\nexport enum Networks {\n Mainnet = 'mainnet',\n Testnet = 'testnet',\n Ropsten = 'ropsten',\n ERC20 = 'erc20',\n BEP20 = 'bep20',\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.BitcoinCashMainnet]: (txid: string) => `https://blockchair.com/bitcoin-cash/transaction/${txid}`,\n [Chains.StellarMainnet] : (txid: string) => `https://blockchair.com/stellar/transaction/${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.EosMainnet] : (txid: string) => `https://bloks.io/transaction/${txid}`,\n [Chains.BinanceBEP2] : (txid: string) => `https://binance.mintscan.io/txs/${txid}`,\n [Chains.BinanceBEP20] : (txid: string) => `https://bscscan.com/tx/${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: true,\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 {\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 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 {\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 image: '/img/tokens/xusdc.png'\n },\n { \n allowSwap: true,\n allowBridge: true,\n allowLend: false,\n allowBorrow: false,\n name: 'Metal',\n coin: 'MTL',\n xtokenSymbol: 'XMT',\n xtokenPrecision: 8,\n xtokenContract: 'xtokens',\n wallets: [\n {\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 {\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-TESTNET',\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 {\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-ROPSTEN',\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 {\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 ],\n image: '/img/tokens/xusdt.png'\n },\n { \n allowSwap: false,\n allowBridge: true,\n allowLend: false,\n allowBorrow: false,\n name: 'TrueUSD',\n coin: 'TUSD',\n xtokenSymbol: 'XTUSD',\n xtokenPrecision: 6,\n xtokenContract: 'xtokens',\n wallets: [\n {\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: true,\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 {\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 {\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 ],\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 {\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 ],\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 {\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 {\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 {\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 ],\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 {\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 ],\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 {\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 ],\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 {\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: true,\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 {\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 {\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 ],\n image: '/img/tokens/xeos.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 { 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}","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})\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}","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","explorerLinkByChain","BitcoinMainnet","txid","BitcoinTestnet","EthereumMainnet","EthereumRopsten","LitecoinMainnet","BitcoinCashMainnet","StellarMainnet","ProtonMainnet","ProtonTestnet","PolkadotMainnet","EosMainnet","BinanceBEP2","BinanceBEP20","initializeCoins","protonChain","IS_MAINNET","coins","allowSwap","allowBridge","allowLend","allowBorrow","name","coin","xtokenSymbol","xtokenPrecision","xtokenContract","wallets","wallet","symbol","chain","network","ERC20","precision","contract","hasWithdrawMemo","BEP20","image","Mainnet","undefined","walletWithDuplicateChains","find","chains","map","Set","size","length","Error","allCoins","swapCoins","filter","bridgeCoins","lendCoins","borrowCoins","loanCoins","allEnabledCoins","WRAP_CONTRACT","initializeConstants","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","Status","Type","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","to","quantity","quoteId","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","isSameToken","token1","token2"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t,o,n,e=require("zod");(o=exports.Chains||(exports.Chains={})).BitcoinMainnet="Bitcoin",o.BitcoinTestnet="Bitcoin (Testnet)",o.EthereumMainnet="Ethereum",o.EthereumRopsten="Ethereum (Ropsten)",o.LitecoinMainnet="Litecoin",o.BitcoinCashMainnet="Bitcoin Cash",o.StellarMainnet="Stellar",o.ProtonMainnet="Proton",o.ProtonTestnet="Proton (Testnet)",o.PolkadotMainnet="Polkadot",o.BinanceBEP2="Binance (BEP2)",o.BinanceBEP20="Binance (BEP20)",o.EosMainnet="EOS",(n=exports.Networks||(exports.Networks={})).Mainnet="mainnet",n.Testnet="testnet",n.Ropsten="ropsten",n.ERC20="erc20",n.BEP20="bep20";var r,a,i=((t={})[exports.Chains.BitcoinMainnet]=function(t){return"https://blockchain.com/btc/tx/"+t},t[exports.Chains.BitcoinTestnet]=function(t){return"https://blockstream.info/testnet/tx/"+t},t[exports.Chains.EthereumMainnet]=function(t){return"https://etherscan.io/tx/"+t},t[exports.Chains.EthereumRopsten]=function(t){return"https://ropsten.etherscan.io/tx/"+t},t[exports.Chains.LitecoinMainnet]=function(t){return"https://blockchair.com/litecoin/transaction/"+t},t[exports.Chains.BitcoinCashMainnet]=function(t){return"https://blockchair.com/bitcoin-cash/transaction/"+t},t[exports.Chains.StellarMainnet]=function(t){return"https://blockchair.com/stellar/transaction/"+t},t[exports.Chains.ProtonMainnet]=function(t){return"https://proton.bloks.io/transaction/"+t},t[exports.Chains.ProtonTestnet]=function(t){return"https://proton-test.bloks.io/transaction/"+t},t[exports.Chains.PolkadotMainnet]=function(t){return"https://polkadot.subscan.io/extrinsic/"+t},t[exports.Chains.EosMainnet]=function(t){return"https://bloks.io/transaction/"+t},t[exports.Chains.BinanceBEP2]=function(t){return"https://binance.mintscan.io/txs/"+t},t[exports.Chains.BinanceBEP20]=function(t){return"https://bscscan.com/tx/"+t},t),s=function(t){var o="proton"===t,n=[{allowSwap:!0,allowBridge:!0,allowLend:!1,allowBorrow:!1,name:"Proton",coin:"XPR",xtokenSymbol:"XPR",xtokenPrecision:4,xtokenContract:"eosio.token",wallets:[{wallet:"XPR-ERC20",symbol:"XPR",chain:exports.Chains.EthereumMainnet,network:exports.Networks.ERC20,precision:4,contract:"0xD7EFB00D12C2C13131FD319336FDF952525DA2AF",hasWithdrawMemo:!1}].concat("proton-test"===t?[{wallet:"XPR-BEP20",symbol:"XPR",chain:exports.Chains.BinanceBEP20,network:exports.Networks.BEP20,precision:4,contract:"0x5DE3939B2F811A61D830E6F52D13B066881412AB",hasWithdrawMemo:!1}]:[]),image:"/img/tokens/xpr.png"},{allowSwap:!0,allowBridge:!0,allowLend:!1,allowBorrow:!1,name:"USD Coin",coin:"USDC",xtokenSymbol:"XUSDC",xtokenPrecision:6,xtokenContract:"xtokens",wallets:[{wallet:"USDC",symbol:"USDC",chain:exports.Chains.EthereumMainnet,network:exports.Networks.ERC20,precision:6,contract:"0xA0B86991C6218B36C1D19D4A2E9EB0CE3606EB48",hasWithdrawMemo:!1}],image:"/img/tokens/xusdc.png"},{allowSwap:!0,allowBridge:!0,allowLend:!1,allowBorrow:!1,name:"Metal",coin:"MTL",xtokenSymbol:"XMT",xtokenPrecision:8,xtokenContract:"xtokens",wallets:[{wallet:"MTL",symbol:"MTL",chain:exports.Chains.EthereumMainnet,network:exports.Networks.ERC20,precision:8,contract:"0xF433089366899D83A9F26A773D59EC7ECF30355E",hasWithdrawMemo:!1}],image:"/img/tokens/xmt.png"},{allowSwap:!0,allowBridge:!0,allowLend:!1,allowBorrow:!1,name:"Bitcoin",coin:"BTC",xtokenSymbol:"XBTC",xtokenPrecision:8,xtokenContract:"xtokens",wallets:[{wallet:"BTC",symbol:"BTC",chain:exports.Chains.BitcoinMainnet,network:exports.Networks.Mainnet,precision:8,contract:void 0,hasWithdrawMemo:!1}],image:"/img/tokens/xbtc.png"},{allowSwap:!0,allowBridge:!0,allowLend:!1,allowBorrow:!1,name:"Ethereum",coin:"ETH",xtokenSymbol:"XETH",xtokenPrecision:8,xtokenContract:"xtokens",wallets:[{wallet:"ETH",symbol:"ETH",chain:exports.Chains.EthereumMainnet,network:exports.Networks.Mainnet,precision:18,contract:"0x0000000000000000000000000000000000000000",hasWithdrawMemo:!1}],image:"/img/tokens/xeth.png"},{allowSwap:o,allowBridge:!0,allowLend:!1,allowBorrow:!1,name:"Tether",coin:"USDT",xtokenSymbol:"XUSDT",xtokenPrecision:6,xtokenContract:"xtokens",wallets:[{wallet:"USDT",symbol:"USDT",chain:exports.Chains.EthereumMainnet,network:exports.Networks.ERC20,precision:6,contract:"0xDAC17F958D2EE523A2206206994597C13D831EC7",hasWithdrawMemo:!1}],image:"/img/tokens/xusdt.png"},{allowSwap:!1,allowBridge:!0,allowLend:!1,allowBorrow:!1,name:"TrueUSD",coin:"TUSD",xtokenSymbol:"XTUSD",xtokenPrecision:6,xtokenContract:"xtokens",wallets:[{wallet:"TUSD",symbol:"TUSD",chain:exports.Chains.EthereumMainnet,network:exports.Networks.ERC20,precision:18,contract:"0x0000000000085D4780B73119B644AE5ECD22B376",hasWithdrawMemo:!1}],image:"/img/tokens/xtusd.png"},{allowSwap:!1,allowBridge:!0,allowLend:!1,allowBorrow:!1,name:"Paxos Standard",coin:"PAX",xtokenSymbol:"XPAX",xtokenPrecision:6,xtokenContract:"xtokens",wallets:[{wallet:"PAX",symbol:"PAX",chain:exports.Chains.EthereumMainnet,network:exports.Networks.ERC20,precision:18,contract:"0x8E870D67F660D95D5BE530380D0EC0BD388289E1",hasWithdrawMemo:!1}],image:"/img/tokens/xpax.png"},{allowSwap:!1,allowBridge:!0,allowLend:!1,allowBorrow:!1,name:"Paxos Gold",coin:"PAXG",xtokenSymbol:"XPAXG",xtokenPrecision:8,xtokenContract:"xtokens",wallets:[{wallet:"PAXG",symbol:"PAXG",chain:exports.Chains.EthereumMainnet,network:exports.Networks.ERC20,precision:18,contract:"0x45804880DE22913DAFE09F4980848ECE6ECBAF78",hasWithdrawMemo:!1}],image:"/img/tokens/xpaxg.png"},{allowSwap:o,allowBridge:!0,allowLend:!1,allowBorrow:!1,name:"Uniswap",coin:"UNI",xtokenSymbol:"XUNI",xtokenPrecision:6,xtokenContract:"xtokens",wallets:[{wallet:"UNI",symbol:"UNI",chain:exports.Chains.EthereumMainnet,network:exports.Networks.ERC20,precision:18,contract:"0x1F9840A85D5AF5BF1D1762F925BDADDC4201F984",hasWithdrawMemo:!1}],image:"/img/tokens/xuni.png"},{allowSwap:!1,allowBridge:!1,allowLend:!1,allowBorrow:!1,name:"1INCH",coin:"1INCH",xtokenSymbol:"XINCH",xtokenPrecision:6,xtokenContract:"xtokens",wallets:[{wallet:"1INCH",symbol:"1INCH",chain:exports.Chains.EthereumMainnet,network:exports.Networks.ERC20,precision:18,contract:"0x111111111117DC0AA78B770FA6A738034120C302",hasWithdrawMemo:!1}],image:"/img/tokens/xinch.png"},{allowSwap:!1,allowBridge:!1,allowLend:!1,allowBorrow:!1,name:"Chainlink",coin:"LINK",xtokenSymbol:"XLINK",xtokenPrecision:6,xtokenContract:"xtokens",wallets:[{wallet:"LINK",symbol:"LINK",chain:exports.Chains.EthereumMainnet,network:exports.Networks.ERC20,precision:18,contract:"0x514910771AF9CA656AF840DFF83E8264ECF986CA",hasWithdrawMemo:!1}],image:"/img/tokens/xlink.png"},{allowSwap:o,allowBridge:!0,allowLend:!1,allowBorrow:!1,name:"Litecoin",coin:"LTC",xtokenSymbol:"XLTC",xtokenPrecision:8,xtokenContract:"xtokens",wallets:[{wallet:"LTC",symbol:"LTC",chain:exports.Chains.LitecoinMainnet,network:exports.Networks.Mainnet,precision:8,contract:void 0,hasWithdrawMemo:!1}],image:"/img/tokens/xltc.png"},{allowSwap:o,allowBridge:!0,allowLend:!1,allowBorrow:!1,name:"Bitcoin Cash",coin:"BCH",xtokenSymbol:"XBCH",xtokenPrecision:8,xtokenContract:"xtokens",wallets:[{wallet:"BCH",symbol:"BCH",chain:exports.Chains.BitcoinCashMainnet,network:exports.Networks.Mainnet,precision:8,contract:void 0,hasWithdrawMemo:!1}],image:"/img/tokens/xbch.png"},{allowSwap:!1,allowBridge:!1,allowLend:!1,allowBorrow:!1,name:"Stellar",coin:"XLM",xtokenSymbol:"XXLM",xtokenPrecision:6,xtokenContract:"xtokens",wallets:[{wallet:"XLM",symbol:"XLM",chain:exports.Chains.StellarMainnet,network:exports.Networks.Mainnet,precision:7,contract:void 0,hasWithdrawMemo:!1}],image:"/img/tokens/xxlm.png"},{allowSwap:o,allowBridge:!1,allowLend:!1,allowBorrow:!1,name:"Sense",coin:"SENSE",xtokenSymbol:"XSENSE",xtokenPrecision:4,xtokenContract:"sense",wallets:[],image:"/img/tokens/xsense.png"},{allowSwap:!1,allowBridge:!1,allowLend:!1,allowBorrow:!1,name:"Polkadot",coin:"DOT",xtokenSymbol:"XDOT",xtokenPrecision:8,xtokenContract:"xtokens",wallets:[{wallet:"DOT",symbol:"DOT",chain:exports.Chains.PolkadotMainnet,network:exports.Networks.Mainnet,precision:10,contract:void 0,hasWithdrawMemo:!1}],image:"/img/tokens/xdot.png"},{allowSwap:!0,allowBridge:!0,allowLend:!1,allowBorrow:!1,name:"Binance Coin",coin:"BNB",xtokenSymbol:"XBNB",xtokenPrecision:8,xtokenContract:"xtokens",wallets:[{wallet:"BNB",symbol:"BNB",chain:exports.Chains.BinanceBEP20,network:exports.Networks.BEP20,precision:18,contract:void 0,hasWithdrawMemo:!1}],image:"/img/tokens/xbnb.png"},{allowSwap:!0,allowBridge:!0,allowLend:!1,allowBorrow:!1,name:"EOS",coin:"EOS",xtokenSymbol:"XEOS",xtokenPrecision:4,xtokenContract:"xtokens",wallets:[{wallet:"EOS",symbol:"EOS",chain:exports.Chains.EosMainnet,network:exports.Networks.Mainnet,precision:4,contract:void 0,hasWithdrawMemo:!0}],image:"/img/tokens/xeos.png"},{allowSwap:o,allowBridge:!1,allowLend:!1,allowBorrow:!1,name:"Dogecoin",coin:"DOGE",xtokenSymbol:"XDOGE",xtokenPrecision:6,xtokenContract:"xtokens",wallets:[],image:"/img/tokens/xdoge.png"},{allowSwap:o,allowBridge:!1,allowLend:!1,allowBorrow:!1,name:"Cardano",coin:"ADA",xtokenSymbol:"XADA",xtokenPrecision:6,xtokenContract:"xtokens",wallets:[],image:"/img/tokens/xada.png"},{allowSwap:!1,allowBridge:!1,allowLend:!1,allowBorrow:!1,name:"Theta",coin:"THETA",xtokenSymbol:"XTHETA",xtokenPrecision:6,xtokenContract:"xtokens",wallets:[],image:"/img/tokens/xtheta.png"},{allowSwap:!1,allowBridge:!1,allowLend:!1,allowBorrow:!1,name:"Filecoin",coin:"FIL",xtokenSymbol:"XFIL",xtokenPrecision:6,xtokenContract:"xtokens",wallets:[],image:"/img/tokens/xfil.png"},{allowSwap:!1,allowBridge:!1,allowLend:!1,allowBorrow:!1,name:"TRON",coin:"TRX",xtokenSymbol:"XTRX",xtokenPrecision:6,xtokenContract:"xtokens",wallets:[],image:"/img/tokens/xtrx.png"}],e=n.find((function(t){var o=t.wallets.map((function(t){return t.chain}));return new Set(o).size!==o.length}));if(e)throw new Error("Coin "+e.coin+" has duplicate chains in wallet");return{allCoins:n,swapCoins:n.filter((function(t){return t.allowSwap})),bridgeCoins:n.filter((function(t){return t.allowBridge})),lendCoins:n.filter((function(t){return t.allowLend})),borrowCoins:n.filter((function(t){return t.allowBorrow})),loanCoins:n.filter((function(t){return t.allowLend||t.allowBorrow})),allEnabledCoins:n.filter((function(t){return t.allowSwap||t.allowBridge}))}};function l(){return(l=Object.assign||function(t){for(var o=1;o<arguments.length;o++){var n=arguments[o];for(var e in n)Object.prototype.hasOwnProperty.call(n,e)&&(t[e]=n[e])}return t}).apply(this,arguments)}(r=exports.Status||(exports.Status={})).PENDING="pending",r.SUCCESS="success",r.FAIL="fail",r.PROCESSING="processing",(a=exports.Type||(exports.Type={})).RECEIVE="receive",a.SEND="send";var c=e.string().regex(/^[.1-5a-z]{0,12}[.1-5a-j]?$/),w=e.object({actor:c,permission:e.string()}),p=e.object({expiration:e.string(),ref_block_num:e.number(),ref_block_prefix:e.number(),max_net_usage_words:e.number(),max_cpu_usage_ms:e.number(),delay_sec:e.number(),context_free_actions:e.array(e.any()),transaction_extensions:e.array(e.any())}),x=e.object({signer:w,signatures:e.array(e.string()),transaction:p.merge(e.object({actions:e.array(e.object({account:c,name:e.string(),data:e.object({time:e.string(),protonAccount:e.string()}),authorization:e.array(w).min(1)}))}))}),m=e.object({coin:e.string(),wallet:e.string()}).merge(x),g=e.object({id:e.string(),address:e.string(),coin:e.string(),wallet:e.string(),memo:e.string().optional()}),h=e.object({id:e.string(),type:e.nativeEnum(exports.Type),hash:e.string(),coin:e.string(),wallet:e.string()}),k=e.object({signer:w,signatures:e.array(e.string()).min(1),transaction:p.merge(e.object({actions:e.array(e.object({account:c,name:e.literal("transfer"),data:e.object({from:e.string().refine((function(t){return"proton.wrap"!==t}),{message:"proton.wrap must be receiver"}),to:e.literal("proton.wrap"),quantity:e.string(),memo:e.string()}),authorization:e.array(w).min(1)})).min(1)})),quoteId:e.string()}),d=e.object({success:e.boolean(),id:e.string()}),u=e.object({id:e.string(),status:e.string(),amount:e.string(),currency:e.string(),network:e.string(),created:e.string(),withdrawalAddress:e.string(),withdrawalHash:e.string().optional()}),C=e.object({swaps:e.array(u),page:e.number(),pageSize:e.number(),numberOfElements:e.number(),totalPages:e.number(),totalElements:e.number()}),b=e.object({quantity:e.string(),contract:c}),S=e.object({balance:b,id:e.string(),txid:e.string(),chain:e.string(),deposit_address:e.string(),confirmations:e.number()}),B=e.object({wrap_hash:e.string(),confirmations:e.number()}),E=e.object({index:e.number(),proton_account:e.string(),balance:b,id:e.string(),txid:e.string(),chain:e.string(),deposit_address:e.string(),status:e.nativeEnum(exports.Status),finish_txid:e.string(),wrap_hash:e.string(),confirmations:e.number()}),P=e.object({id:e.string(),wallet:e.string(),value:e.number(),valueString:e.string(),address:e.string(),type:e.nativeEnum(exports.Type),state:e.string(),confirmations:e.number(),hash:e.string(),blockHash:e.string().optional().nullable(),blockHeight:e.number().optional().nullable()}),y=e.object({index:e.number(),account:c,chain:e.string(),address:e.string(),address_hash:e.string()}),A=e.object({success:e.boolean(),transaction_id:e.string(),errormsg:e.string().optional()}),f=e.object({baseAmount:e.number(),baseSymbol:e.string(),quoteSymbol:e.string()}),M=e.object({success:e.boolean(),token:e.string(),qty:e.number(),errormsg:e.string().optional()}),T=e.object({counterCurrency:e.string(),price:e.number(),priceChangePercent:e.number(),marketCap:e.number(),volume:e.number(),timestamp:e.number()}),N=e.object({contract:e.string(),symbol:e.string(),rank:e.number(),rates:e.array(T)}),D=e.array(N),R=e.object({quoteId:e.string(),estimatedFee:e.string(),currency:e.string(),network:e.string()});exports.WRAP_CONTRACT="proton.wrap",exports.accountParser=c,exports.addressParser=y,exports.authorizationParser=w,exports.depositBodyParser=h,exports.exchangeRateParser=N,exports.exchangeRatesParser=D,exports.explorerLinkByChain=i,exports.generateAddressBodyParser=m,exports.generateAddressResponse=g,exports.generateAuthParser=x,exports.initializeCoins=s,exports.initializeConstants=function(t){var o=s(t),n={SWAP_CONTRACT:"proton.swaps",FEE_FACTOR:1e4,GOOGLE_MAPS_KEY:"AIzaSyDb2_CrK032kSIqBXbkdwmaLKWELl0SxVs",SWAP_URL:"proton"===t?"https://otc.protonswap.com":"https://otc-test.protonswap.com",WRAP_SERVER_URL:"proton"===t?"https://www.api.bloks.io/proton-wrap-public2":"https://www.api.bloks.io/proton-wrap-testnet-public2",WRAP_CONTRACT:"proton.wrap",WRAP_ACTIONS:{SAVE_ADDRESS:"saveaddress2",WRAP_START:"wrapstart2",WRAP_FINISH:"wrapfinish2",WRAP_PROCESS:"wrapprocess2",WRAP_SET_CONF:"wrapsetconf2"},WRAP_TABLES:{ADDRESSES:"addresses2",WRAPS:"wraps2"},ADDRESSES_INDEXES:{BY_ACCOUNT:2,BY_ADDR_HASH:3},WRAPS_INDEXES:{BY_ACCOUNT:2,BY_STATUS:3,BY_WRAP_HASH:4},WRAP_PROCESS_TIMER:5e3,FARM_CONTRACT:"yield.farms",WEBHOOK_PERMISSION:"webhook",PUBLIC_PERMISSION:"public",WRAP_AUTH_ACTION:"generateauth",METAL_ENDPOINT:"proton"===t?"https://cirrus.metalpay.com":"https://cirrus-dev.metalpay.com",METAL_PROTON_ENDPOINT:"proton"===t?"https://api.protonchain.com":"https://api-dev.protonchain.com",PROTON_ENDPOINTS:"proton"===t?["https://proton.greymass.com","https://proton.eoscafeblock.com","https://proton.cryptolions.io","https://proton.eosusa.news"]:["https://testnet.protonchain.com"],CHAIN_ID:"proton"===t?"384da888112027f0321850a169f737c33e53b388aad48b5adace4bab97f437e0":"71ee83bcf52142d61019d95f9cc5427ba6a0d7ff8accd9e2088ae2abeaf3d3dd",CHAIN:t,SWAP_COINS:o.swapCoins,BRIDGE_COINS:o.bridgeCoins,ALL_ENABLED_COINS:o.allEnabledCoins,ALL_COINS:o.allCoins,findBridgeCoinWalletByXtokenAndChain:function(t,o){var e=n.BRIDGE_COINS.find((function(o){return o.xtokenSymbol===t}));if(e){var r=e.wallets.find((function(t){return t.chain===o}));if(r)return l({},e,r)}},findBridgeCoinWallet:function(t,o){var e=n.BRIDGE_COINS.find((function(o){return o.coin===t}));if(e){var r=e.wallets.find((function(t){return t.wallet===o}));if(r)return l({},e,r)}},findBridgeCoinNetwork:function(t,o){var e=n.BRIDGE_COINS.find((function(o){return o.coin===t}));if(e){var r=e.wallets.find((function(t){return t.network===o}));if(r)return l({},e,r)}}};return n},exports.isSameToken=function(t,o){return t.xtokenSymbol===o.xtokenSymbol&&t.xtokenPrecision===o.xtokenPrecision&&t.xtokenContract===o.xtokenContract},exports.otcOrderResponseParser=A,exports.otcQuoteBodyParser=f,exports.otcQuoteResponseParser=M,exports.rateParser=T,exports.rawTransactionParser=p,exports.transactionParser=P,exports.withdrawBodyParser=k,exports.withdrawHistoryMetalResponseParser=C,exports.withdrawHistoryMetalSwapParser=u,exports.withdrawMetalResponseParser=d,exports.withdrawalFeeQuoteParser=R,exports.wrapParser=E,exports.wrapSetConfParser=B,exports.wrapStartParser=S;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t,o,e,n=require("zod");(o=exports.Chains||(exports.Chains={})).BitcoinMainnet="Bitcoin",o.BitcoinTestnet="Bitcoin (Testnet)",o.EthereumMainnet="Ethereum",o.EthereumRopsten="Ethereum (Ropsten)",o.LitecoinMainnet="Litecoin",o.BitcoinCashMainnet="Bitcoin Cash",o.StellarMainnet="Stellar",o.ProtonMainnet="Proton",o.ProtonTestnet="Proton (Testnet)",o.PolkadotMainnet="Polkadot",o.BinanceBEP2="Binance (BEP2)",o.BinanceBEP20="Binance (BEP20)",o.EosMainnet="EOS",(e=exports.Networks||(exports.Networks={})).Mainnet="mainnet",e.Testnet="testnet",e.Ropsten="ropsten",e.ERC20="erc20",e.BEP20="bep20";var r,a,i=((t={})[exports.Chains.BitcoinMainnet]=function(t){return"https://blockchain.com/btc/tx/"+t},t[exports.Chains.BitcoinTestnet]=function(t){return"https://blockstream.info/testnet/tx/"+t},t[exports.Chains.EthereumMainnet]=function(t){return"https://etherscan.io/tx/"+t},t[exports.Chains.EthereumRopsten]=function(t){return"https://ropsten.etherscan.io/tx/"+t},t[exports.Chains.LitecoinMainnet]=function(t){return"https://blockchair.com/litecoin/transaction/"+t},t[exports.Chains.BitcoinCashMainnet]=function(t){return"https://blockchair.com/bitcoin-cash/transaction/"+t},t[exports.Chains.StellarMainnet]=function(t){return"https://blockchair.com/stellar/transaction/"+t},t[exports.Chains.ProtonMainnet]=function(t){return"https://proton.bloks.io/transaction/"+t},t[exports.Chains.ProtonTestnet]=function(t){return"https://proton-test.bloks.io/transaction/"+t},t[exports.Chains.PolkadotMainnet]=function(t){return"https://polkadot.subscan.io/extrinsic/"+t},t[exports.Chains.EosMainnet]=function(t){return"https://bloks.io/transaction/"+t},t[exports.Chains.BinanceBEP2]=function(t){return"https://binance.mintscan.io/txs/"+t},t[exports.Chains.BinanceBEP20]=function(t){return"https://bscscan.com/tx/"+t},t),s=function(t){var o="proton"===t,e=[{allowSwap:!0,allowBridge:!0,allowLend:!1,allowBorrow:!1,name:"Proton",coin:"XPR",xtokenSymbol:"XPR",xtokenPrecision:4,xtokenContract:"eosio.token",wallets:[{wallet:"XPR-ERC20",symbol:"XPR",chain:exports.Chains.EthereumMainnet,network:exports.Networks.ERC20,precision:4,contract:"0xD7EFB00D12C2C13131FD319336FDF952525DA2AF",hasWithdrawMemo:!1},{wallet:"XPR-BEP20",symbol:"XPR",chain:exports.Chains.BinanceBEP20,network:exports.Networks.BEP20,precision:4,contract:"0x5DE3939B2F811A61D830E6F52D13B066881412AB",hasWithdrawMemo:!1}],image:"/img/tokens/xpr.png"},{allowSwap:!0,allowBridge:!0,allowLend:!1,allowBorrow:!1,name:"USD Coin",coin:"USDC",xtokenSymbol:"XUSDC",xtokenPrecision:6,xtokenContract:"xtokens",wallets:[{wallet:"USDC",symbol:"USDC",chain:exports.Chains.EthereumMainnet,network:exports.Networks.ERC20,precision:6,contract:"0xA0B86991C6218B36C1D19D4A2E9EB0CE3606EB48",hasWithdrawMemo:!1},{wallet:"USDC-BEP20",symbol:"USDC",chain:exports.Chains.BinanceBEP20,network:exports.Networks.BEP20,precision:18,contract:"0x8AC76A51CC950D9822D68B83FE1AD97B32CD580D",hasWithdrawMemo:!1}],image:"/img/tokens/xusdc.png"},{allowSwap:!0,allowBridge:!0,allowLend:!1,allowBorrow:!1,name:"Metal",coin:"MTL",xtokenSymbol:"XMT",xtokenPrecision:8,xtokenContract:"xtokens",wallets:[{wallet:"MTL",symbol:"MTL",chain:exports.Chains.EthereumMainnet,network:exports.Networks.ERC20,precision:8,contract:"0xF433089366899D83A9F26A773D59EC7ECF30355E",hasWithdrawMemo:!1}],image:"/img/tokens/xmt.png"},{allowSwap:!0,allowBridge:!0,allowLend:!1,allowBorrow:!1,name:"Bitcoin",coin:"BTC",xtokenSymbol:"XBTC",xtokenPrecision:8,xtokenContract:"xtokens",wallets:[{wallet:"BTC",symbol:"BTC",chain:exports.Chains.BitcoinMainnet,network:exports.Networks.Mainnet,precision:8,contract:void 0,hasWithdrawMemo:!1}],image:"/img/tokens/xbtc.png"},{allowSwap:!0,allowBridge:!0,allowLend:!1,allowBorrow:!1,name:"Ethereum",coin:"ETH",xtokenSymbol:"XETH",xtokenPrecision:8,xtokenContract:"xtokens",wallets:[{wallet:"ETH",symbol:"ETH",chain:exports.Chains.EthereumMainnet,network:exports.Networks.Mainnet,precision:18,contract:"0x0000000000000000000000000000000000000000",hasWithdrawMemo:!1}],image:"/img/tokens/xeth.png"},{allowSwap:o,allowBridge:!0,allowLend:!1,allowBorrow:!1,name:"Tether",coin:"USDT",xtokenSymbol:"XUSDT",xtokenPrecision:6,xtokenContract:"xtokens",wallets:[{wallet:"USDT",symbol:"USDT",chain:exports.Chains.EthereumMainnet,network:exports.Networks.ERC20,precision:6,contract:"0xDAC17F958D2EE523A2206206994597C13D831EC7",hasWithdrawMemo:!1}],image:"/img/tokens/xusdt.png"},{allowSwap:!1,allowBridge:!0,allowLend:!1,allowBorrow:!1,name:"TrueUSD",coin:"TUSD",xtokenSymbol:"XTUSD",xtokenPrecision:6,xtokenContract:"xtokens",wallets:[{wallet:"TUSD",symbol:"TUSD",chain:exports.Chains.EthereumMainnet,network:exports.Networks.ERC20,precision:18,contract:"0x0000000000085D4780B73119B644AE5ECD22B376",hasWithdrawMemo:!1}],image:"/img/tokens/xtusd.png"},{allowSwap:!1,allowBridge:!0,allowLend:!1,allowBorrow:!1,name:"Paxos Standard",coin:"PAX",xtokenSymbol:"XPAX",xtokenPrecision:6,xtokenContract:"xtokens",wallets:[{wallet:"PAX",symbol:"PAX",chain:exports.Chains.EthereumMainnet,network:exports.Networks.ERC20,precision:18,contract:"0x8E870D67F660D95D5BE530380D0EC0BD388289E1",hasWithdrawMemo:!1}],image:"/img/tokens/xpax.png"},{allowSwap:!1,allowBridge:!0,allowLend:!1,allowBorrow:!1,name:"Paxos Gold",coin:"PAXG",xtokenSymbol:"XPAXG",xtokenPrecision:8,xtokenContract:"xtokens",wallets:[{wallet:"PAXG",symbol:"PAXG",chain:exports.Chains.EthereumMainnet,network:exports.Networks.ERC20,precision:18,contract:"0x45804880DE22913DAFE09F4980848ECE6ECBAF78",hasWithdrawMemo:!1}],image:"/img/tokens/xpaxg.png"},{allowSwap:o,allowBridge:!0,allowLend:!1,allowBorrow:!1,name:"Uniswap",coin:"UNI",xtokenSymbol:"XUNI",xtokenPrecision:6,xtokenContract:"xtokens",wallets:[{wallet:"UNI",symbol:"UNI",chain:exports.Chains.EthereumMainnet,network:exports.Networks.ERC20,precision:18,contract:"0x1F9840A85D5AF5BF1D1762F925BDADDC4201F984",hasWithdrawMemo:!1}],image:"/img/tokens/xuni.png"},{allowSwap:!1,allowBridge:!1,allowLend:!1,allowBorrow:!1,name:"1INCH",coin:"1INCH",xtokenSymbol:"XINCH",xtokenPrecision:6,xtokenContract:"xtokens",wallets:[{wallet:"1INCH",symbol:"1INCH",chain:exports.Chains.EthereumMainnet,network:exports.Networks.ERC20,precision:18,contract:"0x111111111117DC0AA78B770FA6A738034120C302",hasWithdrawMemo:!1}],image:"/img/tokens/xinch.png"},{allowSwap:!1,allowBridge:!1,allowLend:!1,allowBorrow:!1,name:"Chainlink",coin:"LINK",xtokenSymbol:"XLINK",xtokenPrecision:6,xtokenContract:"xtokens",wallets:[{wallet:"LINK",symbol:"LINK",chain:exports.Chains.EthereumMainnet,network:exports.Networks.ERC20,precision:18,contract:"0x514910771AF9CA656AF840DFF83E8264ECF986CA",hasWithdrawMemo:!1}],image:"/img/tokens/xlink.png"},{allowSwap:o,allowBridge:!0,allowLend:!1,allowBorrow:!1,name:"Litecoin",coin:"LTC",xtokenSymbol:"XLTC",xtokenPrecision:8,xtokenContract:"xtokens",wallets:[{wallet:"LTC",symbol:"LTC",chain:exports.Chains.LitecoinMainnet,network:exports.Networks.Mainnet,precision:8,contract:void 0,hasWithdrawMemo:!1}],image:"/img/tokens/xltc.png"},{allowSwap:o,allowBridge:!0,allowLend:!1,allowBorrow:!1,name:"Bitcoin Cash",coin:"BCH",xtokenSymbol:"XBCH",xtokenPrecision:8,xtokenContract:"xtokens",wallets:[{wallet:"BCH",symbol:"BCH",chain:exports.Chains.BitcoinCashMainnet,network:exports.Networks.Mainnet,precision:8,contract:void 0,hasWithdrawMemo:!1}],image:"/img/tokens/xbch.png"},{allowSwap:!1,allowBridge:!1,allowLend:!1,allowBorrow:!1,name:"Stellar",coin:"XLM",xtokenSymbol:"XXLM",xtokenPrecision:6,xtokenContract:"xtokens",wallets:[{wallet:"XLM",symbol:"XLM",chain:exports.Chains.StellarMainnet,network:exports.Networks.Mainnet,precision:7,contract:void 0,hasWithdrawMemo:!1}],image:"/img/tokens/xxlm.png"},{allowSwap:o,allowBridge:!1,allowLend:!1,allowBorrow:!1,name:"Sense",coin:"SENSE",xtokenSymbol:"XSENSE",xtokenPrecision:4,xtokenContract:"sense",wallets:[],image:"/img/tokens/xsense.png"},{allowSwap:!1,allowBridge:!1,allowLend:!1,allowBorrow:!1,name:"Polkadot",coin:"DOT",xtokenSymbol:"XDOT",xtokenPrecision:8,xtokenContract:"xtokens",wallets:[{wallet:"DOT",symbol:"DOT",chain:exports.Chains.PolkadotMainnet,network:exports.Networks.Mainnet,precision:10,contract:void 0,hasWithdrawMemo:!1}],image:"/img/tokens/xdot.png"},{allowSwap:!0,allowBridge:!0,allowLend:!1,allowBorrow:!1,name:"Binance Coin",coin:"BNB",xtokenSymbol:"XBNB",xtokenPrecision:8,xtokenContract:"xtokens",wallets:[{wallet:"BNB",symbol:"BNB",chain:exports.Chains.BinanceBEP20,network:exports.Networks.BEP20,precision:18,contract:void 0,hasWithdrawMemo:!1}],image:"/img/tokens/xbnb.png"},{allowSwap:!0,allowBridge:!0,allowLend:!1,allowBorrow:!1,name:"EOS",coin:"EOS",xtokenSymbol:"XEOS",xtokenPrecision:4,xtokenContract:"xtokens",wallets:[{wallet:"EOS",symbol:"EOS",chain:exports.Chains.EosMainnet,network:exports.Networks.Mainnet,precision:4,contract:void 0,hasWithdrawMemo:!0}],image:"/img/tokens/xeos.png"},{allowSwap:o,allowBridge:!1,allowLend:!1,allowBorrow:!1,name:"Dogecoin",coin:"DOGE",xtokenSymbol:"XDOGE",xtokenPrecision:6,xtokenContract:"xtokens",wallets:[],image:"/img/tokens/xdoge.png"},{allowSwap:o,allowBridge:!1,allowLend:!1,allowBorrow:!1,name:"Cardano",coin:"ADA",xtokenSymbol:"XADA",xtokenPrecision:6,xtokenContract:"xtokens",wallets:[],image:"/img/tokens/xada.png"},{allowSwap:!1,allowBridge:!1,allowLend:!1,allowBorrow:!1,name:"Theta",coin:"THETA",xtokenSymbol:"XTHETA",xtokenPrecision:6,xtokenContract:"xtokens",wallets:[],image:"/img/tokens/xtheta.png"},{allowSwap:!1,allowBridge:!1,allowLend:!1,allowBorrow:!1,name:"Filecoin",coin:"FIL",xtokenSymbol:"XFIL",xtokenPrecision:6,xtokenContract:"xtokens",wallets:[],image:"/img/tokens/xfil.png"},{allowSwap:!1,allowBridge:!1,allowLend:!1,allowBorrow:!1,name:"TRON",coin:"TRX",xtokenSymbol:"XTRX",xtokenPrecision:6,xtokenContract:"xtokens",wallets:[],image:"/img/tokens/xtrx.png"}],n=e.find((function(t){var o=t.wallets.map((function(t){return t.chain}));return new Set(o).size!==o.length}));if(n)throw new Error("Coin "+n.coin+" has duplicate chains in wallet");return{allCoins:e,swapCoins:e.filter((function(t){return t.allowSwap})),bridgeCoins:e.filter((function(t){return t.allowBridge})),lendCoins:e.filter((function(t){return t.allowLend})),borrowCoins:e.filter((function(t){return t.allowBorrow})),loanCoins:e.filter((function(t){return t.allowLend||t.allowBorrow})),allEnabledCoins:e.filter((function(t){return t.allowSwap||t.allowBridge}))}};function l(){return(l=Object.assign||function(t){for(var o=1;o<arguments.length;o++){var e=arguments[o];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])}return t}).apply(this,arguments)}(r=exports.Status||(exports.Status={})).PENDING="pending",r.SUCCESS="success",r.FAIL="fail",r.PROCESSING="processing",(a=exports.Type||(exports.Type={})).RECEIVE="receive",a.SEND="send";var c=n.string().regex(/^[.1-5a-z]{0,12}[.1-5a-j]?$/),w=n.object({actor:c,permission:n.string()}),p=n.object({expiration:n.string(),ref_block_num:n.number(),ref_block_prefix:n.number(),max_net_usage_words:n.number(),max_cpu_usage_ms:n.number(),delay_sec:n.number(),context_free_actions:n.array(n.any()),transaction_extensions:n.array(n.any())}),x=n.object({signer:w,signatures:n.array(n.string()),transaction:p.merge(n.object({actions:n.array(n.object({account:c,name:n.string(),data:n.object({time:n.string(),protonAccount:n.string()}),authorization:n.array(w).min(1)}))}))}),m=n.object({coin:n.string(),wallet:n.string()}).merge(x),h=n.object({id:n.string(),address:n.string(),coin:n.string(),wallet:n.string(),memo:n.string().optional()}),g=n.object({id:n.string(),type:n.nativeEnum(exports.Type),hash:n.string(),coin:n.string(),wallet:n.string()}),k=n.object({signer:w,signatures:n.array(n.string()).min(1),transaction:p.merge(n.object({actions:n.array(n.object({account:c,name:n.literal("transfer"),data:n.object({from:n.string().refine((function(t){return"proton.wrap"!==t}),{message:"proton.wrap must be receiver"}),to:n.literal("proton.wrap"),quantity:n.string(),memo:n.string()}),authorization:n.array(w).min(1)})).min(1)})),quoteId:n.string()}),d=n.object({success:n.boolean(),id:n.string()}),C=n.object({id:n.string(),status:n.string(),amount:n.string(),currency:n.string(),network:n.string(),created:n.string(),withdrawalAddress:n.string(),withdrawalHash:n.string().optional()}),u=n.object({swaps:n.array(C),page:n.number(),pageSize:n.number(),numberOfElements:n.number(),totalPages:n.number(),totalElements:n.number()}),b=n.object({quantity:n.string(),contract:c}),S=n.object({balance:b,id:n.string(),txid:n.string(),chain:n.string(),deposit_address:n.string(),confirmations:n.number()}),B=n.object({wrap_hash:n.string(),confirmations:n.number()}),E=n.object({index:n.number(),proton_account:n.string(),balance:b,id:n.string(),txid:n.string(),chain:n.string(),deposit_address:n.string(),status:n.nativeEnum(exports.Status),finish_txid:n.string(),wrap_hash:n.string(),confirmations:n.number()}),P=n.object({id:n.string(),wallet:n.string(),value:n.number(),valueString:n.string(),address:n.string(),type:n.nativeEnum(exports.Type),state:n.string(),confirmations:n.number(),hash:n.string(),blockHash:n.string().optional().nullable(),blockHeight:n.number().optional().nullable()}),A=n.object({index:n.number(),account:c,chain:n.string(),address:n.string(),address_hash:n.string()}),y=n.object({success:n.boolean(),transaction_id:n.string(),errormsg:n.string().optional()}),f=n.object({baseAmount:n.number(),baseSymbol:n.string(),quoteSymbol:n.string()}),D=n.object({success:n.boolean(),token:n.string(),qty:n.number(),errormsg:n.string().optional()}),M=n.object({counterCurrency:n.string(),price:n.number(),priceChangePercent:n.number(),marketCap:n.number(),volume:n.number(),timestamp:n.number()}),N=n.object({contract:n.string(),symbol:n.string(),rank:n.number(),rates:n.array(M)}),T=n.array(N),R=n.object({quoteId:n.string(),estimatedFee:n.string(),currency:n.string(),network:n.string()});exports.WRAP_CONTRACT="proton.wrap",exports.accountParser=c,exports.addressParser=A,exports.authorizationParser=w,exports.depositBodyParser=g,exports.exchangeRateParser=N,exports.exchangeRatesParser=T,exports.explorerLinkByChain=i,exports.generateAddressBodyParser=m,exports.generateAddressResponse=h,exports.generateAuthParser=x,exports.initializeCoins=s,exports.initializeConstants=function(t){var o=s(t),e={SWAP_CONTRACT:"proton.swaps",FEE_FACTOR:1e4,GOOGLE_MAPS_KEY:"AIzaSyDb2_CrK032kSIqBXbkdwmaLKWELl0SxVs",SWAP_URL:"proton"===t?"https://otc.protonswap.com":"https://otc-test.protonswap.com",WRAP_SERVER_URL:"proton"===t?"https://www.api.bloks.io/proton-wrap-public2":"https://www.api.bloks.io/proton-wrap-testnet-public2",WRAP_CONTRACT:"proton.wrap",WRAP_ACTIONS:{SAVE_ADDRESS:"saveaddress2",WRAP_START:"wrapstart2",WRAP_FINISH:"wrapfinish2",WRAP_PROCESS:"wrapprocess2",WRAP_SET_CONF:"wrapsetconf2"},WRAP_TABLES:{ADDRESSES:"addresses2",WRAPS:"wraps2"},ADDRESSES_INDEXES:{BY_ACCOUNT:2,BY_ADDR_HASH:3},WRAPS_INDEXES:{BY_ACCOUNT:2,BY_STATUS:3,BY_WRAP_HASH:4},WRAP_PROCESS_TIMER:5e3,FARM_CONTRACT:"yield.farms",WEBHOOK_PERMISSION:"webhook",PUBLIC_PERMISSION:"public",WRAP_AUTH_ACTION:"generateauth",METAL_ENDPOINT:"proton"===t?"https://cirrus.metalpay.com":"https://cirrus-dev.metalpay.com",METAL_PROTON_ENDPOINT:"proton"===t?"https://api.protonchain.com":"https://api-dev.protonchain.com",PROTON_ENDPOINTS:"proton"===t?["https://proton.greymass.com","https://proton.eoscafeblock.com","https://proton.cryptolions.io","https://proton.eosusa.news"]:["https://testnet.protonchain.com"],CHAIN_ID:"proton"===t?"384da888112027f0321850a169f737c33e53b388aad48b5adace4bab97f437e0":"71ee83bcf52142d61019d95f9cc5427ba6a0d7ff8accd9e2088ae2abeaf3d3dd",CHAIN:t,SWAP_COINS:o.swapCoins,BRIDGE_COINS:o.bridgeCoins,ALL_ENABLED_COINS:o.allEnabledCoins,ALL_COINS:o.allCoins,findBridgeCoinWalletByXtokenAndChain:function(t,o){var n=e.BRIDGE_COINS.find((function(o){return o.xtokenSymbol===t}));if(n){var r=n.wallets.find((function(t){return t.chain===o}));if(r)return l({},n,r)}},findBridgeCoinWallet:function(t,o){var n=e.BRIDGE_COINS.find((function(o){return o.coin===t}));if(n){var r=n.wallets.find((function(t){return t.wallet===o}));if(r)return l({},n,r)}},findBridgeCoinNetwork:function(t,o){var n=e.BRIDGE_COINS.find((function(o){return o.coin===t}));if(n){var r=n.wallets.find((function(t){return t.network===o}));if(r)return l({},n,r)}}};return e},exports.isSameToken=function(t,o){return t.xtokenSymbol===o.xtokenSymbol&&t.xtokenPrecision===o.xtokenPrecision&&t.xtokenContract===o.xtokenContract},exports.otcOrderResponseParser=y,exports.otcQuoteBodyParser=f,exports.otcQuoteResponseParser=D,exports.rateParser=M,exports.rawTransactionParser=p,exports.transactionParser=P,exports.withdrawBodyParser=k,exports.withdrawHistoryMetalResponseParser=u,exports.withdrawHistoryMetalSwapParser=C,exports.withdrawMetalResponseParser=d,exports.withdrawalFeeQuoteParser=R,exports.wrapParser=E,exports.wrapSetConfParser=B,exports.wrapStartParser=S;
|
|
2
2
|
//# sourceMappingURL=wrap-constants.cjs.production.min.js.map
|
|
@@ -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 BitcoinCashMainnet = 'Bitcoin Cash',\n StellarMainnet = 'Stellar',\n ProtonMainnet = 'Proton',\n ProtonTestnet = 'Proton (Testnet)',\n PolkadotMainnet = 'Polkadot',\n BinanceBEP2 = 'Binance (BEP2)',\n BinanceBEP20 = 'Binance (BEP20)',\n EosMainnet = 'EOS',\n}\n\nexport enum Networks {\n Mainnet = 'mainnet',\n Testnet = 'testnet',\n Ropsten = 'ropsten',\n ERC20 = 'erc20',\n BEP20 = 'bep20',\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.BitcoinCashMainnet]: (txid: string) => `https://blockchair.com/bitcoin-cash/transaction/${txid}`,\n [Chains.StellarMainnet] : (txid: string) => `https://blockchair.com/stellar/transaction/${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.EosMainnet] : (txid: string) => `https://bloks.io/transaction/${txid}`,\n [Chains.BinanceBEP2] : (txid: string) => `https://binance.mintscan.io/txs/${txid}`,\n [Chains.BinanceBEP20] : (txid: string) => `https://bscscan.com/tx/${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: true,\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 {\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 ...(IS_TESTNET ? [{\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 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 {\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 image: '/img/tokens/xusdc.png'\n },\n { \n allowSwap: true,\n allowBridge: true,\n allowLend: false,\n allowBorrow: false,\n name: 'Metal',\n coin: 'MTL',\n xtokenSymbol: 'XMT',\n xtokenPrecision: 8,\n xtokenContract: 'xtokens',\n wallets: [\n {\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 {\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-TESTNET',\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 {\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-ROPSTEN',\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 {\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 ],\n image: '/img/tokens/xusdt.png'\n },\n { \n allowSwap: false,\n allowBridge: true,\n allowLend: false,\n allowBorrow: false,\n name: 'TrueUSD',\n coin: 'TUSD',\n xtokenSymbol: 'XTUSD',\n xtokenPrecision: 6,\n xtokenContract: 'xtokens',\n wallets: [\n {\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: true,\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 {\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 {\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 ],\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 {\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 ],\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 {\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 {\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 {\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 ],\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 {\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 ],\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 {\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 ],\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 {\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: true,\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 {\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 {\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 ],\n image: '/img/tokens/xeos.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})\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","explorerLinkByChain","BitcoinMainnet","txid","BitcoinTestnet","EthereumMainnet","EthereumRopsten","LitecoinMainnet","BitcoinCashMainnet","StellarMainnet","ProtonMainnet","ProtonTestnet","PolkadotMainnet","EosMainnet","BinanceBEP2","BinanceBEP20","initializeCoins","protonChain","IS_MAINNET","coins","allowSwap","allowBridge","allowLend","allowBorrow","name","coin","xtokenSymbol","xtokenPrecision","xtokenContract","wallets","wallet","symbol","chain","network","ERC20","precision","contract","hasWithdrawMemo","BEP20","image","Mainnet","undefined","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","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 BitcoinCashMainnet = 'Bitcoin Cash',\n StellarMainnet = 'Stellar',\n ProtonMainnet = 'Proton',\n ProtonTestnet = 'Proton (Testnet)',\n PolkadotMainnet = 'Polkadot',\n BinanceBEP2 = 'Binance (BEP2)',\n BinanceBEP20 = 'Binance (BEP20)',\n EosMainnet = 'EOS',\n}\n\nexport enum Networks {\n Mainnet = 'mainnet',\n Testnet = 'testnet',\n Ropsten = 'ropsten',\n ERC20 = 'erc20',\n BEP20 = 'bep20',\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.BitcoinCashMainnet]: (txid: string) => `https://blockchair.com/bitcoin-cash/transaction/${txid}`,\n [Chains.StellarMainnet] : (txid: string) => `https://blockchair.com/stellar/transaction/${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.EosMainnet] : (txid: string) => `https://bloks.io/transaction/${txid}`,\n [Chains.BinanceBEP2] : (txid: string) => `https://binance.mintscan.io/txs/${txid}`,\n [Chains.BinanceBEP20] : (txid: string) => `https://bscscan.com/tx/${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: true,\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 {\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 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 {\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 image: '/img/tokens/xusdc.png'\n },\n { \n allowSwap: true,\n allowBridge: true,\n allowLend: false,\n allowBorrow: false,\n name: 'Metal',\n coin: 'MTL',\n xtokenSymbol: 'XMT',\n xtokenPrecision: 8,\n xtokenContract: 'xtokens',\n wallets: [\n {\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 {\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-TESTNET',\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 {\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-ROPSTEN',\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 {\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 ],\n image: '/img/tokens/xusdt.png'\n },\n { \n allowSwap: false,\n allowBridge: true,\n allowLend: false,\n allowBorrow: false,\n name: 'TrueUSD',\n coin: 'TUSD',\n xtokenSymbol: 'XTUSD',\n xtokenPrecision: 6,\n xtokenContract: 'xtokens',\n wallets: [\n {\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: true,\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 {\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 {\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 ],\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 {\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 ],\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 {\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 {\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 {\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 ],\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 {\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 ],\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 {\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 ],\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 {\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: true,\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 {\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 {\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 ],\n image: '/img/tokens/xeos.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})\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","explorerLinkByChain","BitcoinMainnet","txid","BitcoinTestnet","EthereumMainnet","EthereumRopsten","LitecoinMainnet","BitcoinCashMainnet","StellarMainnet","ProtonMainnet","ProtonTestnet","PolkadotMainnet","EosMainnet","BinanceBEP2","BinanceBEP20","initializeCoins","protonChain","IS_MAINNET","coins","allowSwap","allowBridge","allowLend","allowBorrow","name","coin","xtokenSymbol","xtokenPrecision","xtokenContract","wallets","wallet","symbol","chain","network","ERC20","precision","contract","hasWithdrawMemo","BEP20","image","Mainnet","undefined","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","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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"}
|
|
@@ -58,8 +58,8 @@ var explorerLinkByChain = (_explorerLinkByChain = {}, _explorerLinkByChain[Chain
|
|
|
58
58
|
return "https://bscscan.com/tx/" + txid;
|
|
59
59
|
}, _explorerLinkByChain);
|
|
60
60
|
var initializeCoins = function initializeCoins(protonChain) {
|
|
61
|
-
var IS_MAINNET = protonChain === 'proton';
|
|
62
|
-
|
|
61
|
+
var IS_MAINNET = protonChain === 'proton'; // const IS_TESTNET = protonChain === 'proton-test'
|
|
62
|
+
|
|
63
63
|
var coins = [{
|
|
64
64
|
allowSwap: true,
|
|
65
65
|
allowBridge: true,
|
|
@@ -78,7 +78,7 @@ var initializeCoins = function initializeCoins(protonChain) {
|
|
|
78
78
|
precision: 4,
|
|
79
79
|
contract: '0xD7EFB00D12C2C13131FD319336FDF952525DA2AF',
|
|
80
80
|
hasWithdrawMemo: false
|
|
81
|
-
}
|
|
81
|
+
}, {
|
|
82
82
|
wallet: 'XPR-BEP20',
|
|
83
83
|
symbol: 'XPR',
|
|
84
84
|
chain: Chains.BinanceBEP20,
|
|
@@ -86,7 +86,7 @@ var initializeCoins = function initializeCoins(protonChain) {
|
|
|
86
86
|
precision: 4,
|
|
87
87
|
contract: '0x5DE3939B2F811A61D830E6F52D13B066881412AB',
|
|
88
88
|
hasWithdrawMemo: false
|
|
89
|
-
}]
|
|
89
|
+
}],
|
|
90
90
|
image: '/img/tokens/xpr.png'
|
|
91
91
|
}, {
|
|
92
92
|
allowSwap: true,
|
|
@@ -106,6 +106,14 @@ var initializeCoins = function initializeCoins(protonChain) {
|
|
|
106
106
|
precision: 6,
|
|
107
107
|
contract: '0xA0B86991C6218B36C1D19D4A2E9EB0CE3606EB48',
|
|
108
108
|
hasWithdrawMemo: false
|
|
109
|
+
}, {
|
|
110
|
+
wallet: 'USDC-BEP20',
|
|
111
|
+
symbol: 'USDC',
|
|
112
|
+
chain: Chains.BinanceBEP20,
|
|
113
|
+
network: Networks.BEP20,
|
|
114
|
+
precision: 18,
|
|
115
|
+
contract: '0x8AC76A51CC950D9822D68B83FE1AD97B32CD580D',
|
|
116
|
+
hasWithdrawMemo: false
|
|
109
117
|
}],
|
|
110
118
|
image: '/img/tokens/xusdc.png'
|
|
111
119
|
}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrap-constants.esm.js","sources":["../src/coins.ts","../src/constants.ts","../src/parsers.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 BitcoinCashMainnet = 'Bitcoin Cash',\n StellarMainnet = 'Stellar',\n ProtonMainnet = 'Proton',\n ProtonTestnet = 'Proton (Testnet)',\n PolkadotMainnet = 'Polkadot',\n BinanceBEP2 = 'Binance (BEP2)',\n BinanceBEP20 = 'Binance (BEP20)',\n EosMainnet = 'EOS',\n}\n\nexport enum Networks {\n Mainnet = 'mainnet',\n Testnet = 'testnet',\n Ropsten = 'ropsten',\n ERC20 = 'erc20',\n BEP20 = 'bep20',\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.BitcoinCashMainnet]: (txid: string) => `https://blockchair.com/bitcoin-cash/transaction/${txid}`,\n [Chains.StellarMainnet] : (txid: string) => `https://blockchair.com/stellar/transaction/${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.EosMainnet] : (txid: string) => `https://bloks.io/transaction/${txid}`,\n [Chains.BinanceBEP2] : (txid: string) => `https://binance.mintscan.io/txs/${txid}`,\n [Chains.BinanceBEP20] : (txid: string) => `https://bscscan.com/tx/${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: true,\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 {\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 ...(IS_TESTNET ? [{\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 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 {\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 image: '/img/tokens/xusdc.png'\n },\n { \n allowSwap: true,\n allowBridge: true,\n allowLend: false,\n allowBorrow: false,\n name: 'Metal',\n coin: 'MTL',\n xtokenSymbol: 'XMT',\n xtokenPrecision: 8,\n xtokenContract: 'xtokens',\n wallets: [\n {\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 {\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-TESTNET',\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 {\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-ROPSTEN',\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 {\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 ],\n image: '/img/tokens/xusdt.png'\n },\n { \n allowSwap: false,\n allowBridge: true,\n allowLend: false,\n allowBorrow: false,\n name: 'TrueUSD',\n coin: 'TUSD',\n xtokenSymbol: 'XTUSD',\n xtokenPrecision: 6,\n xtokenContract: 'xtokens',\n wallets: [\n {\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: true,\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 {\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 {\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 ],\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 {\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 ],\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 {\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 {\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 {\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 ],\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 {\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 ],\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 {\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 ],\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 {\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: true,\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 {\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 {\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 ],\n image: '/img/tokens/xeos.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 { 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}","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})\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}","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","explorerLinkByChain","BitcoinMainnet","txid","BitcoinTestnet","EthereumMainnet","EthereumRopsten","LitecoinMainnet","BitcoinCashMainnet","StellarMainnet","ProtonMainnet","ProtonTestnet","PolkadotMainnet","EosMainnet","BinanceBEP2","BinanceBEP20","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","Mainnet","undefined","walletWithDuplicateChains","find","chains","map","Set","size","length","Error","allCoins","swapCoins","filter","bridgeCoins","lendCoins","borrowCoins","loanCoins","allEnabledCoins","WRAP_CONTRACT","initializeConstants","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","Status","Type","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","to","quantity","quoteId","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","isSameToken","token1","token2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wrap-constants.esm.js","sources":["../src/coins.ts","../src/constants.ts","../src/parsers.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 BitcoinCashMainnet = 'Bitcoin Cash',\n StellarMainnet = 'Stellar',\n ProtonMainnet = 'Proton',\n ProtonTestnet = 'Proton (Testnet)',\n PolkadotMainnet = 'Polkadot',\n BinanceBEP2 = 'Binance (BEP2)',\n BinanceBEP20 = 'Binance (BEP20)',\n EosMainnet = 'EOS',\n}\n\nexport enum Networks {\n Mainnet = 'mainnet',\n Testnet = 'testnet',\n Ropsten = 'ropsten',\n ERC20 = 'erc20',\n BEP20 = 'bep20',\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.BitcoinCashMainnet]: (txid: string) => `https://blockchair.com/bitcoin-cash/transaction/${txid}`,\n [Chains.StellarMainnet] : (txid: string) => `https://blockchair.com/stellar/transaction/${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.EosMainnet] : (txid: string) => `https://bloks.io/transaction/${txid}`,\n [Chains.BinanceBEP2] : (txid: string) => `https://binance.mintscan.io/txs/${txid}`,\n [Chains.BinanceBEP20] : (txid: string) => `https://bscscan.com/tx/${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: true,\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 {\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 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 {\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 image: '/img/tokens/xusdc.png'\n },\n { \n allowSwap: true,\n allowBridge: true,\n allowLend: false,\n allowBorrow: false,\n name: 'Metal',\n coin: 'MTL',\n xtokenSymbol: 'XMT',\n xtokenPrecision: 8,\n xtokenContract: 'xtokens',\n wallets: [\n {\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 {\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-TESTNET',\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 {\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-ROPSTEN',\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 {\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 ],\n image: '/img/tokens/xusdt.png'\n },\n { \n allowSwap: false,\n allowBridge: true,\n allowLend: false,\n allowBorrow: false,\n name: 'TrueUSD',\n coin: 'TUSD',\n xtokenSymbol: 'XTUSD',\n xtokenPrecision: 6,\n xtokenContract: 'xtokens',\n wallets: [\n {\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: true,\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 {\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 {\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 ],\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 {\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 ],\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 {\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 {\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 {\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 ],\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 {\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 ],\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 {\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 ],\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 {\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: true,\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 {\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 {\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 ],\n image: '/img/tokens/xeos.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 { 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}","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})\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}","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","explorerLinkByChain","BitcoinMainnet","txid","BitcoinTestnet","EthereumMainnet","EthereumRopsten","LitecoinMainnet","BitcoinCashMainnet","StellarMainnet","ProtonMainnet","ProtonTestnet","PolkadotMainnet","EosMainnet","BinanceBEP2","BinanceBEP20","initializeCoins","protonChain","IS_MAINNET","coins","allowSwap","allowBridge","allowLend","allowBorrow","name","coin","xtokenSymbol","xtokenPrecision","xtokenContract","wallets","wallet","symbol","chain","network","ERC20","precision","contract","hasWithdrawMemo","BEP20","image","Mainnet","undefined","walletWithDuplicateChains","find","chains","map","Set","size","length","Error","allCoins","swapCoins","filter","bridgeCoins","lendCoins","borrowCoins","loanCoins","allEnabledCoins","WRAP_CONTRACT","initializeConstants","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","Status","Type","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","to","quantity","quoteId","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","isSameToken","token1","token2"],"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.
|
|
8
|
+
"version": "0.0.8",
|
|
9
9
|
"license": "MIT",
|
|
10
10
|
"main": "dist/index.js",
|
|
11
11
|
"typings": "dist/index.d.ts",
|
|
@@ -38,5 +38,5 @@
|
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"zod": "^1.11.11"
|
|
40
40
|
},
|
|
41
|
-
"gitHead": "
|
|
41
|
+
"gitHead": "4ad4aa7f560c074d9daa1681fedc925891ef94e8"
|
|
42
42
|
}
|
package/src/coins.ts
CHANGED
|
@@ -77,7 +77,7 @@ export const initializeCoins = (protonChain: string): {
|
|
|
77
77
|
allEnabledCoins: Coin[];
|
|
78
78
|
} => {
|
|
79
79
|
const IS_MAINNET = protonChain === 'proton'
|
|
80
|
-
const IS_TESTNET = protonChain === 'proton-test'
|
|
80
|
+
// const IS_TESTNET = protonChain === 'proton-test'
|
|
81
81
|
|
|
82
82
|
const coins: Coin[] = [
|
|
83
83
|
{
|
|
@@ -100,7 +100,7 @@ export const initializeCoins = (protonChain: string): {
|
|
|
100
100
|
contract: '0xD7EFB00D12C2C13131FD319336FDF952525DA2AF',
|
|
101
101
|
hasWithdrawMemo: false
|
|
102
102
|
},
|
|
103
|
-
|
|
103
|
+
{
|
|
104
104
|
wallet: 'XPR-BEP20',
|
|
105
105
|
symbol: 'XPR',
|
|
106
106
|
chain: Chains.BinanceBEP20,
|
|
@@ -108,7 +108,7 @@ export const initializeCoins = (protonChain: string): {
|
|
|
108
108
|
precision: 4,
|
|
109
109
|
contract: '0x5DE3939B2F811A61D830E6F52D13B066881412AB',
|
|
110
110
|
hasWithdrawMemo: false
|
|
111
|
-
}
|
|
111
|
+
}
|
|
112
112
|
],
|
|
113
113
|
image: '/img/tokens/xpr.png'
|
|
114
114
|
},
|
|
@@ -132,15 +132,15 @@ export const initializeCoins = (protonChain: string): {
|
|
|
132
132
|
contract: '0xA0B86991C6218B36C1D19D4A2E9EB0CE3606EB48',
|
|
133
133
|
hasWithdrawMemo: false
|
|
134
134
|
},
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
135
|
+
{
|
|
136
|
+
wallet: 'USDC-BEP20',
|
|
137
|
+
symbol: 'USDC',
|
|
138
|
+
chain: Chains.BinanceBEP20,
|
|
139
|
+
network: Networks.BEP20,
|
|
140
|
+
precision: 18,
|
|
141
|
+
contract: '0x8AC76A51CC950D9822D68B83FE1AD97B32CD580D',
|
|
142
|
+
hasWithdrawMemo: false
|
|
143
|
+
}
|
|
144
144
|
],
|
|
145
145
|
image: '/img/tokens/xusdc.png'
|
|
146
146
|
},
|