@swapkit/types 1.0.0-rc.34 → 1.0.0-rc.36
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/index.cjs +2 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +21 -0
- package/dist/index.es.js +75 -62
- package/dist/index.es.js.map +1 -1
- package/package.json +1 -1
- package/src/chainflip.ts +30 -0
- package/src/errors/displayMessages.ts +2 -1
- package/src/errors/types.ts +1 -0
- package/src/network.ts +21 -0
package/dist/index.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../src/abis/erc20.ts","../src/abis/tcEthVault.ts","../src/commonTypes.ts","../src/errors/types.ts","../src/errors/displayMessages.ts","../src/errors/apiError.ts","../src/network.ts","../src/thorchain.ts","../src/transactions.ts","../src/wallet.ts"],"sourcesContent":["export const erc20ABI = [\n { inputs: [], stateMutability: 'nonpayable', type: 'constructor' },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'owner', type: 'address' },\n { indexed: true, internalType: 'address', name: 'spender', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'value', type: 'uint256' },\n ],\n name: 'Approval',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'from', type: 'address' },\n { indexed: true, internalType: 'address', name: 'to', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'value', type: 'uint256' },\n ],\n name: 'Transfer',\n type: 'event',\n },\n {\n inputs: [\n { internalType: 'address', name: '', type: 'address' },\n { internalType: 'address', name: '', type: 'address' },\n ],\n name: 'allowance',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'spender', type: 'address' },\n { internalType: 'uint256', name: 'value', type: 'uint256' },\n ],\n name: 'approve',\n outputs: [{ internalType: 'bool', name: 'success', type: 'bool' }],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '', type: 'address' }],\n name: 'balanceOf',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'decimals',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'name',\n outputs: [{ internalType: 'string', name: '', type: 'string' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'symbol',\n outputs: [{ internalType: 'string', name: '', type: 'string' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'totalSupply',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'value', type: 'uint256' },\n ],\n name: 'transfer',\n outputs: [{ internalType: 'bool', name: 'success', type: 'bool' }],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'from', type: 'address' },\n { internalType: 'address', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'value', type: 'uint256' },\n ],\n name: 'transferFrom',\n outputs: [{ internalType: 'bool', name: 'success', type: 'bool' }],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n];\n","export const TCEthereumVaultAbi = [\n {\n inputs: [{ internalType: 'address', name: 'rune', type: 'address' }],\n stateMutability: 'nonpayable',\n type: 'constructor',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'to', type: 'address' },\n { indexed: true, internalType: 'address', name: 'asset', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'Deposit',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'oldVault', type: 'address' },\n { indexed: true, internalType: 'address', name: 'newVault', type: 'address' },\n { indexed: false, internalType: 'address', name: 'asset', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'TransferAllowance',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'vault', type: 'address' },\n { indexed: true, internalType: 'address', name: 'to', type: 'address' },\n { indexed: false, internalType: 'address', name: 'asset', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'TransferOut',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'vault', type: 'address' },\n { indexed: false, internalType: 'address', name: 'target', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'finalAsset', type: 'address' },\n { indexed: false, internalType: 'address', name: 'to', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'TransferOutAndCall',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'oldVault', type: 'address' },\n { indexed: true, internalType: 'address', name: 'newVault', type: 'address' },\n {\n components: [\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n ],\n indexed: false,\n internalType: 'struct THORChain_Router.Coin[]',\n name: 'coins',\n type: 'tuple[]',\n },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'VaultTransfer',\n type: 'event',\n },\n {\n inputs: [],\n name: 'RUNE',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'vault', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'deposit',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'vault', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n { internalType: 'uint256', name: 'expiration', type: 'uint256' },\n ],\n name: 'depositWithExpiry',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'router', type: 'address' },\n { internalType: 'address payable', name: 'asgard', type: 'address' },\n {\n components: [\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n ],\n internalType: 'struct THORChain_Router.Coin[]',\n name: 'coins',\n type: 'tuple[]',\n },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'returnVaultAssets',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'router', type: 'address' },\n { internalType: 'address', name: 'newVault', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'transferAllowance',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'to', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'transferOut',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'aggregator', type: 'address' },\n { internalType: 'address', name: 'finalToken', type: 'address' },\n { internalType: 'address', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'transferOutAndCall',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'vault', type: 'address' },\n { internalType: 'address', name: 'token', type: 'address' },\n ],\n name: 'vaultAllowance',\n outputs: [{ internalType: 'uint256', name: 'amount', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n];\n\nexport const TCAvalancheDepositABI = [\n { inputs: [], stateMutability: 'nonpayable', type: 'constructor' },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'to', type: 'address' },\n { indexed: true, internalType: 'address', name: 'asset', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'Deposit',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'oldVault', type: 'address' },\n { indexed: true, internalType: 'address', name: 'newVault', type: 'address' },\n { indexed: false, internalType: 'address', name: 'asset', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'TransferAllowance',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'vault', type: 'address' },\n { indexed: true, internalType: 'address', name: 'to', type: 'address' },\n { indexed: false, internalType: 'address', name: 'asset', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'TransferOut',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'vault', type: 'address' },\n { indexed: false, internalType: 'address', name: 'target', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'finalAsset', type: 'address' },\n { indexed: false, internalType: 'address', name: 'to', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'TransferOutAndCall',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'oldVault', type: 'address' },\n { indexed: true, internalType: 'address', name: 'newVault', type: 'address' },\n {\n components: [\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n ],\n indexed: false,\n internalType: 'struct AvaxRouter.Coin[]',\n name: 'coins',\n type: 'tuple[]',\n },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'VaultTransfer',\n type: 'event',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'vault', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'deposit',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'vault', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n { internalType: 'uint256', name: 'expiration', type: 'uint256' },\n ],\n name: 'depositWithExpiry',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'router', type: 'address' },\n { internalType: 'address payable', name: 'asgard', type: 'address' },\n {\n components: [\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n ],\n internalType: 'struct AvaxRouter.Coin[]',\n name: 'coins',\n type: 'tuple[]',\n },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'returnVaultAssets',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'router', type: 'address' },\n { internalType: 'address', name: 'newVault', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'transferAllowance',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'to', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'transferOut',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'target', type: 'address' },\n { internalType: 'address', name: 'finalToken', type: 'address' },\n { internalType: 'address', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'transferOutAndCall',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'vault', type: 'address' },\n { internalType: 'address', name: 'token', type: 'address' },\n ],\n name: 'vaultAllowance',\n outputs: [{ internalType: 'uint256', name: 'amount', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n];\n\nexport const TCBscDepositABI = [\n { inputs: [], stateMutability: 'nonpayable', type: 'constructor' },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'to', type: 'address' },\n { indexed: true, internalType: 'address', name: 'asset', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'Deposit',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'oldVault', type: 'address' },\n { indexed: true, internalType: 'address', name: 'newVault', type: 'address' },\n { indexed: false, internalType: 'address', name: 'asset', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'TransferAllowance',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'vault', type: 'address' },\n { indexed: true, internalType: 'address', name: 'to', type: 'address' },\n { indexed: false, internalType: 'address', name: 'asset', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'TransferOut',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'vault', type: 'address' },\n { indexed: false, internalType: 'address', name: 'target', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'finalAsset', type: 'address' },\n { indexed: false, internalType: 'address', name: 'to', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'TransferOutAndCall',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'oldVault', type: 'address' },\n { indexed: true, internalType: 'address', name: 'newVault', type: 'address' },\n {\n components: [\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n ],\n indexed: false,\n internalType: 'struct THORChain_Router.Coin[]',\n name: 'coins',\n type: 'tuple[]',\n },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'VaultTransfer',\n type: 'event',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'vault', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n { internalType: 'uint256', name: 'expiration', type: 'uint256' },\n ],\n name: 'depositWithExpiry',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'router', type: 'address' },\n { internalType: 'address payable', name: 'asgard', type: 'address' },\n {\n components: [\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n ],\n internalType: 'struct THORChain_Router.Coin[]',\n name: 'coins',\n type: 'tuple[]',\n },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'returnVaultAssets',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'router', type: 'address' },\n { internalType: 'address', name: 'newVault', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'transferAllowance',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'to', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'transferOut',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'target', type: 'address' },\n { internalType: 'address', name: 'finalToken', type: 'address' },\n { internalType: 'address', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'transferOutAndCall',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'vault', type: 'address' },\n { internalType: 'address', name: 'token', type: 'address' },\n ],\n name: 'vaultAllowance',\n outputs: [{ internalType: 'uint256', name: 'amount', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n];\n","import type { Chain, CosmosChain, EVMChain, UTXOChain } from './network.ts';\nimport type { WalletOption } from './wallet.ts';\n\ntype ConnectMethodNames =\n | 'connectEVMWallet'\n | 'connectKeplr'\n | 'connectKeystore'\n | 'connectKeepkey'\n | 'connectLedger'\n | 'connectOkx'\n | 'connectTrezor'\n | 'connectWalletconnect'\n | 'connectXDEFI';\n\ntype ChainWallet = {\n address: string;\n balance: any[];\n walletType: WalletOption;\n};\n\nexport type ConnectConfig = {\n stagenet?: boolean;\n /**\n * @required\n */\n thorswapApiKey?: string;\n /**\n * @required for AVAX & BSC\n */\n covalentApiKey?: string;\n /**\n * @required for ETH\n */\n ethplorerApiKey?: string;\n /**\n * @required for BTC, BCH, LTC, DOGE\n */\n blockchairApiKey?: string;\n /**\n * @deprecated - use blockchairApiKey instead\n */\n utxoApiKey?: string;\n /**\n * @required for Walletconnect\n */\n walletConnectProjectId?: string;\n /**\n * @optional for Trezor config\n */\n trezorManifest?: {\n email: string;\n appUrl: string;\n };\n /**\n * @optional for KeepKey config\n */\n keepkeyConfig?: {\n apiKey: string;\n pairingInfo: {\n name: string;\n imageUrl: string;\n basePath: string;\n url: string;\n };\n };\n};\n\nexport type AddChainWalletParams = {\n chain: Chain;\n wallet: ChainWallet;\n walletMethods: any;\n};\n\nexport type Witness = {\n value: number;\n script: Buffer;\n};\n\ntype ApisType = { [key in UTXOChain]?: string | any } & {\n [key in EVMChain]?: string | any;\n} & {\n [key in CosmosChain]?: string;\n};\n\nexport type ConnectWalletParams = {\n addChain: (params: AddChainWalletParams) => void;\n config: ConnectConfig;\n rpcUrls: { [chain in Chain]?: string };\n apis: ApisType;\n};\n\nexport type ExtendParams<WalletConnectMethodNames = ''> = {\n excludedChains?: Chain[];\n config?: ConnectConfig;\n rpcUrls?: { [chain in Chain]?: string };\n apis?: ApisType;\n wallets: {\n connectMethodName: ConnectMethodNames | WalletConnectMethodNames;\n connect: (params: ConnectWalletParams) => (...params: any) => Promise<any>;\n }[];\n};\n\nexport enum QuoteMode {\n TC_SUPPORTED_TO_TC_SUPPORTED = 'TC-TC',\n TC_SUPPORTED_TO_ETH = 'TC-ERC20',\n TC_SUPPORTED_TO_AVAX = 'TC-ARC20',\n TC_SUPPORTED_TO_BSC = 'TC-BEP20',\n ETH_TO_TC_SUPPORTED = 'ERC20-TC',\n ETH_TO_ETH = 'ERC20-ERC20',\n ETH_TO_AVAX = 'ERC20-ARC20',\n ETH_TO_BSC = 'ERC20-BEP20',\n AVAX_TO_TC_SUPPORTED = 'ARC20-TC',\n AVAX_TO_ETH = 'ARC20-ERC20',\n AVAX_TO_AVAX = 'ARC20-ARC20',\n AVAX_TO_BSC = 'ARC20-BEP20',\n BSC_TO_TC_SUPPORTED = 'BEP20-TC',\n BSC_TO_ETH = 'BEP20-ERC20',\n BSC_TO_AVAX = 'BEP20-ARC20',\n BSC_TO_BSC = 'BEP20-BEP20',\n}\n\nexport type Asset = {\n chain: Chain;\n symbol: string;\n ticker: string;\n synth?: boolean;\n};\n\nexport const AGG_SWAP = [QuoteMode.ETH_TO_ETH, QuoteMode.AVAX_TO_AVAX, QuoteMode.BSC_TO_BSC];\n\nexport const SWAP_IN = [\n QuoteMode.ETH_TO_TC_SUPPORTED,\n QuoteMode.ETH_TO_AVAX,\n QuoteMode.ETH_TO_BSC,\n QuoteMode.AVAX_TO_TC_SUPPORTED,\n QuoteMode.AVAX_TO_ETH,\n QuoteMode.AVAX_TO_BSC,\n QuoteMode.BSC_TO_TC_SUPPORTED,\n QuoteMode.BSC_TO_ETH,\n QuoteMode.BSC_TO_AVAX,\n];\n\nexport const SWAP_OUT = [\n QuoteMode.TC_SUPPORTED_TO_TC_SUPPORTED,\n QuoteMode.TC_SUPPORTED_TO_ETH,\n QuoteMode.TC_SUPPORTED_TO_AVAX,\n QuoteMode.TC_SUPPORTED_TO_BSC,\n];\n","export enum ERROR_TYPE {\n VALIDATION_ERROR = 'VALIDATION_ERROR',\n REQUEST_PARAMETER_ERROR = 'REQUEST_PARAMETER_ERROR',\n RESPONSE_PARSING_ERROR = 'RESPONSE_PARSING_ERROR',\n UNSUPPORTED = 'UNSUPPORTED',\n NOT_IMPLEMENTED = 'NOT_IMPLEMENTED',\n INCOMPATIBLE_ASSETS_OPERATIONS = 'INCOMPATIBLE_ASSETS_OPERATIONS',\n SERVICE_UNAVAILABLE = 'SERVICE_UNAVAILABLE',\n DOWN_FOR_MAINTENANCE = 'DOWN_FOR_MAINTENANCE',\n MISSING_INBOUND_INFO = 'MISSING_INBOUND_INFO',\n QUOTE_FETCHING_ERROR = 'QUOTE_FETCHING_ERROR',\n AIRDROP_ERROR = 'AIRDROP_ERROR',\n UNHANDLED_ERROR = 'UNHANDLED_ERROR',\n}\n\nexport enum ERROR_MODULE {\n // Controllers\n HEALTH_CONTROLLER = '1000',\n LIQUIDITY_CONTROLLER = '1001',\n PROVIDER_CONTROLLER = '1002',\n QUOTE_CONTROLLER = '1003',\n SWAP_CONTROLLER = '1004',\n UTIL_CONTROLLER = '1005',\n AIRDROP_CONTROLLER = '1006',\n // Entities\n PROVIDER = '2000',\n ASSET = '2001',\n TOKEN_LIST = '2002',\n // Quote entities\n QUOTE = '2100',\n QUOTE_TXN_DETAILS = '2101',\n // Providers\n THORCHAIN_PROVIDER = '3000',\n UNISWAPV2_ETH_PROVIDER = '3001',\n UNISWAPV3_ETH_PROVIDER = '3002',\n SUSHISWAP_ETH_PROVIDER = '3003',\n PANCAKESWAP_BSC_PROVIDER = '3004',\n PANCAKESWAP_ETH_PROVIDER = '3005',\n ONEINCH_ETH_PROVIDER = '3006',\n ONEINCH_BSC_PROVIDER = '3007',\n ONEINCH_AVAX_PROVIDER = '3008',\n ZEROX_ETH_PROVIDER = '3009',\n WOOFI_AVAX_PROVIDER = '3010',\n PANGOLIN_AVAX_PROVIDER = '3011',\n TRADERJOE_AVAX_PROVIDER = '3012',\n KYBER_ETH_PROVIDER = '3013',\n KYBER_AVAX_PROVIDER = '3014',\n WOOFI_BSC_PROVIDER = '3015',\n STARGATE_PROVIDER = '3016',\n // Utilities\n PROVIDER_UTIL = '4000',\n // Aggregator\n TXN_DETAILS = '5000',\n // AirDrop\n AIRDROP_UTIL = '6000',\n}\n\nexport enum ERROR_CODE {\n // 10xx - Generic\n INVALID_INPUT_PARAMETERS = '1000',\n UNKNOWN_PROVIDERS = '1001',\n CANNOT_FIND_INBOUND_ADDRESS = '1002',\n NO_INBOUND_ADDRESSES = '1003',\n CHAIN_HALTED_OR_UNSUPPORTED = '1004',\n MISSING_INPUT_PARAMETER = '1005',\n // 11xx - Type error\n INVALID_TYPE_GENERIC = '1100',\n INVALID_NUMBER_STRING = '1101',\n INVALID_NUMBER = '1102',\n INVALID_BOOLEAN = '1103',\n INVALID_OBJECT = '1104',\n INVALID_ARRAY = '1105',\n // 20xx - Quote request parameters\n SELL_AMOUNT_MUST_BE_POSITIVE_INTEGER = '2000',\n SELL_BUY_ASSETS_ARE_THE_SAME = '2001',\n MISSING_SOURCE_ADDRESS_FOR_SYNTH = '2002',\n AFF_ADDRESS_AND_BPS_OR_NEITHER = '2003',\n AFF_ADDRESS_TOO_LONG = '2004',\n AFF_BPS_INTEGER_MAX_500 = '2005',\n SOURCE_ADDRESS_INVALID_FOR_SELL_CHAIN = '2006',\n DESTINATION_ADDRESS_INVALID_FOR_BUY_CHAIN = '2007',\n PREFERRED_PROVIDER_NOT_SUPPORTED = '2008',\n DESTINATION_ADDRESS_SMART_CONTRACT = '2009',\n BUY_AMOUNT_MUST_BE_POSITIVE_INTEGER = '2010',\n SOURCE_ADDRESS_SMART_CONTRACT = '2011',\n // 21xx - Quote request providers issue\n INVALID_PROVIDER = '2100',\n MISSING_CROSS_CHAIN_PROVIDER = '2101',\n MISSING_AVAX_PROVIDER = '2102',\n MISSING_BSC_PROVIDER = '2103',\n MISSING_ETH_PROVIDER = '2104',\n INVALID_PROVIDER_FOR_SWAP_OUT = '2105',\n MISSING_ARB_PROVIDER = '2106',\n // 22xx - Quote request assets issue\n INVALID_CHAIN = '2200',\n INVALID_ASSET = '2201',\n INVALID_ASSET_IDENTIFIER = '2202',\n UNSUPPORTED_CHAIN = '2204',\n UNSUPPORTED_ASSET = '2203',\n UNSUPPORTED_ASSET_FOR_SWAPOUT = '2205',\n // 23xx - Invalid addresses\n INVALID_SOURCE_ADDRESS = '2300',\n INVALID_DESTINATION_ADDRESS = '2301',\n // 30xx - Thorchain\n THORNODE_QUOTE_GENERIC_ERROR = '3000',\n NOT_ENOUGH_SYNTH_BALANCE = '3001',\n SYNTH_MINTING_CAP_REACHED = '3002',\n // 40xx - Code logic error (not the client's fault)\n INVALID_QUOTE_MODE = '4000',\n NO_QUOTES = '4001',\n // 50xx - Service unavailable\n SERVICE_UNAVAILABLE_GENERIC = '5000',\n // 51xx - Missing gas data\n MISSING_GAS_DATA_GENERIC = '5100',\n // 52xx - Missing token info\n MISSING_TOKEN_INFO_GENERIC = '5200',\n CANT_FIND_TOKEN_LIST = '5201',\n NO_PRICE = '5202',\n PRICE_IS_STALE = '5203',\n // 60xx - Airdrop\n ADDRESS_NOT_WHITELISTED = '6000',\n ADDRESS_ALREADY_CLAIMED = '6001',\n // 90xx - Unhandled\n TEMPORARY_ERROR = '9999', // use only when waiting for a PR to be merged\n}\n\nexport type ErrorInfo = {\n status: number;\n revision: string;\n type?: ERROR_TYPE;\n module: ERROR_MODULE;\n code: ERROR_CODE;\n message?: string | undefined;\n stack?: string;\n identifier?: string;\n options?: ApiErrorOptions;\n displayMessageParams?: string[];\n};\n\nexport type ApiErrorOptions = {\n shouldLog?: boolean;\n shouldTrace?: boolean;\n shouldThrow?: boolean;\n};\n","import { ERROR_CODE } from './types.ts';\n\nexport const ERROR_DISPLAY_MESSAGES: Record<string, string> = {\n [ERROR_CODE.INVALID_INPUT_PARAMETERS]: 'Invalid input parameters: {0}.',\n [ERROR_CODE.UNKNOWN_PROVIDERS]: 'Unknown providers: {0}.',\n [ERROR_CODE.CANNOT_FIND_INBOUND_ADDRESS]: 'Cannot find inbound address.',\n [ERROR_CODE.NO_INBOUND_ADDRESSES]: 'No inbound addresses.',\n [ERROR_CODE.CHAIN_HALTED_OR_UNSUPPORTED]: 'Chain {0} halted or unsupported.',\n [ERROR_CODE.MISSING_INPUT_PARAMETER]: 'Missing input parameter: {0}.',\n [ERROR_CODE.INVALID_TYPE_GENERIC]: 'Invalid type',\n [ERROR_CODE.INVALID_NUMBER_STRING]: 'Invalid number string.',\n [ERROR_CODE.INVALID_NUMBER]: 'Invalid number.',\n [ERROR_CODE.INVALID_BOOLEAN]: 'Invalid boolean.',\n [ERROR_CODE.INVALID_OBJECT]: 'Invalid object.',\n [ERROR_CODE.INVALID_ARRAY]: 'Invalid array.',\n [ERROR_CODE.SELL_AMOUNT_MUST_BE_POSITIVE_INTEGER]: 'Sell amount must be a positive integer.',\n [ERROR_CODE.SELL_BUY_ASSETS_ARE_THE_SAME]: 'Sell and buy assets are the same.',\n [ERROR_CODE.MISSING_SOURCE_ADDRESS_FOR_SYNTH]: 'Source address is required for synth quote.',\n [ERROR_CODE.AFF_ADDRESS_AND_BPS_OR_NEITHER]:\n 'Must provide affiliateAddress and affiliateBasisPoints params, or neither.',\n [ERROR_CODE.AFF_ADDRESS_TOO_LONG]: 'affiliateAddress too long: 3 characters max.',\n [ERROR_CODE.AFF_BPS_INTEGER_MAX_500]:\n 'affiliateBasisPoints must be an integer between 0 and 100.',\n [ERROR_CODE.SOURCE_ADDRESS_INVALID_FOR_SELL_CHAIN]: 'Source address {0} invalid for sell chain.',\n [ERROR_CODE.DESTINATION_ADDRESS_INVALID_FOR_BUY_CHAIN]:\n 'Destination address {0} invalid for buy chain.',\n [ERROR_CODE.PREFERRED_PROVIDER_NOT_SUPPORTED]: 'Preferred provider not supported.',\n [ERROR_CODE.SOURCE_ADDRESS_SMART_CONTRACT]: 'Source address is a smart contract.',\n [ERROR_CODE.DESTINATION_ADDRESS_SMART_CONTRACT]: 'Destination address is a smart contract.',\n [ERROR_CODE.BUY_AMOUNT_MUST_BE_POSITIVE_INTEGER]: 'Buy amount must be a positive integer.',\n [ERROR_CODE.INVALID_PROVIDER]: 'Invalid provider {0}.',\n [ERROR_CODE.MISSING_CROSS_CHAIN_PROVIDER]: 'Missing cross-chain provider.',\n [ERROR_CODE.MISSING_AVAX_PROVIDER]: 'Missing AVAX provider.',\n [ERROR_CODE.MISSING_BSC_PROVIDER]: 'Missing BSC provider.',\n [ERROR_CODE.MISSING_ETH_PROVIDER]: 'Missing ETH provider.',\n [ERROR_CODE.MISSING_ARB_PROVIDER]: 'Missing ARB provider.',\n [ERROR_CODE.INVALID_PROVIDER_FOR_SWAP_OUT]: 'Invalid provider for swap out.',\n [ERROR_CODE.INVALID_CHAIN]: 'Invalid chain {0}.',\n [ERROR_CODE.INVALID_ASSET]: 'Invalid asset {0}.',\n [ERROR_CODE.UNSUPPORTED_CHAIN]: 'Unsupported chain {0}.',\n [ERROR_CODE.UNSUPPORTED_ASSET]: 'Unsupported asset {0}.',\n [ERROR_CODE.UNSUPPORTED_ASSET_FOR_SWAPOUT]: 'Unsupported asset {0} for swap out.',\n [ERROR_CODE.THORNODE_QUOTE_GENERIC_ERROR]: 'ThorNode quote generic error.',\n [ERROR_CODE.INVALID_SOURCE_ADDRESS]: 'Invalid source address {0}',\n [ERROR_CODE.INVALID_DESTINATION_ADDRESS]: 'Invalid destination address {0}',\n [ERROR_CODE.NOT_ENOUGH_SYNTH_BALANCE]:\n \"Source address doesn't have enough synth balance for this quote.\",\n [ERROR_CODE.SYNTH_MINTING_CAP_REACHED]: 'Synth minting cap reached.',\n [ERROR_CODE.INVALID_QUOTE_MODE]: 'Invalid quote mode.',\n [ERROR_CODE.NO_QUOTES]: 'No quotes to service this request.',\n [ERROR_CODE.SERVICE_UNAVAILABLE_GENERIC]: 'Service unavailable.',\n [ERROR_CODE.MISSING_GAS_DATA_GENERIC]: 'Missing gas data.',\n [ERROR_CODE.MISSING_TOKEN_INFO_GENERIC]: 'Missing token info.',\n [ERROR_CODE.CANT_FIND_TOKEN_LIST]: \"Can't find tokenlist {0}.\",\n [ERROR_CODE.NO_PRICE]: 'No price for asset {0}.',\n [ERROR_CODE.PRICE_IS_STALE]: 'Price is stale for asset {0}.',\n [ERROR_CODE.ADDRESS_NOT_WHITELISTED]: 'Address {0} not whitelisted for airdrop.',\n [ERROR_CODE.ADDRESS_ALREADY_CLAIMED]: 'Address {0} already claimed the airdrop.',\n};\n\nexport const getDisplayMessage = (code: ERROR_CODE, displayMessageParams: string[]) => {\n let displayMessage = ERROR_DISPLAY_MESSAGES[code];\n\n if (!displayMessage) return '';\n\n for (let i = 0; i < displayMessageParams.length; i++) {\n displayMessage = displayMessage?.replace(`{${i}}`, displayMessageParams[i]) ?? '';\n }\n\n return displayMessage;\n};\n","import { getDisplayMessage } from './displayMessages.ts';\nimport type { ApiErrorOptions, ERROR_CODE, ERROR_MODULE, ErrorInfo } from './types.ts';\nimport { ERROR_TYPE } from './types.ts';\n\nexport class ApiError extends Error {\n public readonly status: number;\n public readonly revision: string;\n public readonly type?: ERROR_TYPE;\n public readonly module: ERROR_MODULE;\n public readonly code: ERROR_CODE;\n public readonly message: string;\n public readonly display: string;\n public readonly stack?: string;\n public readonly options: ApiErrorOptions;\n public readonly displayMessageParams?: string[];\n\n constructor({\n status,\n revision,\n module,\n code,\n message,\n type,\n options: { shouldLog, shouldThrow, shouldTrace } = {\n shouldLog: true,\n shouldThrow: true,\n shouldTrace: true,\n },\n displayMessageParams,\n }: ErrorInfo) {\n const safeMessage = message || getDisplayMessage(code, displayMessageParams || []) || '';\n super(safeMessage);\n\n this.status = status;\n this.revision = revision || 'NO_REVISION';\n this.module = module;\n this.message = safeMessage;\n this.display = getDisplayMessage(code, displayMessageParams || []);\n this.code = code;\n this.type = type || ERROR_TYPE.UNHANDLED_ERROR;\n this.options = {\n shouldLog: shouldLog || true,\n shouldTrace: shouldTrace || true,\n shouldThrow: shouldThrow || false,\n };\n this.displayMessageParams = displayMessageParams || [];\n\n if (this.options.shouldTrace) Error.captureStackTrace(this);\n }\n\n public static fromErrorInfo(errorInfo: ErrorInfo): ApiError {\n return new ApiError(errorInfo);\n }\n\n public toErrorInfo(): ErrorInfo {\n return { ...this, identifier: this.identifier };\n }\n\n public get identifier(): string {\n return `${this.revision}-${this.type || 'NO_TYPE'}-${this.module}-${this.code}`;\n }\n\n public get displayMessage(): string {\n return getDisplayMessage(this.code, this.displayMessageParams || []);\n }\n\n public handle() {\n const message = `[${this.identifier}]: ${this.message}`;\n\n if (this.options.shouldLog) console.error(message, '\\n', this.stack || '');\n if (this.options.shouldThrow) throw Error(message, { cause: this.stack });\n\n return this.toErrorInfo();\n }\n}\n","export enum Chain {\n Arbitrum = 'ARB',\n Avalanche = 'AVAX',\n Binance = 'BNB',\n BinanceSmartChain = 'BSC',\n Bitcoin = 'BTC',\n BitcoinCash = 'BCH',\n Cosmos = 'GAIA',\n Dogecoin = 'DOGE',\n Ethereum = 'ETH',\n Kujira = 'KUJI',\n Litecoin = 'LTC',\n Maya = 'MAYA',\n Optimism = 'OP',\n Polygon = 'MATIC',\n THORChain = 'THOR',\n}\ntype ChainNameType = keyof typeof Chain;\n\nexport enum ContractAddress {\n ARB = '0x0000000000000000000000000000000000000000',\n AVAX = '0x0000000000000000000000000000000000000000',\n ETH = '0x0000000000000000000000000000000000000000',\n BSC = '0x0000000000000000000000000000000000000000',\n MATIC = '0x0000000000000000000000000000000000001010',\n OP = '0x4200000000000000000000000000000000000042',\n}\n\nexport enum DerivationPath {\n ARB = \"m/44'/60'/0'/0\",\n AVAX = \"m/44'/60'/0'/0\",\n BCH = \"m/44'/145'/0'/0\",\n BNB = \"m/44'/714'/0'/0\",\n BSC = \"m/44'/60'/0'/0\",\n BTC = \"m/84'/0'/0'/0\",\n DOGE = \"m/44'/3'/0'/0\",\n ETH = \"m/44'/60'/0'/0\",\n GAIA = \"m/44'/118'/0'/0\",\n KUJI = \"m/44'/118'/0'/0\",\n LTC = \"m/84'/2'/0'/0\",\n MATIC = \"m/44'/60'/0'/0\",\n MAYA = \"m/44'/931'/0'/0\",\n OP = \"m/44'/60'/0'/0\",\n THOR = \"m/44'/931'/0'/0\",\n}\n\nexport type DerivationPathArray = [number, number, number, number, number];\n\nexport const NetworkDerivationPath: Record<Chain, DerivationPathArray> = {\n ARB: [44, 60, 0, 0, 0],\n AVAX: [44, 60, 0, 0, 0],\n BCH: [44, 145, 0, 0, 0],\n BNB: [44, 714, 0, 0, 0],\n BSC: [44, 60, 0, 0, 0],\n BTC: [84, 0, 0, 0, 0],\n DOGE: [44, 3, 0, 0, 0],\n ETH: [44, 60, 0, 0, 0],\n GAIA: [44, 118, 0, 0, 0],\n KUJI: [44, 118, 0, 0, 0],\n LTC: [84, 2, 0, 0, 0],\n MATIC: [44, 60, 0, 0, 0],\n MAYA: [44, 931, 0, 0, 0],\n OP: [44, 60, 0, 0, 0],\n THOR: [44, 931, 0, 0, 0],\n};\n\nexport enum BaseDecimal {\n ARB = 18,\n AVAX = 18,\n BCH = 8,\n BNB = 8,\n BSC = 18,\n BTC = 8,\n DASH = 8,\n DOGE = 8,\n ETH = 18,\n GAIA = 6,\n KUJI = 6,\n LTC = 8,\n MATIC = 18,\n MAYA = 10,\n OP = 18,\n THOR = 8,\n}\n\nexport type EVMChain =\n | Chain.Ethereum\n | Chain.Avalanche\n | Chain.BinanceSmartChain\n | Chain.Arbitrum\n | Chain.Optimism\n | Chain.Polygon;\n\nexport const EVMChainList: EVMChain[] = [\n Chain.Ethereum,\n Chain.Avalanche,\n Chain.BinanceSmartChain,\n Chain.Arbitrum,\n Chain.Optimism,\n Chain.Polygon,\n];\n\nexport type UTXOChain = Chain.Bitcoin | Chain.BitcoinCash | Chain.Dogecoin | Chain.Litecoin;\n\nexport const UTXOChainList: UTXOChain[] = [\n Chain.Bitcoin,\n Chain.BitcoinCash,\n Chain.Dogecoin,\n Chain.Litecoin,\n];\n\nexport type CosmosChain =\n | Chain.Cosmos\n | Chain.THORChain\n | Chain.Binance\n | Chain.Maya\n | Chain.Kujira;\n\nexport const CosmosChainList: CosmosChain[] = [Chain.Cosmos, Chain.THORChain, Chain.Binance];\n\nexport const TCSupportedChainList = [\n Chain.Avalanche,\n Chain.Binance,\n Chain.BinanceSmartChain,\n Chain.Bitcoin,\n Chain.BitcoinCash,\n Chain.Cosmos,\n Chain.Dogecoin,\n Chain.Ethereum,\n Chain.Litecoin,\n Chain.THORChain,\n];\n\nexport enum ChainId {\n Arbitrum = '42161',\n ArbitrumHex = '0xa4b1',\n Avalanche = '43114',\n AvalancheHex = '0xa86a',\n Binance = 'Binance-Chain-Tigris',\n BinanceSmartChain = '56',\n BinanceSmartChainHex = '0x38',\n Bitcoin = 'bitcoin',\n BitcoinCash = 'bitcoincash',\n Cosmos = 'cosmoshub-4',\n Dogecoin = 'dogecoin',\n Kujira = 'kaiyo-1',\n Ethereum = '1',\n EthereumHex = '0x1',\n Litecoin = 'litecoin',\n Maya = 'mayachain-mainnet-v1',\n MayaStagenet = 'mayachain-stagenet-v1',\n Optimism = '10',\n OptimismHex = '0xa',\n Polygon = '137',\n PolygonHex = '0x89',\n THORChain = 'thorchain-mainnet-v1',\n THORChainStagenet = 'thorchain-stagenet-v2',\n}\n\nexport enum RPCUrl {\n Arbitrum = 'https://arb1.arbitrum.io/rpc',\n Avalanche = 'https://node-router.thorswap.net/avalanche-c',\n Binance = '',\n BinanceSmartChain = 'https://bsc-dataseed.binance.org',\n Bitcoin = 'https://node-router.thorswap.net/bitcoin',\n BitcoinCash = 'https://node-router.thorswap.net/bitcoin-cash',\n Cosmos = 'https://node-router.thorswap.net/cosmos/rpc',\n Kujira = 'https://rpc-kujira.synergynodes.com/',\n Dogecoin = 'https://node-router.thorswap.net/dogecoin',\n Ethereum = 'https://node-router.thorswap.net/ethereum',\n Litecoin = 'https://node-router.thorswap.net/litecoin',\n Maya = 'https://tendermint.mayachain.info',\n MayaStagenet = 'https://stagenet.tendermint.mayachain.info',\n Optimism = 'https://mainnet.optimism.io',\n Polygon = 'https://polygon-rpc.com',\n THORChain = 'https://rpc.thorswap.net',\n THORChainStagenet = 'https://stagenet-rpc.ninerealms.com',\n}\n\nexport enum ApiUrl {\n Cosmos = 'https://node-router.thorswap.net/cosmos/rest',\n Kujira = 'https://lcd-kujira.synergynodes.com/',\n MayanodeMainnet = 'https://mayanode.mayachain.info',\n MayanodeStagenet = 'https://stagenet.mayanode.mayachain.info',\n ThornodeMainnet = 'https://thornode.thorswap.net',\n ThornodeStagenet = 'https://stagenet-thornode.ninerealms.com',\n ThorswapApi = 'https://api.thorswap.net',\n ThorswapStatic = 'https://static.thorswap.net',\n}\n\nconst chains = Object.values(Chain) as Chain[];\nconst chainNames = Object.keys(Chain) as ChainNameType[];\n\nconst ChainToChainName = chains.reduce(\n (acc, chain) => {\n const chainName = chainNames.find((key) => Chain[key as ChainNameType] === chain);\n\n if (chainName) acc[chain] = chainName;\n\n return acc;\n },\n {} as { [key in Chain]: ChainNameType },\n);\n\nexport const ChainToChainId = chains.reduce(\n (acc, chain) => {\n acc[chain] = ChainId[ChainToChainName[chain]];\n return acc;\n },\n {} as { [key in Chain]: ChainId },\n);\n\nexport const ChainToRPC = chains.reduce(\n (acc, chain) => {\n acc[chain] = RPCUrl[ChainToChainName[chain]];\n return acc;\n },\n {} as { [key in Chain]: RPCUrl },\n);\n\nexport const ChainToHexChainId = chains.reduce(\n (acc, chain) => {\n const chainString = `${ChainToChainName[chain]}Hex` as keyof typeof ChainId;\n\n acc[chain] = ChainId[chainString];\n return acc;\n },\n {} as { [key in Chain]: ChainId },\n);\n\nexport const ChainIdToChain: Record<ChainId, Chain> = {\n [ChainId.ArbitrumHex]: Chain.Arbitrum,\n [ChainId.Arbitrum]: Chain.Arbitrum,\n [ChainId.AvalancheHex]: Chain.Avalanche,\n [ChainId.Avalanche]: Chain.Avalanche,\n [ChainId.BinanceSmartChainHex]: Chain.BinanceSmartChain,\n [ChainId.BinanceSmartChain]: Chain.BinanceSmartChain,\n [ChainId.Binance]: Chain.Binance,\n [ChainId.BitcoinCash]: Chain.BitcoinCash,\n [ChainId.Bitcoin]: Chain.Bitcoin,\n [ChainId.Cosmos]: Chain.Cosmos,\n [ChainId.Dogecoin]: Chain.Dogecoin,\n [ChainId.EthereumHex]: Chain.Ethereum,\n [ChainId.Kujira]: Chain.Kujira,\n [ChainId.Ethereum]: Chain.Ethereum,\n [ChainId.Litecoin]: Chain.Litecoin,\n [ChainId.MayaStagenet]: Chain.Maya,\n [ChainId.Maya]: Chain.Maya,\n [ChainId.OptimismHex]: Chain.Optimism,\n [ChainId.Optimism]: Chain.Optimism,\n [ChainId.PolygonHex]: Chain.Polygon,\n [ChainId.Polygon]: Chain.Polygon,\n [ChainId.THORChainStagenet]: Chain.THORChain,\n [ChainId.THORChain]: Chain.THORChain,\n};\n\nexport const ChainToExplorerUrl: Record<Chain, string> = {\n [Chain.Arbitrum]: 'https://arbiscan.io',\n [Chain.Avalanche]: 'https://snowtrace.io',\n [Chain.BinanceSmartChain]: 'https://bscscan.com',\n [Chain.Binance]: 'https://explorer.binance.org',\n [Chain.BitcoinCash]: 'https://www.blockchair.com/bitcoin-cash',\n [Chain.Bitcoin]: 'https://blockchair.com/bitcoin',\n [Chain.Cosmos]: 'https://cosmos.bigdipper.live',\n [Chain.Dogecoin]: 'https://blockchair.com/dogecoin',\n [Chain.Kujira]: 'https://finder.kujira.network/kaiyo-1',\n [Chain.Ethereum]: 'https://etherscan.io',\n [Chain.Litecoin]: 'https://blockchair.com/litecoin',\n [Chain.Maya]: 'https://www.mayascan.org',\n [Chain.Optimism]: 'https://optimistic.etherscan.io',\n [Chain.Polygon]: 'https://polygonscan.com',\n [Chain.THORChain]: 'https://runescan.io',\n};\n","export type GetAddressAndPubKeyResponse = {\n bech32_address: string;\n compressed_pk: any;\n error_message: string;\n return_code: number;\n};\n\nexport type Signature = {\n pub_key: {\n type: string;\n value: string;\n };\n sequence: string;\n signature: string;\n};\n\nexport enum MemoType {\n BOND = 'BOND',\n DEPOSIT = '+',\n LEAVE = 'LEAVE',\n THORNAME_REGISTER = '~',\n UNBOND = 'UNBOND',\n WITHDRAW = '-',\n OPEN_LOAN = '$+',\n CLOSE_LOAN = '$-',\n}\n","export enum FeeOption {\n Average = 'average',\n Fast = 'fast',\n Fastest = 'fastest',\n}\n\nexport type WalletTxParams = {\n feeOptionKey?: FeeOption;\n from?: string;\n memo?: string; // optional memo to pass\n recipient: string;\n};\n\nexport type EVMTxBaseParams<T = bigint> = {\n to?: string;\n from?: string;\n nonce?: number;\n gasLimit?: T;\n data?: string;\n value?: T;\n chainId?: T;\n};\n","export enum WalletOption {\n 'KEYSTORE' = 'KEYSTORE',\n 'KEEPKEY' = 'KEEPKEY',\n 'XDEFI' = 'XDEFI',\n 'METAMASK' = 'METAMASK',\n 'COINBASE_WEB' = 'COINBASE_WEB',\n 'TREZOR' = 'TREZOR',\n 'TRUSTWALLET_WEB' = 'TRUSTWALLET_WEB',\n 'LEDGER' = 'LEDGER',\n 'KEPLR' = 'KEPLR',\n 'OKX' = 'OKX',\n 'OKX_MOBILE' = 'OKX_MOBILE',\n 'BRAVE' = 'BRAVE',\n 'WALLETCONNECT' = 'WALLETCONNECT',\n}\n\nexport type EVMWalletOptions =\n | WalletOption.BRAVE\n | WalletOption.OKX_MOBILE\n | WalletOption.METAMASK\n | WalletOption.TRUSTWALLET_WEB\n | WalletOption.COINBASE_WEB;\n\nexport enum LedgerErrorCode {\n NoError = 0x9000,\n LockedDevice = 0x5515,\n TC_NotFound = 65535,\n}\n"],"names":["erc20ABI","TCEthereumVaultAbi","TCAvalancheDepositABI","TCBscDepositABI","QuoteMode","AGG_SWAP","SWAP_IN","SWAP_OUT","ERROR_TYPE","ERROR_MODULE","ERROR_CODE","ERROR_DISPLAY_MESSAGES","getDisplayMessage","code","displayMessageParams","displayMessage","i","ApiError","status","revision","module","message","type","shouldLog","shouldThrow","shouldTrace","safeMessage","__publicField","errorInfo","Chain","ContractAddress","DerivationPath","NetworkDerivationPath","BaseDecimal","EVMChainList","UTXOChainList","CosmosChainList","TCSupportedChainList","ChainId","RPCUrl","ApiUrl","chains","chainNames","ChainToChainName","acc","chain","chainName","key","ChainToChainId","ChainToRPC","ChainToHexChainId","chainString","ChainIdToChain","ChainToExplorerUrl","MemoType","FeeOption","WalletOption","LedgerErrorCode"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../src/abis/erc20.ts","../src/abis/tcEthVault.ts","../src/commonTypes.ts","../src/errors/types.ts","../src/errors/displayMessages.ts","../src/errors/apiError.ts","../src/network.ts","../src/thorchain.ts","../src/transactions.ts","../src/wallet.ts"],"sourcesContent":["export const erc20ABI = [\n { inputs: [], stateMutability: 'nonpayable', type: 'constructor' },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'owner', type: 'address' },\n { indexed: true, internalType: 'address', name: 'spender', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'value', type: 'uint256' },\n ],\n name: 'Approval',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'from', type: 'address' },\n { indexed: true, internalType: 'address', name: 'to', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'value', type: 'uint256' },\n ],\n name: 'Transfer',\n type: 'event',\n },\n {\n inputs: [\n { internalType: 'address', name: '', type: 'address' },\n { internalType: 'address', name: '', type: 'address' },\n ],\n name: 'allowance',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'spender', type: 'address' },\n { internalType: 'uint256', name: 'value', type: 'uint256' },\n ],\n name: 'approve',\n outputs: [{ internalType: 'bool', name: 'success', type: 'bool' }],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '', type: 'address' }],\n name: 'balanceOf',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'decimals',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'name',\n outputs: [{ internalType: 'string', name: '', type: 'string' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'symbol',\n outputs: [{ internalType: 'string', name: '', type: 'string' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'totalSupply',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'value', type: 'uint256' },\n ],\n name: 'transfer',\n outputs: [{ internalType: 'bool', name: 'success', type: 'bool' }],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'from', type: 'address' },\n { internalType: 'address', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'value', type: 'uint256' },\n ],\n name: 'transferFrom',\n outputs: [{ internalType: 'bool', name: 'success', type: 'bool' }],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n];\n","export const TCEthereumVaultAbi = [\n {\n inputs: [{ internalType: 'address', name: 'rune', type: 'address' }],\n stateMutability: 'nonpayable',\n type: 'constructor',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'to', type: 'address' },\n { indexed: true, internalType: 'address', name: 'asset', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'Deposit',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'oldVault', type: 'address' },\n { indexed: true, internalType: 'address', name: 'newVault', type: 'address' },\n { indexed: false, internalType: 'address', name: 'asset', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'TransferAllowance',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'vault', type: 'address' },\n { indexed: true, internalType: 'address', name: 'to', type: 'address' },\n { indexed: false, internalType: 'address', name: 'asset', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'TransferOut',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'vault', type: 'address' },\n { indexed: false, internalType: 'address', name: 'target', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'finalAsset', type: 'address' },\n { indexed: false, internalType: 'address', name: 'to', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'TransferOutAndCall',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'oldVault', type: 'address' },\n { indexed: true, internalType: 'address', name: 'newVault', type: 'address' },\n {\n components: [\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n ],\n indexed: false,\n internalType: 'struct THORChain_Router.Coin[]',\n name: 'coins',\n type: 'tuple[]',\n },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'VaultTransfer',\n type: 'event',\n },\n {\n inputs: [],\n name: 'RUNE',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'vault', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'deposit',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'vault', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n { internalType: 'uint256', name: 'expiration', type: 'uint256' },\n ],\n name: 'depositWithExpiry',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'router', type: 'address' },\n { internalType: 'address payable', name: 'asgard', type: 'address' },\n {\n components: [\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n ],\n internalType: 'struct THORChain_Router.Coin[]',\n name: 'coins',\n type: 'tuple[]',\n },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'returnVaultAssets',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'router', type: 'address' },\n { internalType: 'address', name: 'newVault', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'transferAllowance',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'to', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'transferOut',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'aggregator', type: 'address' },\n { internalType: 'address', name: 'finalToken', type: 'address' },\n { internalType: 'address', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'transferOutAndCall',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'vault', type: 'address' },\n { internalType: 'address', name: 'token', type: 'address' },\n ],\n name: 'vaultAllowance',\n outputs: [{ internalType: 'uint256', name: 'amount', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n];\n\nexport const TCAvalancheDepositABI = [\n { inputs: [], stateMutability: 'nonpayable', type: 'constructor' },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'to', type: 'address' },\n { indexed: true, internalType: 'address', name: 'asset', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'Deposit',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'oldVault', type: 'address' },\n { indexed: true, internalType: 'address', name: 'newVault', type: 'address' },\n { indexed: false, internalType: 'address', name: 'asset', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'TransferAllowance',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'vault', type: 'address' },\n { indexed: true, internalType: 'address', name: 'to', type: 'address' },\n { indexed: false, internalType: 'address', name: 'asset', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'TransferOut',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'vault', type: 'address' },\n { indexed: false, internalType: 'address', name: 'target', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'finalAsset', type: 'address' },\n { indexed: false, internalType: 'address', name: 'to', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'TransferOutAndCall',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'oldVault', type: 'address' },\n { indexed: true, internalType: 'address', name: 'newVault', type: 'address' },\n {\n components: [\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n ],\n indexed: false,\n internalType: 'struct AvaxRouter.Coin[]',\n name: 'coins',\n type: 'tuple[]',\n },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'VaultTransfer',\n type: 'event',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'vault', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'deposit',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'vault', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n { internalType: 'uint256', name: 'expiration', type: 'uint256' },\n ],\n name: 'depositWithExpiry',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'router', type: 'address' },\n { internalType: 'address payable', name: 'asgard', type: 'address' },\n {\n components: [\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n ],\n internalType: 'struct AvaxRouter.Coin[]',\n name: 'coins',\n type: 'tuple[]',\n },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'returnVaultAssets',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'router', type: 'address' },\n { internalType: 'address', name: 'newVault', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'transferAllowance',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'to', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'transferOut',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'target', type: 'address' },\n { internalType: 'address', name: 'finalToken', type: 'address' },\n { internalType: 'address', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'transferOutAndCall',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'vault', type: 'address' },\n { internalType: 'address', name: 'token', type: 'address' },\n ],\n name: 'vaultAllowance',\n outputs: [{ internalType: 'uint256', name: 'amount', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n];\n\nexport const TCBscDepositABI = [\n { inputs: [], stateMutability: 'nonpayable', type: 'constructor' },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'to', type: 'address' },\n { indexed: true, internalType: 'address', name: 'asset', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'Deposit',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'oldVault', type: 'address' },\n { indexed: true, internalType: 'address', name: 'newVault', type: 'address' },\n { indexed: false, internalType: 'address', name: 'asset', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'TransferAllowance',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'vault', type: 'address' },\n { indexed: true, internalType: 'address', name: 'to', type: 'address' },\n { indexed: false, internalType: 'address', name: 'asset', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'TransferOut',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'vault', type: 'address' },\n { indexed: false, internalType: 'address', name: 'target', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },\n { indexed: false, internalType: 'address', name: 'finalAsset', type: 'address' },\n { indexed: false, internalType: 'address', name: 'to', type: 'address' },\n { indexed: false, internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'TransferOutAndCall',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'oldVault', type: 'address' },\n { indexed: true, internalType: 'address', name: 'newVault', type: 'address' },\n {\n components: [\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n ],\n indexed: false,\n internalType: 'struct THORChain_Router.Coin[]',\n name: 'coins',\n type: 'tuple[]',\n },\n { indexed: false, internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'VaultTransfer',\n type: 'event',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'vault', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n { internalType: 'uint256', name: 'expiration', type: 'uint256' },\n ],\n name: 'depositWithExpiry',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'router', type: 'address' },\n { internalType: 'address payable', name: 'asgard', type: 'address' },\n {\n components: [\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n ],\n internalType: 'struct THORChain_Router.Coin[]',\n name: 'coins',\n type: 'tuple[]',\n },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'returnVaultAssets',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'router', type: 'address' },\n { internalType: 'address', name: 'newVault', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'transferAllowance',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'to', type: 'address' },\n { internalType: 'address', name: 'asset', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'transferOut',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'target', type: 'address' },\n { internalType: 'address', name: 'finalToken', type: 'address' },\n { internalType: 'address', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },\n { internalType: 'string', name: 'memo', type: 'string' },\n ],\n name: 'transferOutAndCall',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'vault', type: 'address' },\n { internalType: 'address', name: 'token', type: 'address' },\n ],\n name: 'vaultAllowance',\n outputs: [{ internalType: 'uint256', name: 'amount', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n];\n","import type { Chain, CosmosChain, EVMChain, UTXOChain } from './network.ts';\nimport type { WalletOption } from './wallet.ts';\n\ntype ConnectMethodNames =\n | 'connectEVMWallet'\n | 'connectKeplr'\n | 'connectKeystore'\n | 'connectKeepkey'\n | 'connectLedger'\n | 'connectOkx'\n | 'connectTrezor'\n | 'connectWalletconnect'\n | 'connectXDEFI';\n\ntype ChainWallet = {\n address: string;\n balance: any[];\n walletType: WalletOption;\n};\n\nexport type ConnectConfig = {\n stagenet?: boolean;\n /**\n * @required\n */\n thorswapApiKey?: string;\n /**\n * @required for AVAX & BSC\n */\n covalentApiKey?: string;\n /**\n * @required for ETH\n */\n ethplorerApiKey?: string;\n /**\n * @required for BTC, BCH, LTC, DOGE\n */\n blockchairApiKey?: string;\n /**\n * @deprecated - use blockchairApiKey instead\n */\n utxoApiKey?: string;\n /**\n * @required for Walletconnect\n */\n walletConnectProjectId?: string;\n /**\n * @optional for Trezor config\n */\n trezorManifest?: {\n email: string;\n appUrl: string;\n };\n /**\n * @optional for KeepKey config\n */\n keepkeyConfig?: {\n apiKey: string;\n pairingInfo: {\n name: string;\n imageUrl: string;\n basePath: string;\n url: string;\n };\n };\n};\n\nexport type AddChainWalletParams = {\n chain: Chain;\n wallet: ChainWallet;\n walletMethods: any;\n};\n\nexport type Witness = {\n value: number;\n script: Buffer;\n};\n\ntype ApisType = { [key in UTXOChain]?: string | any } & {\n [key in EVMChain]?: string | any;\n} & {\n [key in CosmosChain]?: string;\n};\n\nexport type ConnectWalletParams = {\n addChain: (params: AddChainWalletParams) => void;\n config: ConnectConfig;\n rpcUrls: { [chain in Chain]?: string };\n apis: ApisType;\n};\n\nexport type ExtendParams<WalletConnectMethodNames = ''> = {\n excludedChains?: Chain[];\n config?: ConnectConfig;\n rpcUrls?: { [chain in Chain]?: string };\n apis?: ApisType;\n wallets: {\n connectMethodName: ConnectMethodNames | WalletConnectMethodNames;\n connect: (params: ConnectWalletParams) => (...params: any) => Promise<any>;\n }[];\n};\n\nexport enum QuoteMode {\n TC_SUPPORTED_TO_TC_SUPPORTED = 'TC-TC',\n TC_SUPPORTED_TO_ETH = 'TC-ERC20',\n TC_SUPPORTED_TO_AVAX = 'TC-ARC20',\n TC_SUPPORTED_TO_BSC = 'TC-BEP20',\n ETH_TO_TC_SUPPORTED = 'ERC20-TC',\n ETH_TO_ETH = 'ERC20-ERC20',\n ETH_TO_AVAX = 'ERC20-ARC20',\n ETH_TO_BSC = 'ERC20-BEP20',\n AVAX_TO_TC_SUPPORTED = 'ARC20-TC',\n AVAX_TO_ETH = 'ARC20-ERC20',\n AVAX_TO_AVAX = 'ARC20-ARC20',\n AVAX_TO_BSC = 'ARC20-BEP20',\n BSC_TO_TC_SUPPORTED = 'BEP20-TC',\n BSC_TO_ETH = 'BEP20-ERC20',\n BSC_TO_AVAX = 'BEP20-ARC20',\n BSC_TO_BSC = 'BEP20-BEP20',\n}\n\nexport type Asset = {\n chain: Chain;\n symbol: string;\n ticker: string;\n synth?: boolean;\n};\n\nexport const AGG_SWAP = [QuoteMode.ETH_TO_ETH, QuoteMode.AVAX_TO_AVAX, QuoteMode.BSC_TO_BSC];\n\nexport const SWAP_IN = [\n QuoteMode.ETH_TO_TC_SUPPORTED,\n QuoteMode.ETH_TO_AVAX,\n QuoteMode.ETH_TO_BSC,\n QuoteMode.AVAX_TO_TC_SUPPORTED,\n QuoteMode.AVAX_TO_ETH,\n QuoteMode.AVAX_TO_BSC,\n QuoteMode.BSC_TO_TC_SUPPORTED,\n QuoteMode.BSC_TO_ETH,\n QuoteMode.BSC_TO_AVAX,\n];\n\nexport const SWAP_OUT = [\n QuoteMode.TC_SUPPORTED_TO_TC_SUPPORTED,\n QuoteMode.TC_SUPPORTED_TO_ETH,\n QuoteMode.TC_SUPPORTED_TO_AVAX,\n QuoteMode.TC_SUPPORTED_TO_BSC,\n];\n","export enum ERROR_TYPE {\n VALIDATION_ERROR = 'VALIDATION_ERROR',\n REQUEST_PARAMETER_ERROR = 'REQUEST_PARAMETER_ERROR',\n RESPONSE_PARSING_ERROR = 'RESPONSE_PARSING_ERROR',\n UNSUPPORTED = 'UNSUPPORTED',\n NOT_IMPLEMENTED = 'NOT_IMPLEMENTED',\n INCOMPATIBLE_ASSETS_OPERATIONS = 'INCOMPATIBLE_ASSETS_OPERATIONS',\n SERVICE_UNAVAILABLE = 'SERVICE_UNAVAILABLE',\n DOWN_FOR_MAINTENANCE = 'DOWN_FOR_MAINTENANCE',\n MISSING_INBOUND_INFO = 'MISSING_INBOUND_INFO',\n QUOTE_FETCHING_ERROR = 'QUOTE_FETCHING_ERROR',\n AIRDROP_ERROR = 'AIRDROP_ERROR',\n UNHANDLED_ERROR = 'UNHANDLED_ERROR',\n}\n\nexport enum ERROR_MODULE {\n // Controllers\n HEALTH_CONTROLLER = '1000',\n LIQUIDITY_CONTROLLER = '1001',\n PROVIDER_CONTROLLER = '1002',\n QUOTE_CONTROLLER = '1003',\n SWAP_CONTROLLER = '1004',\n UTIL_CONTROLLER = '1005',\n AIRDROP_CONTROLLER = '1006',\n // Entities\n PROVIDER = '2000',\n ASSET = '2001',\n TOKEN_LIST = '2002',\n // Quote entities\n QUOTE = '2100',\n QUOTE_TXN_DETAILS = '2101',\n // Providers\n THORCHAIN_PROVIDER = '3000',\n UNISWAPV2_ETH_PROVIDER = '3001',\n UNISWAPV3_ETH_PROVIDER = '3002',\n SUSHISWAP_ETH_PROVIDER = '3003',\n PANCAKESWAP_BSC_PROVIDER = '3004',\n PANCAKESWAP_ETH_PROVIDER = '3005',\n ONEINCH_ETH_PROVIDER = '3006',\n ONEINCH_BSC_PROVIDER = '3007',\n ONEINCH_AVAX_PROVIDER = '3008',\n ZEROX_ETH_PROVIDER = '3009',\n WOOFI_AVAX_PROVIDER = '3010',\n PANGOLIN_AVAX_PROVIDER = '3011',\n TRADERJOE_AVAX_PROVIDER = '3012',\n KYBER_ETH_PROVIDER = '3013',\n KYBER_AVAX_PROVIDER = '3014',\n WOOFI_BSC_PROVIDER = '3015',\n STARGATE_PROVIDER = '3016',\n // Utilities\n PROVIDER_UTIL = '4000',\n // Aggregator\n TXN_DETAILS = '5000',\n // AirDrop\n AIRDROP_UTIL = '6000',\n}\n\nexport enum ERROR_CODE {\n // 10xx - Generic\n INVALID_INPUT_PARAMETERS = '1000',\n UNKNOWN_PROVIDERS = '1001',\n CANNOT_FIND_INBOUND_ADDRESS = '1002',\n NO_INBOUND_ADDRESSES = '1003',\n CHAIN_HALTED_OR_UNSUPPORTED = '1004',\n MISSING_INPUT_PARAMETER = '1005',\n // 11xx - Type error\n INVALID_TYPE_GENERIC = '1100',\n INVALID_NUMBER_STRING = '1101',\n INVALID_NUMBER = '1102',\n INVALID_BOOLEAN = '1103',\n INVALID_OBJECT = '1104',\n INVALID_ARRAY = '1105',\n // 20xx - Quote request parameters\n SELL_AMOUNT_MUST_BE_POSITIVE_INTEGER = '2000',\n SELL_BUY_ASSETS_ARE_THE_SAME = '2001',\n MISSING_SOURCE_ADDRESS_FOR_SYNTH = '2002',\n AFF_ADDRESS_AND_BPS_OR_NEITHER = '2003',\n AFF_ADDRESS_TOO_LONG = '2004',\n AFF_BPS_INTEGER_MAX_500 = '2005',\n SOURCE_ADDRESS_INVALID_FOR_SELL_CHAIN = '2006',\n DESTINATION_ADDRESS_INVALID_FOR_BUY_CHAIN = '2007',\n PREFERRED_PROVIDER_NOT_SUPPORTED = '2008',\n DESTINATION_ADDRESS_SMART_CONTRACT = '2009',\n BUY_AMOUNT_MUST_BE_POSITIVE_INTEGER = '2010',\n SOURCE_ADDRESS_SMART_CONTRACT = '2011',\n SWAP_AMOUNT_TOO_LOW = '2012',\n // 21xx - Quote request providers issue\n INVALID_PROVIDER = '2100',\n MISSING_CROSS_CHAIN_PROVIDER = '2101',\n MISSING_AVAX_PROVIDER = '2102',\n MISSING_BSC_PROVIDER = '2103',\n MISSING_ETH_PROVIDER = '2104',\n INVALID_PROVIDER_FOR_SWAP_OUT = '2105',\n MISSING_ARB_PROVIDER = '2106',\n // 22xx - Quote request assets issue\n INVALID_CHAIN = '2200',\n INVALID_ASSET = '2201',\n INVALID_ASSET_IDENTIFIER = '2202',\n UNSUPPORTED_CHAIN = '2204',\n UNSUPPORTED_ASSET = '2203',\n UNSUPPORTED_ASSET_FOR_SWAPOUT = '2205',\n // 23xx - Invalid addresses\n INVALID_SOURCE_ADDRESS = '2300',\n INVALID_DESTINATION_ADDRESS = '2301',\n // 30xx - Thorchain\n THORNODE_QUOTE_GENERIC_ERROR = '3000',\n NOT_ENOUGH_SYNTH_BALANCE = '3001',\n SYNTH_MINTING_CAP_REACHED = '3002',\n // 40xx - Code logic error (not the client's fault)\n INVALID_QUOTE_MODE = '4000',\n NO_QUOTES = '4001',\n // 50xx - Service unavailable\n SERVICE_UNAVAILABLE_GENERIC = '5000',\n // 51xx - Missing gas data\n MISSING_GAS_DATA_GENERIC = '5100',\n // 52xx - Missing token info\n MISSING_TOKEN_INFO_GENERIC = '5200',\n CANT_FIND_TOKEN_LIST = '5201',\n NO_PRICE = '5202',\n PRICE_IS_STALE = '5203',\n // 60xx - Airdrop\n ADDRESS_NOT_WHITELISTED = '6000',\n ADDRESS_ALREADY_CLAIMED = '6001',\n // 90xx - Unhandled\n TEMPORARY_ERROR = '9999', // use only when waiting for a PR to be merged\n}\n\nexport type ErrorInfo = {\n status: number;\n revision: string;\n type?: ERROR_TYPE;\n module: ERROR_MODULE;\n code: ERROR_CODE;\n message?: string | undefined;\n stack?: string;\n identifier?: string;\n options?: ApiErrorOptions;\n displayMessageParams?: string[];\n};\n\nexport type ApiErrorOptions = {\n shouldLog?: boolean;\n shouldTrace?: boolean;\n shouldThrow?: boolean;\n};\n","import { ERROR_CODE } from './types.ts';\n\nexport const ERROR_DISPLAY_MESSAGES: Record<string, string> = {\n [ERROR_CODE.INVALID_INPUT_PARAMETERS]: 'Invalid input parameters: {0}.',\n [ERROR_CODE.UNKNOWN_PROVIDERS]: 'Unknown providers: {0}.',\n [ERROR_CODE.CANNOT_FIND_INBOUND_ADDRESS]: 'Cannot find inbound address.',\n [ERROR_CODE.NO_INBOUND_ADDRESSES]: 'No inbound addresses.',\n [ERROR_CODE.CHAIN_HALTED_OR_UNSUPPORTED]: 'Chain {0} halted or unsupported.',\n [ERROR_CODE.MISSING_INPUT_PARAMETER]: 'Missing input parameter: {0}.',\n [ERROR_CODE.INVALID_TYPE_GENERIC]: 'Invalid type',\n [ERROR_CODE.INVALID_NUMBER_STRING]: 'Invalid number string.',\n [ERROR_CODE.INVALID_NUMBER]: 'Invalid number.',\n [ERROR_CODE.INVALID_BOOLEAN]: 'Invalid boolean.',\n [ERROR_CODE.INVALID_OBJECT]: 'Invalid object.',\n [ERROR_CODE.INVALID_ARRAY]: 'Invalid array.',\n [ERROR_CODE.SELL_AMOUNT_MUST_BE_POSITIVE_INTEGER]: 'Sell amount must be a positive integer.',\n [ERROR_CODE.SELL_BUY_ASSETS_ARE_THE_SAME]: 'Sell and buy assets are the same.',\n [ERROR_CODE.MISSING_SOURCE_ADDRESS_FOR_SYNTH]: 'Source address is required for synth quote.',\n [ERROR_CODE.AFF_ADDRESS_AND_BPS_OR_NEITHER]:\n 'Must provide affiliateAddress and affiliateBasisPoints params, or neither.',\n [ERROR_CODE.AFF_ADDRESS_TOO_LONG]: 'affiliateAddress too long: 4 characters max.',\n [ERROR_CODE.AFF_BPS_INTEGER_MAX_500]:\n 'affiliateBasisPoints must be an integer between 0 and 100.',\n [ERROR_CODE.SOURCE_ADDRESS_INVALID_FOR_SELL_CHAIN]: 'Source address {0} invalid for sell chain.',\n [ERROR_CODE.DESTINATION_ADDRESS_INVALID_FOR_BUY_CHAIN]:\n 'Destination address {0} invalid for buy chain.',\n [ERROR_CODE.PREFERRED_PROVIDER_NOT_SUPPORTED]: 'Preferred provider not supported.',\n [ERROR_CODE.SOURCE_ADDRESS_SMART_CONTRACT]: 'Source address is a smart contract.',\n [ERROR_CODE.SWAP_AMOUNT_TOO_LOW]: 'Swap amount too low for this pair.',\n [ERROR_CODE.DESTINATION_ADDRESS_SMART_CONTRACT]: 'Destination address is a smart contract.',\n [ERROR_CODE.BUY_AMOUNT_MUST_BE_POSITIVE_INTEGER]: 'Buy amount must be a positive integer.',\n [ERROR_CODE.INVALID_PROVIDER]: 'Invalid provider {0}.',\n [ERROR_CODE.MISSING_CROSS_CHAIN_PROVIDER]: 'Missing cross-chain provider.',\n [ERROR_CODE.MISSING_AVAX_PROVIDER]: 'Missing AVAX provider.',\n [ERROR_CODE.MISSING_BSC_PROVIDER]: 'Missing BSC provider.',\n [ERROR_CODE.MISSING_ETH_PROVIDER]: 'Missing ETH provider.',\n [ERROR_CODE.MISSING_ARB_PROVIDER]: 'Missing ARB provider.',\n [ERROR_CODE.INVALID_PROVIDER_FOR_SWAP_OUT]: 'Invalid provider for swap out.',\n [ERROR_CODE.INVALID_CHAIN]: 'Invalid chain {0}.',\n [ERROR_CODE.INVALID_ASSET]: 'Invalid asset {0}.',\n [ERROR_CODE.UNSUPPORTED_CHAIN]: 'Unsupported chain {0}.',\n [ERROR_CODE.UNSUPPORTED_ASSET]: 'Unsupported asset {0}.',\n [ERROR_CODE.UNSUPPORTED_ASSET_FOR_SWAPOUT]: 'Unsupported asset {0} for swap out.',\n [ERROR_CODE.THORNODE_QUOTE_GENERIC_ERROR]: 'ThorNode quote generic error.',\n [ERROR_CODE.INVALID_SOURCE_ADDRESS]: 'Invalid source address {0}',\n [ERROR_CODE.INVALID_DESTINATION_ADDRESS]: 'Invalid destination address {0}',\n [ERROR_CODE.NOT_ENOUGH_SYNTH_BALANCE]:\n \"Source address doesn't have enough synth balance for this quote.\",\n [ERROR_CODE.SYNTH_MINTING_CAP_REACHED]: 'Synth minting cap reached.',\n [ERROR_CODE.INVALID_QUOTE_MODE]: 'Invalid quote mode.',\n [ERROR_CODE.NO_QUOTES]: 'No quotes to service this request.',\n [ERROR_CODE.SERVICE_UNAVAILABLE_GENERIC]: 'Service unavailable.',\n [ERROR_CODE.MISSING_GAS_DATA_GENERIC]: 'Missing gas data.',\n [ERROR_CODE.MISSING_TOKEN_INFO_GENERIC]: 'Missing token info.',\n [ERROR_CODE.CANT_FIND_TOKEN_LIST]: \"Can't find tokenlist {0}.\",\n [ERROR_CODE.NO_PRICE]: 'No price for asset {0}.',\n [ERROR_CODE.PRICE_IS_STALE]: 'Price is stale for asset {0}.',\n [ERROR_CODE.ADDRESS_NOT_WHITELISTED]: 'Address {0} not whitelisted for airdrop.',\n [ERROR_CODE.ADDRESS_ALREADY_CLAIMED]: 'Address {0} already claimed the airdrop.',\n};\n\nexport const getDisplayMessage = (code: ERROR_CODE, displayMessageParams: string[]) => {\n let displayMessage = ERROR_DISPLAY_MESSAGES[code];\n\n if (!displayMessage) return '';\n\n for (let i = 0; i < displayMessageParams.length; i++) {\n displayMessage = displayMessage?.replace(`{${i}}`, displayMessageParams[i]) ?? '';\n }\n\n return displayMessage;\n};\n","import { getDisplayMessage } from './displayMessages.ts';\nimport type { ApiErrorOptions, ERROR_CODE, ERROR_MODULE, ErrorInfo } from './types.ts';\nimport { ERROR_TYPE } from './types.ts';\n\nexport class ApiError extends Error {\n public readonly status: number;\n public readonly revision: string;\n public readonly type?: ERROR_TYPE;\n public readonly module: ERROR_MODULE;\n public readonly code: ERROR_CODE;\n public readonly message: string;\n public readonly display: string;\n public readonly stack?: string;\n public readonly options: ApiErrorOptions;\n public readonly displayMessageParams?: string[];\n\n constructor({\n status,\n revision,\n module,\n code,\n message,\n type,\n options: { shouldLog, shouldThrow, shouldTrace } = {\n shouldLog: true,\n shouldThrow: true,\n shouldTrace: true,\n },\n displayMessageParams,\n }: ErrorInfo) {\n const safeMessage = message || getDisplayMessage(code, displayMessageParams || []) || '';\n super(safeMessage);\n\n this.status = status;\n this.revision = revision || 'NO_REVISION';\n this.module = module;\n this.message = safeMessage;\n this.display = getDisplayMessage(code, displayMessageParams || []);\n this.code = code;\n this.type = type || ERROR_TYPE.UNHANDLED_ERROR;\n this.options = {\n shouldLog: shouldLog || true,\n shouldTrace: shouldTrace || true,\n shouldThrow: shouldThrow || false,\n };\n this.displayMessageParams = displayMessageParams || [];\n\n if (this.options.shouldTrace) Error.captureStackTrace(this);\n }\n\n public static fromErrorInfo(errorInfo: ErrorInfo): ApiError {\n return new ApiError(errorInfo);\n }\n\n public toErrorInfo(): ErrorInfo {\n return { ...this, identifier: this.identifier };\n }\n\n public get identifier(): string {\n return `${this.revision}-${this.type || 'NO_TYPE'}-${this.module}-${this.code}`;\n }\n\n public get displayMessage(): string {\n return getDisplayMessage(this.code, this.displayMessageParams || []);\n }\n\n public handle() {\n const message = `[${this.identifier}]: ${this.message}`;\n\n if (this.options.shouldLog) console.error(message, '\\n', this.stack || '');\n if (this.options.shouldThrow) throw Error(message, { cause: this.stack });\n\n return this.toErrorInfo();\n }\n}\n","export enum Chain {\n Arbitrum = 'ARB',\n Avalanche = 'AVAX',\n Binance = 'BNB',\n BinanceSmartChain = 'BSC',\n Bitcoin = 'BTC',\n BitcoinCash = 'BCH',\n Cosmos = 'GAIA',\n Dogecoin = 'DOGE',\n Ethereum = 'ETH',\n Kujira = 'KUJI',\n Litecoin = 'LTC',\n Maya = 'MAYA',\n Optimism = 'OP',\n Polkadot = 'DOT',\n Chainflip = 'FLIP',\n Polygon = 'MATIC',\n THORChain = 'THOR',\n}\ntype ChainNameType = keyof typeof Chain;\n\nexport enum ContractAddress {\n ARB = '0x0000000000000000000000000000000000000000',\n AVAX = '0x0000000000000000000000000000000000000000',\n ETH = '0x0000000000000000000000000000000000000000',\n BSC = '0x0000000000000000000000000000000000000000',\n MATIC = '0x0000000000000000000000000000000000001010',\n OP = '0x4200000000000000000000000000000000000042',\n}\n\nexport enum DerivationPath {\n ARB = \"m/44'/60'/0'/0\",\n AVAX = \"m/44'/60'/0'/0\",\n BCH = \"m/44'/145'/0'/0\",\n BNB = \"m/44'/714'/0'/0\",\n BSC = \"m/44'/60'/0'/0\",\n BTC = \"m/84'/0'/0'/0\",\n DOGE = \"m/44'/3'/0'/0\",\n DOT = '////',\n ETH = \"m/44'/60'/0'/0\",\n FLIP = '////',\n GAIA = \"m/44'/118'/0'/0\",\n KUJI = \"m/44'/118'/0'/0\",\n LTC = \"m/84'/2'/0'/0\",\n MATIC = \"m/44'/60'/0'/0\",\n MAYA = \"m/44'/931'/0'/0\",\n OP = \"m/44'/60'/0'/0\",\n THOR = \"m/44'/931'/0'/0\",\n}\n\nexport type DerivationPathArray = [number, number, number, number, number];\n\nexport const NetworkDerivationPath: Record<Chain, DerivationPathArray> = {\n ARB: [44, 60, 0, 0, 0],\n AVAX: [44, 60, 0, 0, 0],\n BCH: [44, 145, 0, 0, 0],\n BNB: [44, 714, 0, 0, 0],\n BSC: [44, 60, 0, 0, 0],\n BTC: [84, 0, 0, 0, 0],\n DOGE: [44, 3, 0, 0, 0],\n ETH: [44, 60, 0, 0, 0],\n GAIA: [44, 118, 0, 0, 0],\n KUJI: [44, 118, 0, 0, 0],\n LTC: [84, 2, 0, 0, 0],\n MATIC: [44, 60, 0, 0, 0],\n MAYA: [44, 931, 0, 0, 0],\n OP: [44, 60, 0, 0, 0],\n THOR: [44, 931, 0, 0, 0],\n // Polkadot and related network derivation path is not number based\n DOT: [0, 0, 0, 0, 0],\n FLIP: [0, 0, 0, 0, 0],\n};\n\nexport enum BaseDecimal {\n ARB = 18,\n AVAX = 18,\n BCH = 8,\n BNB = 8,\n BSC = 18,\n BTC = 8,\n DASH = 8,\n DOGE = 8,\n DOT = 10,\n ETH = 18,\n FLIP = 18,\n GAIA = 6,\n KUJI = 6,\n LTC = 8,\n MATIC = 18,\n MAYA = 10,\n OP = 18,\n THOR = 8,\n}\n\nexport type SubstrateChain = Chain.Polkadot | Chain.Chainflip;\n\nexport const SubstrateChainList: SubstrateChain[] = [Chain.Polkadot, Chain.Chainflip];\n\nexport type EVMChain =\n | Chain.Ethereum\n | Chain.Avalanche\n | Chain.BinanceSmartChain\n | Chain.Arbitrum\n | Chain.Optimism\n | Chain.Polygon;\n\nexport const EVMChainList: EVMChain[] = [\n Chain.Ethereum,\n Chain.Avalanche,\n Chain.BinanceSmartChain,\n Chain.Arbitrum,\n Chain.Optimism,\n Chain.Polygon,\n];\n\nexport type UTXOChain = Chain.Bitcoin | Chain.BitcoinCash | Chain.Dogecoin | Chain.Litecoin;\n\nexport const UTXOChainList: UTXOChain[] = [\n Chain.Bitcoin,\n Chain.BitcoinCash,\n Chain.Dogecoin,\n Chain.Litecoin,\n];\n\nexport type CosmosChain =\n | Chain.Cosmos\n | Chain.THORChain\n | Chain.Binance\n | Chain.Maya\n | Chain.Kujira;\n\nexport const CosmosChainList: CosmosChain[] = [Chain.Cosmos, Chain.THORChain, Chain.Binance];\n\nexport const TCSupportedChainList = [\n Chain.Avalanche,\n Chain.Binance,\n Chain.BinanceSmartChain,\n Chain.Bitcoin,\n Chain.BitcoinCash,\n Chain.Cosmos,\n Chain.Dogecoin,\n Chain.Ethereum,\n Chain.Litecoin,\n Chain.THORChain,\n];\n\nexport enum ChainId {\n Arbitrum = '42161',\n ArbitrumHex = '0xa4b1',\n Avalanche = '43114',\n AvalancheHex = '0xa86a',\n Binance = 'Binance-Chain-Tigris',\n BinanceSmartChain = '56',\n BinanceSmartChainHex = '0x38',\n Bitcoin = 'bitcoin',\n BitcoinCash = 'bitcoincash',\n Chainflip = 'chainflip',\n Cosmos = 'cosmoshub-4',\n Dogecoin = 'dogecoin',\n Kujira = 'kaiyo-1',\n Ethereum = '1',\n EthereumHex = '0x1',\n Litecoin = 'litecoin',\n Maya = 'mayachain-mainnet-v1',\n MayaStagenet = 'mayachain-stagenet-v1',\n Optimism = '10',\n OptimismHex = '0xa',\n Polkadot = 'polkadot',\n Polygon = '137',\n PolygonHex = '0x89',\n THORChain = 'thorchain-mainnet-v1',\n THORChainStagenet = 'thorchain-stagenet-v2',\n}\n\nexport enum RPCUrl {\n Arbitrum = 'https://arb1.arbitrum.io/rpc',\n Avalanche = 'https://node-router.thorswap.net/avalanche-c',\n Binance = '',\n BinanceSmartChain = 'https://bsc-dataseed.binance.org',\n Bitcoin = 'https://node-router.thorswap.net/bitcoin',\n BitcoinCash = 'https://node-router.thorswap.net/bitcoin-cash',\n Chainflip = 'wss://mainnet-archive.chainflip.io',\n Cosmos = 'https://node-router.thorswap.net/cosmos/rpc',\n Kujira = 'https://rpc-kujira.synergynodes.com/',\n Dogecoin = 'https://node-router.thorswap.net/dogecoin',\n Ethereum = 'https://node-router.thorswap.net/ethereum',\n Litecoin = 'https://node-router.thorswap.net/litecoin',\n Maya = 'https://tendermint.mayachain.info',\n MayaStagenet = 'https://stagenet.tendermint.mayachain.info',\n Optimism = 'https://mainnet.optimism.io',\n Polkadot = 'wss://rpc.polkadot.io',\n Polygon = 'https://polygon-rpc.com',\n THORChain = 'https://rpc.thorswap.net',\n THORChainStagenet = 'https://stagenet-rpc.ninerealms.com',\n}\n\nexport enum ApiUrl {\n Cosmos = 'https://node-router.thorswap.net/cosmos/rest',\n Kujira = 'https://lcd-kujira.synergynodes.com/',\n MayanodeMainnet = 'https://mayanode.mayachain.info',\n MayanodeStagenet = 'https://stagenet.mayanode.mayachain.info',\n ThornodeMainnet = 'https://thornode.thorswap.net',\n ThornodeStagenet = 'https://stagenet-thornode.ninerealms.com',\n ThorswapApi = 'https://api.thorswap.net',\n ThorswapStatic = 'https://static.thorswap.net',\n}\n\nconst chains = Object.values(Chain) as Chain[];\nconst chainNames = Object.keys(Chain) as ChainNameType[];\n\nconst ChainToChainName = chains.reduce(\n (acc, chain) => {\n const chainName = chainNames.find((key) => Chain[key as ChainNameType] === chain);\n\n if (chainName) acc[chain] = chainName;\n\n return acc;\n },\n {} as { [key in Chain]: ChainNameType },\n);\n\nexport const ChainToChainId = chains.reduce(\n (acc, chain) => {\n acc[chain] = ChainId[ChainToChainName[chain]];\n return acc;\n },\n {} as { [key in Chain]: ChainId },\n);\n\nexport const ChainToRPC = chains.reduce(\n (acc, chain) => {\n acc[chain] = RPCUrl[ChainToChainName[chain]];\n return acc;\n },\n {} as { [key in Chain]: RPCUrl },\n);\n\nexport const ChainToHexChainId = chains.reduce(\n (acc, chain) => {\n const chainString = `${ChainToChainName[chain]}Hex` as keyof typeof ChainId;\n\n acc[chain] = ChainId[chainString];\n return acc;\n },\n {} as { [key in Chain]: ChainId },\n);\n\nexport const ChainIdToChain: Record<ChainId, Chain> = {\n [ChainId.ArbitrumHex]: Chain.Arbitrum,\n [ChainId.Arbitrum]: Chain.Arbitrum,\n [ChainId.AvalancheHex]: Chain.Avalanche,\n [ChainId.Avalanche]: Chain.Avalanche,\n [ChainId.BinanceSmartChainHex]: Chain.BinanceSmartChain,\n [ChainId.BinanceSmartChain]: Chain.BinanceSmartChain,\n [ChainId.Binance]: Chain.Binance,\n [ChainId.BitcoinCash]: Chain.BitcoinCash,\n [ChainId.Bitcoin]: Chain.Bitcoin,\n [ChainId.Chainflip]: Chain.Chainflip,\n [ChainId.Cosmos]: Chain.Cosmos,\n [ChainId.Dogecoin]: Chain.Dogecoin,\n [ChainId.EthereumHex]: Chain.Ethereum,\n [ChainId.Kujira]: Chain.Kujira,\n [ChainId.Ethereum]: Chain.Ethereum,\n [ChainId.Litecoin]: Chain.Litecoin,\n [ChainId.MayaStagenet]: Chain.Maya,\n [ChainId.Maya]: Chain.Maya,\n [ChainId.OptimismHex]: Chain.Optimism,\n [ChainId.Optimism]: Chain.Optimism,\n [ChainId.Polkadot]: Chain.Polkadot,\n [ChainId.PolygonHex]: Chain.Polygon,\n [ChainId.Polygon]: Chain.Polygon,\n [ChainId.THORChainStagenet]: Chain.THORChain,\n [ChainId.THORChain]: Chain.THORChain,\n};\n\nexport const ChainToExplorerUrl: Record<Chain, string> = {\n [Chain.Arbitrum]: 'https://arbiscan.io',\n [Chain.Avalanche]: 'https://snowtrace.io',\n [Chain.BinanceSmartChain]: 'https://bscscan.com',\n [Chain.Binance]: 'https://explorer.binance.org',\n [Chain.BitcoinCash]: 'https://www.blockchair.com/bitcoin-cash',\n [Chain.Bitcoin]: 'https://blockchair.com/bitcoin',\n [Chain.Chainflip]: 'https://explorer.polkascan.io/polkadot',\n [Chain.Cosmos]: 'https://cosmos.bigdipper.live',\n [Chain.Dogecoin]: 'https://blockchair.com/dogecoin',\n [Chain.Kujira]: 'https://finder.kujira.network/kaiyo-1',\n [Chain.Ethereum]: 'https://etherscan.io',\n [Chain.Litecoin]: 'https://blockchair.com/litecoin',\n [Chain.Maya]: 'https://www.mayascan.org',\n [Chain.Optimism]: 'https://optimistic.etherscan.io',\n [Chain.Polkadot]: 'https://explorer.polkascan.io/polkadot',\n [Chain.Polygon]: 'https://polygonscan.com',\n [Chain.THORChain]: 'https://runescan.io',\n};\n","export type GetAddressAndPubKeyResponse = {\n bech32_address: string;\n compressed_pk: any;\n error_message: string;\n return_code: number;\n};\n\nexport type Signature = {\n pub_key: {\n type: string;\n value: string;\n };\n sequence: string;\n signature: string;\n};\n\nexport enum MemoType {\n BOND = 'BOND',\n DEPOSIT = '+',\n LEAVE = 'LEAVE',\n THORNAME_REGISTER = '~',\n UNBOND = 'UNBOND',\n WITHDRAW = '-',\n OPEN_LOAN = '$+',\n CLOSE_LOAN = '$-',\n}\n","export enum FeeOption {\n Average = 'average',\n Fast = 'fast',\n Fastest = 'fastest',\n}\n\nexport type WalletTxParams = {\n feeOptionKey?: FeeOption;\n from?: string;\n memo?: string; // optional memo to pass\n recipient: string;\n};\n\nexport type EVMTxBaseParams<T = bigint> = {\n to?: string;\n from?: string;\n nonce?: number;\n gasLimit?: T;\n data?: string;\n value?: T;\n chainId?: T;\n};\n","export enum WalletOption {\n 'KEYSTORE' = 'KEYSTORE',\n 'KEEPKEY' = 'KEEPKEY',\n 'XDEFI' = 'XDEFI',\n 'METAMASK' = 'METAMASK',\n 'COINBASE_WEB' = 'COINBASE_WEB',\n 'TREZOR' = 'TREZOR',\n 'TRUSTWALLET_WEB' = 'TRUSTWALLET_WEB',\n 'LEDGER' = 'LEDGER',\n 'KEPLR' = 'KEPLR',\n 'OKX' = 'OKX',\n 'OKX_MOBILE' = 'OKX_MOBILE',\n 'BRAVE' = 'BRAVE',\n 'WALLETCONNECT' = 'WALLETCONNECT',\n}\n\nexport type EVMWalletOptions =\n | WalletOption.BRAVE\n | WalletOption.OKX_MOBILE\n | WalletOption.METAMASK\n | WalletOption.TRUSTWALLET_WEB\n | WalletOption.COINBASE_WEB;\n\nexport enum LedgerErrorCode {\n NoError = 0x9000,\n LockedDevice = 0x5515,\n TC_NotFound = 65535,\n}\n"],"names":["erc20ABI","TCEthereumVaultAbi","TCAvalancheDepositABI","TCBscDepositABI","QuoteMode","AGG_SWAP","SWAP_IN","SWAP_OUT","ERROR_TYPE","ERROR_MODULE","ERROR_CODE","ERROR_DISPLAY_MESSAGES","getDisplayMessage","code","displayMessageParams","displayMessage","ApiError","status","revision","module","message","type","shouldLog","shouldThrow","shouldTrace","safeMessage","__publicField","errorInfo","Chain","ContractAddress","DerivationPath","NetworkDerivationPath","BaseDecimal","SubstrateChainList","EVMChainList","UTXOChainList","CosmosChainList","TCSupportedChainList","ChainId","RPCUrl","ApiUrl","chains","chainNames","ChainToChainName","acc","chain","chainName","key","ChainToChainId","ChainToRPC","ChainToHexChainId","chainString","ChainIdToChain","ChainToExplorerUrl","MemoType","FeeOption","WalletOption","LedgerErrorCode"],"mappings":"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"}
|
package/package.json
CHANGED
package/src/chainflip.ts
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export type GetAddressAndPubKeyResponse = {
|
|
2
|
+
bech32_address: string;
|
|
3
|
+
compressed_pk: any;
|
|
4
|
+
error_message: string;
|
|
5
|
+
return_code: number;
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
export type Signature = {
|
|
9
|
+
pub_key: {
|
|
10
|
+
type: string;
|
|
11
|
+
value: string;
|
|
12
|
+
};
|
|
13
|
+
sequence: string;
|
|
14
|
+
signature: string;
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export enum ErrorCode {
|
|
18
|
+
NoError = 0x9000,
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export enum MemoType {
|
|
22
|
+
BOND = 'BOND',
|
|
23
|
+
DEPOSIT = '+',
|
|
24
|
+
LEAVE = 'LEAVE',
|
|
25
|
+
THORNAME_REGISTER = '~',
|
|
26
|
+
UNBOND = 'UNBOND',
|
|
27
|
+
WITHDRAW = '-',
|
|
28
|
+
OPEN_LOAN = '$+',
|
|
29
|
+
CLOSE_LOAN = '$-',
|
|
30
|
+
}
|
|
@@ -18,7 +18,7 @@ export const ERROR_DISPLAY_MESSAGES: Record<string, string> = {
|
|
|
18
18
|
[ERROR_CODE.MISSING_SOURCE_ADDRESS_FOR_SYNTH]: 'Source address is required for synth quote.',
|
|
19
19
|
[ERROR_CODE.AFF_ADDRESS_AND_BPS_OR_NEITHER]:
|
|
20
20
|
'Must provide affiliateAddress and affiliateBasisPoints params, or neither.',
|
|
21
|
-
[ERROR_CODE.AFF_ADDRESS_TOO_LONG]: 'affiliateAddress too long:
|
|
21
|
+
[ERROR_CODE.AFF_ADDRESS_TOO_LONG]: 'affiliateAddress too long: 4 characters max.',
|
|
22
22
|
[ERROR_CODE.AFF_BPS_INTEGER_MAX_500]:
|
|
23
23
|
'affiliateBasisPoints must be an integer between 0 and 100.',
|
|
24
24
|
[ERROR_CODE.SOURCE_ADDRESS_INVALID_FOR_SELL_CHAIN]: 'Source address {0} invalid for sell chain.',
|
|
@@ -26,6 +26,7 @@ export const ERROR_DISPLAY_MESSAGES: Record<string, string> = {
|
|
|
26
26
|
'Destination address {0} invalid for buy chain.',
|
|
27
27
|
[ERROR_CODE.PREFERRED_PROVIDER_NOT_SUPPORTED]: 'Preferred provider not supported.',
|
|
28
28
|
[ERROR_CODE.SOURCE_ADDRESS_SMART_CONTRACT]: 'Source address is a smart contract.',
|
|
29
|
+
[ERROR_CODE.SWAP_AMOUNT_TOO_LOW]: 'Swap amount too low for this pair.',
|
|
29
30
|
[ERROR_CODE.DESTINATION_ADDRESS_SMART_CONTRACT]: 'Destination address is a smart contract.',
|
|
30
31
|
[ERROR_CODE.BUY_AMOUNT_MUST_BE_POSITIVE_INTEGER]: 'Buy amount must be a positive integer.',
|
|
31
32
|
[ERROR_CODE.INVALID_PROVIDER]: 'Invalid provider {0}.',
|
package/src/errors/types.ts
CHANGED
|
@@ -83,6 +83,7 @@ export enum ERROR_CODE {
|
|
|
83
83
|
DESTINATION_ADDRESS_SMART_CONTRACT = '2009',
|
|
84
84
|
BUY_AMOUNT_MUST_BE_POSITIVE_INTEGER = '2010',
|
|
85
85
|
SOURCE_ADDRESS_SMART_CONTRACT = '2011',
|
|
86
|
+
SWAP_AMOUNT_TOO_LOW = '2012',
|
|
86
87
|
// 21xx - Quote request providers issue
|
|
87
88
|
INVALID_PROVIDER = '2100',
|
|
88
89
|
MISSING_CROSS_CHAIN_PROVIDER = '2101',
|
package/src/network.ts
CHANGED
|
@@ -12,6 +12,8 @@ export enum Chain {
|
|
|
12
12
|
Litecoin = 'LTC',
|
|
13
13
|
Maya = 'MAYA',
|
|
14
14
|
Optimism = 'OP',
|
|
15
|
+
Polkadot = 'DOT',
|
|
16
|
+
Chainflip = 'FLIP',
|
|
15
17
|
Polygon = 'MATIC',
|
|
16
18
|
THORChain = 'THOR',
|
|
17
19
|
}
|
|
@@ -34,7 +36,9 @@ export enum DerivationPath {
|
|
|
34
36
|
BSC = "m/44'/60'/0'/0",
|
|
35
37
|
BTC = "m/84'/0'/0'/0",
|
|
36
38
|
DOGE = "m/44'/3'/0'/0",
|
|
39
|
+
DOT = '////',
|
|
37
40
|
ETH = "m/44'/60'/0'/0",
|
|
41
|
+
FLIP = '////',
|
|
38
42
|
GAIA = "m/44'/118'/0'/0",
|
|
39
43
|
KUJI = "m/44'/118'/0'/0",
|
|
40
44
|
LTC = "m/84'/2'/0'/0",
|
|
@@ -62,6 +66,9 @@ export const NetworkDerivationPath: Record<Chain, DerivationPathArray> = {
|
|
|
62
66
|
MAYA: [44, 931, 0, 0, 0],
|
|
63
67
|
OP: [44, 60, 0, 0, 0],
|
|
64
68
|
THOR: [44, 931, 0, 0, 0],
|
|
69
|
+
// Polkadot and related network derivation path is not number based
|
|
70
|
+
DOT: [0, 0, 0, 0, 0],
|
|
71
|
+
FLIP: [0, 0, 0, 0, 0],
|
|
65
72
|
};
|
|
66
73
|
|
|
67
74
|
export enum BaseDecimal {
|
|
@@ -73,7 +80,9 @@ export enum BaseDecimal {
|
|
|
73
80
|
BTC = 8,
|
|
74
81
|
DASH = 8,
|
|
75
82
|
DOGE = 8,
|
|
83
|
+
DOT = 10,
|
|
76
84
|
ETH = 18,
|
|
85
|
+
FLIP = 18,
|
|
77
86
|
GAIA = 6,
|
|
78
87
|
KUJI = 6,
|
|
79
88
|
LTC = 8,
|
|
@@ -83,6 +92,10 @@ export enum BaseDecimal {
|
|
|
83
92
|
THOR = 8,
|
|
84
93
|
}
|
|
85
94
|
|
|
95
|
+
export type SubstrateChain = Chain.Polkadot | Chain.Chainflip;
|
|
96
|
+
|
|
97
|
+
export const SubstrateChainList: SubstrateChain[] = [Chain.Polkadot, Chain.Chainflip];
|
|
98
|
+
|
|
86
99
|
export type EVMChain =
|
|
87
100
|
| Chain.Ethereum
|
|
88
101
|
| Chain.Avalanche
|
|
@@ -141,6 +154,7 @@ export enum ChainId {
|
|
|
141
154
|
BinanceSmartChainHex = '0x38',
|
|
142
155
|
Bitcoin = 'bitcoin',
|
|
143
156
|
BitcoinCash = 'bitcoincash',
|
|
157
|
+
Chainflip = 'chainflip',
|
|
144
158
|
Cosmos = 'cosmoshub-4',
|
|
145
159
|
Dogecoin = 'dogecoin',
|
|
146
160
|
Kujira = 'kaiyo-1',
|
|
@@ -151,6 +165,7 @@ export enum ChainId {
|
|
|
151
165
|
MayaStagenet = 'mayachain-stagenet-v1',
|
|
152
166
|
Optimism = '10',
|
|
153
167
|
OptimismHex = '0xa',
|
|
168
|
+
Polkadot = 'polkadot',
|
|
154
169
|
Polygon = '137',
|
|
155
170
|
PolygonHex = '0x89',
|
|
156
171
|
THORChain = 'thorchain-mainnet-v1',
|
|
@@ -164,6 +179,7 @@ export enum RPCUrl {
|
|
|
164
179
|
BinanceSmartChain = 'https://bsc-dataseed.binance.org',
|
|
165
180
|
Bitcoin = 'https://node-router.thorswap.net/bitcoin',
|
|
166
181
|
BitcoinCash = 'https://node-router.thorswap.net/bitcoin-cash',
|
|
182
|
+
Chainflip = 'wss://mainnet-archive.chainflip.io',
|
|
167
183
|
Cosmos = 'https://node-router.thorswap.net/cosmos/rpc',
|
|
168
184
|
Kujira = 'https://rpc-kujira.synergynodes.com/',
|
|
169
185
|
Dogecoin = 'https://node-router.thorswap.net/dogecoin',
|
|
@@ -172,6 +188,7 @@ export enum RPCUrl {
|
|
|
172
188
|
Maya = 'https://tendermint.mayachain.info',
|
|
173
189
|
MayaStagenet = 'https://stagenet.tendermint.mayachain.info',
|
|
174
190
|
Optimism = 'https://mainnet.optimism.io',
|
|
191
|
+
Polkadot = 'wss://rpc.polkadot.io',
|
|
175
192
|
Polygon = 'https://polygon-rpc.com',
|
|
176
193
|
THORChain = 'https://rpc.thorswap.net',
|
|
177
194
|
THORChainStagenet = 'https://stagenet-rpc.ninerealms.com',
|
|
@@ -238,6 +255,7 @@ export const ChainIdToChain: Record<ChainId, Chain> = {
|
|
|
238
255
|
[ChainId.Binance]: Chain.Binance,
|
|
239
256
|
[ChainId.BitcoinCash]: Chain.BitcoinCash,
|
|
240
257
|
[ChainId.Bitcoin]: Chain.Bitcoin,
|
|
258
|
+
[ChainId.Chainflip]: Chain.Chainflip,
|
|
241
259
|
[ChainId.Cosmos]: Chain.Cosmos,
|
|
242
260
|
[ChainId.Dogecoin]: Chain.Dogecoin,
|
|
243
261
|
[ChainId.EthereumHex]: Chain.Ethereum,
|
|
@@ -248,6 +266,7 @@ export const ChainIdToChain: Record<ChainId, Chain> = {
|
|
|
248
266
|
[ChainId.Maya]: Chain.Maya,
|
|
249
267
|
[ChainId.OptimismHex]: Chain.Optimism,
|
|
250
268
|
[ChainId.Optimism]: Chain.Optimism,
|
|
269
|
+
[ChainId.Polkadot]: Chain.Polkadot,
|
|
251
270
|
[ChainId.PolygonHex]: Chain.Polygon,
|
|
252
271
|
[ChainId.Polygon]: Chain.Polygon,
|
|
253
272
|
[ChainId.THORChainStagenet]: Chain.THORChain,
|
|
@@ -261,6 +280,7 @@ export const ChainToExplorerUrl: Record<Chain, string> = {
|
|
|
261
280
|
[Chain.Binance]: 'https://explorer.binance.org',
|
|
262
281
|
[Chain.BitcoinCash]: 'https://www.blockchair.com/bitcoin-cash',
|
|
263
282
|
[Chain.Bitcoin]: 'https://blockchair.com/bitcoin',
|
|
283
|
+
[Chain.Chainflip]: 'https://explorer.polkascan.io/polkadot',
|
|
264
284
|
[Chain.Cosmos]: 'https://cosmos.bigdipper.live',
|
|
265
285
|
[Chain.Dogecoin]: 'https://blockchair.com/dogecoin',
|
|
266
286
|
[Chain.Kujira]: 'https://finder.kujira.network/kaiyo-1',
|
|
@@ -268,6 +288,7 @@ export const ChainToExplorerUrl: Record<Chain, string> = {
|
|
|
268
288
|
[Chain.Litecoin]: 'https://blockchair.com/litecoin',
|
|
269
289
|
[Chain.Maya]: 'https://www.mayascan.org',
|
|
270
290
|
[Chain.Optimism]: 'https://optimistic.etherscan.io',
|
|
291
|
+
[Chain.Polkadot]: 'https://explorer.polkascan.io/polkadot',
|
|
271
292
|
[Chain.Polygon]: 'https://polygonscan.com',
|
|
272
293
|
[Chain.THORChain]: 'https://runescan.io',
|
|
273
294
|
};
|