@swapkit/types 1.0.0-rc.36 → 1.0.0-rc.37
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 +39 -7
- package/dist/index.es.js +73 -65
- package/dist/index.es.js.map +1 -1
- package/package.json +1 -1
- package/src/network.ts +45 -9
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","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":"wPAAO,MAAMA,EAAW,CACtB,CAAE,OAAQ,CAAA,EAAI,gBAAiB,aAAc,KAAM,aAAc,EACjE,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EACzE,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,EAC3E,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,CAC5E,EACA,KAAM,WACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,OAAQ,KAAM,SAAU,EACxE,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACtE,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,CAC5E,EACA,KAAM,WACN,KAAM,OACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,EACrD,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,SAAU,CACvD,EACA,KAAM,YACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,UAAW,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,UAAW,KAAM,SAAU,EAC5D,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,CAC5D,EACA,KAAM,UACN,QAAS,CAAC,CAAE,aAAc,OAAQ,KAAM,UAAW,KAAM,OAAQ,EACjE,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,UAAW,EAC/D,KAAM,YACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,UAAW,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,WACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,UAAW,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,OACN,QAAS,CAAC,CAAE,aAAc,SAAU,KAAM,GAAI,KAAM,SAAU,EAC9D,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,SACN,QAAS,CAAC,CAAE,aAAc,SAAU,KAAM,GAAI,KAAM,SAAU,EAC9D,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,cACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,UAAW,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,CAC5D,EACA,KAAM,WACN,QAAS,CAAC,CAAE,aAAc,OAAQ,KAAM,UAAW,KAAM,OAAQ,EACjE,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,OAAQ,KAAM,SAAU,EACzD,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,CAC5D,EACA,KAAM,eACN,QAAS,CAAC,CAAE,aAAc,OAAQ,KAAM,UAAW,KAAM,OAAQ,EACjE,gBAAiB,aACjB,KAAM,UACR,CACF,EClGaC,EAAqB,CAChC,CACE,OAAQ,CAAC,CAAE,aAAc,UAAW,KAAM,OAAQ,KAAM,UAAW,EACnE,gBAAiB,aACjB,KAAM,aACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACtE,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EACzE,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3E,CAAE,QAAS,GAAO,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzE,EACA,KAAM,UACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC5E,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC5E,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1E,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3E,CAAE,QAAS,GAAO,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzE,EACA,KAAM,oBACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EACzE,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACtE,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1E,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3E,CAAE,QAAS,GAAO,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzE,EACA,KAAM,cACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EACzE,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3E,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3E,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,EAC/E,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvE,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjF,CAAE,QAAS,GAAO,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzE,EACA,KAAM,qBACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC5E,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC5E,CACE,WAAY,CACV,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,CAC7D,EACA,QAAS,GACT,aAAc,iCACd,KAAM,QACN,KAAM,SACR,EACA,CAAE,QAAS,GAAO,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzE,EACA,KAAM,gBACN,KAAM,OACR,EACA,CACE,OAAQ,CAAC,EACT,KAAM,OACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,GAAI,KAAM,UAAW,EAChE,gBAAiB,OACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,kBAAmB,KAAM,QAAS,KAAM,SAAU,EAClE,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzD,EACA,KAAM,UACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,kBAAmB,KAAM,QAAS,KAAM,SAAU,EAClE,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,EACvD,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,CACjE,EACA,KAAM,oBACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,kBAAmB,KAAM,SAAU,KAAM,SAAU,EACnE,CACE,WAAY,CACV,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,CAC7D,EACA,aAAc,iCACd,KAAM,QACN,KAAM,SACR,EACA,CAAE,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzD,EACA,KAAM,oBACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzD,EACA,KAAM,oBACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,kBAAmB,KAAM,KAAM,KAAM,SAAU,EAC/D,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzD,EACA,KAAM,cACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,kBAAmB,KAAM,aAAc,KAAM,SAAU,EACvE,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,EAC/D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzD,EACA,KAAM,qBACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,CAC5D,EACA,KAAM,iBACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,UAAW,EACtE,gBAAiB,OACjB,KAAM,UACR,CACF,EAEaC,EAAwB,CACnC,CAAE,OAAQ,CAAA,EAAI,gBAAiB,aAAc,KAAM,aAAc,EACjE,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACtE,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EACzE,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3E,CAAE,QAAS,GAAO,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzE,EACA,KAAM,UACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC5E,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC5E,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1E,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3E,CAAE,QAAS,GAAO,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzE,EACA,KAAM,oBACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EACzE,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACtE,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1E,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3E,CAAE,QAAS,GAAO,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzE,EACA,KAAM,cACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EACzE,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3E,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3E,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,EAC/E,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvE,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjF,CAAE,QAAS,GAAO,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzE,EACA,KAAM,qBACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC5E,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC5E,CACE,WAAY,CACV,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,CAC7D,EACA,QAAS,GACT,aAAc,2BACd,KAAM,QACN,KAAM,SACR,EACA,CAAE,QAAS,GAAO,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzE,EACA,KAAM,gBACN,KAAM,OACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,kBAAmB,KAAM,QAAS,KAAM,SAAU,EAClE,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzD,EACA,KAAM,UACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,kBAAmB,KAAM,QAAS,KAAM,SAAU,EAClE,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,EACvD,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,CACjE,EACA,KAAM,oBACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,kBAAmB,KAAM,SAAU,KAAM,SAAU,EACnE,CACE,WAAY,CACV,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,CAC7D,EACA,aAAc,2BACd,KAAM,QACN,KAAM,SACR,EACA,CAAE,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzD,EACA,KAAM,oBACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzD,EACA,KAAM,oBACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,kBAAmB,KAAM,KAAM,KAAM,SAAU,EAC/D,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzD,EACA,KAAM,cACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,kBAAmB,KAAM,SAAU,KAAM,SAAU,EACnE,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,EAC/D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzD,EACA,KAAM,qBACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,CAC5D,EACA,KAAM,iBACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,UAAW,EACtE,gBAAiB,OACjB,KAAM,UACR,CACF,EAEaC,EAAkB,CAC7B,CAAE,OAAQ,CAAA,EAAI,gBAAiB,aAAc,KAAM,aAAc,EACjE,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACtE,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EACzE,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3E,CAAE,QAAS,GAAO,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzE,EACA,KAAM,UACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC5E,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC5E,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1E,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3E,CAAE,QAAS,GAAO,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzE,EACA,KAAM,oBACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EACzE,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACtE,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1E,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3E,CAAE,QAAS,GAAO,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzE,EACA,KAAM,cACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EACzE,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3E,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3E,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,EAC/E,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvE,CAAE,QAAS,GAAO,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjF,CAAE,QAAS,GAAO,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzE,EACA,KAAM,qBACN,KAAM,OACR,EACA,CACE,UAAW,GACX,OAAQ,CACN,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC5E,CAAE,QAAS,GAAM,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC5E,CACE,WAAY,CACV,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,CAC7D,EACA,QAAS,GACT,aAAc,iCACd,KAAM,QACN,KAAM,SACR,EACA,CAAE,QAAS,GAAO,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzE,EACA,KAAM,gBACN,KAAM,OACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,kBAAmB,KAAM,QAAS,KAAM,SAAU,EAClE,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,EACvD,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,CACjE,EACA,KAAM,oBACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,kBAAmB,KAAM,SAAU,KAAM,SAAU,EACnE,CACE,WAAY,CACV,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,CAC7D,EACA,aAAc,iCACd,KAAM,QACN,KAAM,SACR,EACA,CAAE,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzD,EACA,KAAM,oBACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,UAAW,KAAM,WAAY,KAAM,SAAU,EAC7D,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzD,EACA,KAAM,oBACN,QAAS,CAAC,EACV,gBAAiB,aACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,kBAAmB,KAAM,KAAM,KAAM,SAAU,EAC/D,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,SAAU,EAC3D,CAAE,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzD,EACA,KAAM,cACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,kBAAmB,KAAM,SAAU,KAAM,SAAU,EACnE,CAAE,aAAc,UAAW,KAAM,aAAc,KAAM,SAAU,EAC/D,CAAE,aAAc,UAAW,KAAM,KAAM,KAAM,SAAU,EACvD,CAAE,aAAc,UAAW,KAAM,eAAgB,KAAM,SAAU,EACjE,CAAE,aAAc,SAAU,KAAM,OAAQ,KAAM,QAAS,CACzD,EACA,KAAM,qBACN,QAAS,CAAC,EACV,gBAAiB,UACjB,KAAM,UACR,EACA,CACE,OAAQ,CACN,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,EAC1D,CAAE,aAAc,UAAW,KAAM,QAAS,KAAM,SAAU,CAC5D,EACA,KAAM,iBACN,QAAS,CAAC,CAAE,aAAc,UAAW,KAAM,SAAU,KAAM,UAAW,EACtE,gBAAiB,OACjB,KAAM,UACR,CACF,ECzYY,IAAAC,GAAAA,IACVA,EAAA,6BAA+B,QAC/BA,EAAA,oBAAsB,WACtBA,EAAA,qBAAuB,WACvBA,EAAA,oBAAsB,WACtBA,EAAA,oBAAsB,WACtBA,EAAA,WAAa,cACbA,EAAA,YAAc,cACdA,EAAA,WAAa,cACbA,EAAA,qBAAuB,WACvBA,EAAA,YAAc,cACdA,EAAA,aAAe,cACfA,EAAA,YAAc,cACdA,EAAA,oBAAsB,WACtBA,EAAA,WAAa,cACbA,EAAA,YAAc,cACdA,EAAA,WAAa,cAhBHA,IAAAA,GAAA,CAAA,CAAA,EA0BL,MAAMC,EAAW,CAAC,cAAsB,cAAwB,aAAoB,EAE9EC,EAAU,CACrB,WACA,cACA,cACA,WACA,cACA,cACA,WACA,cACA,aACF,EAEaC,EAAW,CACtB,QACA,WACA,WACA,UACF,ECnJY,IAAAC,GAAAA,IACVA,EAAA,iBAAmB,mBACnBA,EAAA,wBAA0B,0BAC1BA,EAAA,uBAAyB,yBACzBA,EAAA,YAAc,cACdA,EAAA,gBAAkB,kBAClBA,EAAA,+BAAiC,iCACjCA,EAAA,oBAAsB,sBACtBA,EAAA,qBAAuB,uBACvBA,EAAA,qBAAuB,uBACvBA,EAAA,qBAAuB,uBACvBA,EAAA,cAAgB,gBAChBA,EAAA,gBAAkB,kBAZRA,IAAAA,GAAA,CAAA,CAAA,EAeAC,GAAAA,IAEVA,EAAA,kBAAoB,OACpBA,EAAA,qBAAuB,OACvBA,EAAA,oBAAsB,OACtBA,EAAA,iBAAmB,OACnBA,EAAA,gBAAkB,OAClBA,EAAA,gBAAkB,OAClBA,EAAA,mBAAqB,OAErBA,EAAA,SAAW,OACXA,EAAA,MAAQ,OACRA,EAAA,WAAa,OAEbA,EAAA,MAAQ,OACRA,EAAA,kBAAoB,OAEpBA,EAAA,mBAAqB,OACrBA,EAAA,uBAAyB,OACzBA,EAAA,uBAAyB,OACzBA,EAAA,uBAAyB,OACzBA,EAAA,yBAA2B,OAC3BA,EAAA,yBAA2B,OAC3BA,EAAA,qBAAuB,OACvBA,EAAA,qBAAuB,OACvBA,EAAA,sBAAwB,OACxBA,EAAA,mBAAqB,OACrBA,EAAA,oBAAsB,OACtBA,EAAA,uBAAyB,OACzBA,EAAA,wBAA0B,OAC1BA,EAAA,mBAAqB,OACrBA,EAAA,oBAAsB,OACtBA,EAAA,mBAAqB,OACrBA,EAAA,kBAAoB,OAEpBA,EAAA,cAAgB,OAEhBA,EAAA,YAAc,OAEdA,EAAA,aAAe,OAvCLA,IAAAA,GAAA,CAAA,CAAA,EA0CAC,GAAAA,IAEVA,EAAA,yBAA2B,OAC3BA,EAAA,kBAAoB,OACpBA,EAAA,4BAA8B,OAC9BA,EAAA,qBAAuB,OACvBA,EAAA,4BAA8B,OAC9BA,EAAA,wBAA0B,OAE1BA,EAAA,qBAAuB,OACvBA,EAAA,sBAAwB,OACxBA,EAAA,eAAiB,OACjBA,EAAA,gBAAkB,OAClBA,EAAA,eAAiB,OACjBA,EAAA,cAAgB,OAEhBA,EAAA,qCAAuC,OACvCA,EAAA,6BAA+B,OAC/BA,EAAA,iCAAmC,OACnCA,EAAA,+BAAiC,OACjCA,EAAA,qBAAuB,OACvBA,EAAA,wBAA0B,OAC1BA,EAAA,sCAAwC,OACxCA,EAAA,0CAA4C,OAC5CA,EAAA,iCAAmC,OACnCA,EAAA,mCAAqC,OACrCA,EAAA,oCAAsC,OACtCA,EAAA,8BAAgC,OAChCA,EAAA,oBAAsB,OAEtBA,EAAA,iBAAmB,OACnBA,EAAA,6BAA+B,OAC/BA,EAAA,sBAAwB,OACxBA,EAAA,qBAAuB,OACvBA,EAAA,qBAAuB,OACvBA,EAAA,8BAAgC,OAChCA,EAAA,qBAAuB,OAEvBA,EAAA,cAAgB,OAChBA,EAAA,cAAgB,OAChBA,EAAA,yBAA2B,OAC3BA,EAAA,kBAAoB,OACpBA,EAAA,kBAAoB,OACpBA,EAAA,8BAAgC,OAEhCA,EAAA,uBAAyB,OACzBA,EAAA,4BAA8B,OAE9BA,EAAA,6BAA+B,OAC/BA,EAAA,yBAA2B,OAC3BA,EAAA,0BAA4B,OAE5BA,EAAA,mBAAqB,OACrBA,EAAA,UAAY,OAEZA,EAAA,4BAA8B,OAE9BA,EAAA,yBAA2B,OAE3BA,EAAA,2BAA6B,OAC7BA,EAAA,qBAAuB,OACvBA,EAAA,SAAW,OACXA,EAAA,eAAiB,OAEjBA,EAAA,wBAA0B,OAC1BA,EAAA,wBAA0B,OAE1BA,EAAA,gBAAkB,OAnERA,IAAAA,GAAA,CAAA,CAAA,ECvDL,MAAMC,EAAiD,CAC5D,CAACD,EAAW,wBAAwB,EAAG,iCACvC,CAACA,EAAW,iBAAiB,EAAG,0BAChC,CAACA,EAAW,2BAA2B,EAAG,+BAC1C,CAACA,EAAW,oBAAoB,EAAG,wBACnC,CAACA,EAAW,2BAA2B,EAAG,mCAC1C,CAACA,EAAW,uBAAuB,EAAG,gCACtC,CAACA,EAAW,oBAAoB,EAAG,eACnC,CAACA,EAAW,qBAAqB,EAAG,yBACpC,CAACA,EAAW,cAAc,EAAG,kBAC7B,CAACA,EAAW,eAAe,EAAG,mBAC9B,CAACA,EAAW,cAAc,EAAG,kBAC7B,CAACA,EAAW,aAAa,EAAG,iBAC5B,CAACA,EAAW,oCAAoC,EAAG,0CACnD,CAACA,EAAW,4BAA4B,EAAG,oCAC3C,CAACA,EAAW,gCAAgC,EAAG,8CAC/C,CAACA,EAAW,8BAA8B,EACxC,6EACF,CAACA,EAAW,oBAAoB,EAAG,+CACnC,CAACA,EAAW,uBAAuB,EACjC,6DACF,CAACA,EAAW,qCAAqC,EAAG,6CACpD,CAACA,EAAW,yCAAyC,EACnD,iDACF,CAACA,EAAW,gCAAgC,EAAG,oCAC/C,CAACA,EAAW,6BAA6B,EAAG,sCAC5C,CAACA,EAAW,mBAAmB,EAAG,qCAClC,CAACA,EAAW,kCAAkC,EAAG,2CACjD,CAACA,EAAW,mCAAmC,EAAG,yCAClD,CAACA,EAAW,gBAAgB,EAAG,wBAC/B,CAACA,EAAW,4BAA4B,EAAG,gCAC3C,CAACA,EAAW,qBAAqB,EAAG,yBACpC,CAACA,EAAW,oBAAoB,EAAG,wBACnC,CAACA,EAAW,oBAAoB,EAAG,wBACnC,CAACA,EAAW,oBAAoB,EAAG,wBACnC,CAACA,EAAW,6BAA6B,EAAG,iCAC5C,CAACA,EAAW,aAAa,EAAG,qBAC5B,CAACA,EAAW,aAAa,EAAG,qBAC5B,CAACA,EAAW,iBAAiB,EAAG,yBAChC,CAACA,EAAW,iBAAiB,EAAG,yBAChC,CAACA,EAAW,6BAA6B,EAAG,sCAC5C,CAACA,EAAW,4BAA4B,EAAG,gCAC3C,CAACA,EAAW,sBAAsB,EAAG,6BACrC,CAACA,EAAW,2BAA2B,EAAG,kCAC1C,CAACA,EAAW,wBAAwB,EAClC,mEACF,CAACA,EAAW,yBAAyB,EAAG,6BACxC,CAACA,EAAW,kBAAkB,EAAG,sBACjC,CAACA,EAAW,SAAS,EAAG,qCACxB,CAACA,EAAW,2BAA2B,EAAG,uBAC1C,CAACA,EAAW,wBAAwB,EAAG,oBACvC,CAACA,EAAW,0BAA0B,EAAG,sBACzC,CAACA,EAAW,oBAAoB,EAAG,4BACnC,CAACA,EAAW,QAAQ,EAAG,0BACvB,CAACA,EAAW,cAAc,EAAG,gCAC7B,CAACA,EAAW,uBAAuB,EAAG,2CACtC,CAACA,EAAW,uBAAuB,EAAG,0CACxC,EAEaE,EAAoB,CAACC,EAAkBC,IAAmC,CACjF,IAAAC,EAAiBJ,EAAuBE,CAAI,EAEhD,GAAI,CAACE,EAAuB,MAAA,GAE5B,QAAS,EAAI,EAAG,EAAID,EAAqB,OAAQ,IAC9BC,GAAAA,GAAA,YAAAA,EAAgB,QAAQ,IAAI,CAAC,IAAKD,EAAqB,CAAC,KAAM,GAG1E,OAAAC,CACT,ECnEO,MAAMC,UAAiB,KAAM,CAYlC,YAAY,CACV,OAAAC,EACA,SAAAC,EACA,OAAAC,EACA,KAAAN,EACA,QAAAO,EACA,KAAAC,EACA,QAAS,CAAE,UAAAC,EAAW,YAAAC,EAAa,YAAAC,GAAgB,CACjD,UAAW,GACX,YAAa,GACb,YAAa,EACf,EACA,qBAAAV,CAAA,EACY,CACZ,MAAMW,EAAcL,GAAWR,EAAkBC,EAAMC,GAAwB,CAAA,CAAE,GAAK,GACtF,MAAMW,CAAW,EA1BHC,EAAA,eACAA,EAAA,iBACAA,EAAA,aACAA,EAAA,eACAA,EAAA,aACAA,EAAA,gBACAA,EAAA,gBACAA,EAAA,cACAA,EAAA,gBACAA,EAAA,6BAmBd,KAAK,OAAST,EACd,KAAK,SAAWC,GAAY,cAC5B,KAAK,OAASC,EACd,KAAK,QAAUM,EACf,KAAK,QAAUb,EAAkBC,EAAMC,GAAwB,CAAE,CAAA,EACjE,KAAK,KAAOD,EACP,KAAA,KAAOQ,GAAQb,EAAW,gBAC/B,KAAK,QAAU,CACb,UAAWc,GAAa,GACxB,YAAaE,GAAe,GAC5B,YAAaD,GAAe,EAAA,EAEzB,KAAA,qBAAuBT,GAAwB,GAEhD,KAAK,QAAQ,aAAa,MAAM,kBAAkB,IAAI,CAC5D,CAEA,OAAc,cAAca,EAAgC,CACnD,OAAA,IAAIX,EAASW,CAAS,CAC/B,CAEO,aAAyB,CAC9B,MAAO,CAAE,GAAG,KAAM,WAAY,KAAK,UAAW,CAChD,CAEA,IAAW,YAAqB,CAC9B,MAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,MAAQ,SAAS,IAAI,KAAK,MAAM,IAAI,KAAK,IAAI,EAC/E,CAEA,IAAW,gBAAyB,CAClC,OAAOf,EAAkB,KAAK,KAAM,KAAK,sBAAwB,CAAA,CAAE,CACrE,CAEO,QAAS,CACd,MAAMQ,EAAU,IAAI,KAAK,UAAU,MAAM,KAAK,OAAO,GAGrD,GADI,KAAK,QAAQ,WAAW,QAAQ,MAAMA,EAAS;AAAA,EAAM,KAAK,OAAS,EAAE,EACrE,KAAK,QAAQ,YAAa,MAAM,MAAMA,EAAS,CAAE,MAAO,KAAK,MAAO,EAExE,OAAO,KAAK,aACd,CACF,CC1EY,IAAAQ,GAAAA,IACVA,EAAA,SAAW,MACXA,EAAA,UAAY,OACZA,EAAA,QAAU,MACVA,EAAA,kBAAoB,MACpBA,EAAA,QAAU,MACVA,EAAA,YAAc,MACdA,EAAA,OAAS,OACTA,EAAA,SAAW,OACXA,EAAA,SAAW,MACXA,EAAA,OAAS,OACTA,EAAA,SAAW,MACXA,EAAA,KAAO,OACPA,EAAA,SAAW,KACXA,EAAA,SAAW,MACXA,EAAA,UAAY,OACZA,EAAA,QAAU,QACVA,EAAA,UAAY,OAjBFA,IAAAA,GAAA,CAAA,CAAA,EAqBAC,GAAAA,IACVA,EAAA,IAAM,6CACNA,EAAA,KAAO,6CACPA,EAAA,IAAM,6CACNA,EAAA,IAAM,6CACNA,EAAA,MAAQ,6CACRA,EAAA,GAAK,6CANKA,IAAAA,GAAA,CAAA,CAAA,EASAC,GAAAA,IACVA,EAAA,IAAM,iBACNA,EAAA,KAAO,iBACPA,EAAA,IAAM,kBACNA,EAAA,IAAM,kBACNA,EAAA,IAAM,iBACNA,EAAA,IAAM,gBACNA,EAAA,KAAO,gBACPA,EAAA,IAAM,OACNA,EAAA,IAAM,iBACNA,EAAA,KAAO,OACPA,EAAA,KAAO,kBACPA,EAAA,KAAO,kBACPA,EAAA,IAAM,gBACNA,EAAA,MAAQ,iBACRA,EAAA,KAAO,kBACPA,EAAA,GAAK,iBACLA,EAAA,KAAO,kBAjBGA,IAAAA,GAAA,CAAA,CAAA,EAsBL,MAAMC,EAA4D,CACvE,IAAK,CAAC,GAAI,GAAI,EAAG,EAAG,CAAC,EACrB,KAAM,CAAC,GAAI,GAAI,EAAG,EAAG,CAAC,EACtB,IAAK,CAAC,GAAI,IAAK,EAAG,EAAG,CAAC,EACtB,IAAK,CAAC,GAAI,IAAK,EAAG,EAAG,CAAC,EACtB,IAAK,CAAC,GAAI,GAAI,EAAG,EAAG,CAAC,EACrB,IAAK,CAAC,GAAI,EAAG,EAAG,EAAG,CAAC,EACpB,KAAM,CAAC,GAAI,EAAG,EAAG,EAAG,CAAC,EACrB,IAAK,CAAC,GAAI,GAAI,EAAG,EAAG,CAAC,EACrB,KAAM,CAAC,GAAI,IAAK,EAAG,EAAG,CAAC,EACvB,KAAM,CAAC,GAAI,IAAK,EAAG,EAAG,CAAC,EACvB,IAAK,CAAC,GAAI,EAAG,EAAG,EAAG,CAAC,EACpB,MAAO,CAAC,GAAI,GAAI,EAAG,EAAG,CAAC,EACvB,KAAM,CAAC,GAAI,IAAK,EAAG,EAAG,CAAC,EACvB,GAAI,CAAC,GAAI,GAAI,EAAG,EAAG,CAAC,EACpB,KAAM,CAAC,GAAI,IAAK,EAAG,EAAG,CAAC,EAEvB,IAAK,CAAC,EAAG,EAAG,EAAG,EAAG,CAAC,EACnB,KAAM,CAAC,EAAG,EAAG,EAAG,EAAG,CAAC,CACtB,EAEY,IAAAC,GAAAA,IACVA,EAAAA,EAAA,IAAM,EAAN,EAAA,MACAA,EAAAA,EAAA,KAAO,EAAP,EAAA,OACAA,EAAAA,EAAA,IAAM,CAAN,EAAA,MACAA,EAAAA,EAAA,IAAM,CAAN,EAAA,MACAA,EAAAA,EAAA,IAAM,EAAN,EAAA,MACAA,EAAAA,EAAA,IAAM,CAAN,EAAA,MACAA,EAAAA,EAAA,KAAO,CAAP,EAAA,OACAA,EAAAA,EAAA,KAAO,CAAP,EAAA,OACAA,EAAAA,EAAA,IAAM,EAAN,EAAA,MACAA,EAAAA,EAAA,IAAM,EAAN,EAAA,MACAA,EAAAA,EAAA,KAAO,EAAP,EAAA,OACAA,EAAAA,EAAA,KAAO,CAAP,EAAA,OACAA,EAAAA,EAAA,KAAO,CAAP,EAAA,OACAA,EAAAA,EAAA,IAAM,CAAN,EAAA,MACAA,EAAAA,EAAA,MAAQ,EAAR,EAAA,QACAA,EAAAA,EAAA,KAAO,EAAP,EAAA,OACAA,EAAAA,EAAA,GAAK,EAAL,EAAA,KACAA,EAAAA,EAAA,KAAO,CAAP,EAAA,OAlBUA,IAAAA,GAAA,CAAA,CAAA,EAuBC,MAAAC,EAAuC,CAAC,MAAgB,MAAe,EAUvEC,EAA2B,CACtC,MACA,OACA,MACA,MACA,KACA,OACF,EAIaC,EAA6B,CACxC,MACA,MACA,OACA,KACF,EASaC,EAAiC,CAAC,OAAc,OAAiB,KAAa,EAE9EC,EAAuB,CAClC,OACA,MACA,MACA,MACA,MACA,OACA,OACA,MACA,MACA,MACF,EAEY,IAAAC,GAAAA,IACVA,EAAA,SAAW,QACXA,EAAA,YAAc,SACdA,EAAA,UAAY,QACZA,EAAA,aAAe,SACfA,EAAA,QAAU,uBACVA,EAAA,kBAAoB,KACpBA,EAAA,qBAAuB,OACvBA,EAAA,QAAU,UACVA,EAAA,YAAc,cACdA,EAAA,UAAY,YACZA,EAAA,OAAS,cACTA,EAAA,SAAW,WACXA,EAAA,OAAS,UACTA,EAAA,SAAW,IACXA,EAAA,YAAc,MACdA,EAAA,SAAW,WACXA,EAAA,KAAO,uBACPA,EAAA,aAAe,wBACfA,EAAA,SAAW,KACXA,EAAA,YAAc,MACdA,EAAA,SAAW,WACXA,EAAA,QAAU,MACVA,EAAA,WAAa,OACbA,EAAA,UAAY,uBACZA,EAAA,kBAAoB,wBAzBVA,IAAAA,GAAA,CAAA,CAAA,EA4BAC,GAAAA,IACVA,EAAA,SAAW,+BACXA,EAAA,UAAY,+CACZA,EAAA,QAAU,GACVA,EAAA,kBAAoB,mCACpBA,EAAA,QAAU,2CACVA,EAAA,YAAc,gDACdA,EAAA,UAAY,qCACZA,EAAA,OAAS,8CACTA,EAAA,OAAS,uCACTA,EAAA,SAAW,4CACXA,EAAA,SAAW,4CACXA,EAAA,SAAW,4CACXA,EAAA,KAAO,oCACPA,EAAA,aAAe,6CACfA,EAAA,SAAW,8BACXA,EAAA,SAAW,wBACXA,EAAA,QAAU,0BACVA,EAAA,UAAY,2BACZA,EAAA,kBAAoB,sCAnBVA,IAAAA,GAAA,CAAA,CAAA,EAsBAC,GAAAA,IACVA,EAAA,OAAS,+CACTA,EAAA,OAAS,uCACTA,EAAA,gBAAkB,kCAClBA,EAAA,iBAAmB,2CACnBA,EAAA,gBAAkB,gCAClBA,EAAA,iBAAmB,2CACnBA,EAAA,YAAc,2BACdA,EAAA,eAAiB,8BARPA,IAAAA,GAAA,CAAA,CAAA,EAWZ,MAAMC,EAAS,OAAO,OAAOb,CAAK,EAC5Bc,EAAa,OAAO,KAAKd,CAAK,EAE9Be,EAAmBF,EAAO,OAC9B,CAACG,EAAKC,IAAU,CACR,MAAAC,EAAYJ,EAAW,KAAMK,GAAQnB,EAAMmB,CAAoB,IAAMF,CAAK,EAE5E,OAAAC,IAAWF,EAAIC,CAAK,EAAIC,GAErBF,CACT,EACA,CAAC,CACH,EAEaI,EAAiBP,EAAO,OACnC,CAACG,EAAKC,KACJD,EAAIC,CAAK,EAAIP,EAAQK,EAAiBE,CAAK,CAAC,EACrCD,GAET,CAAC,CACH,EAEaK,EAAaR,EAAO,OAC/B,CAACG,EAAKC,KACJD,EAAIC,CAAK,EAAIN,EAAOI,EAAiBE,CAAK,CAAC,EACpCD,GAET,CAAC,CACH,EAEaM,EAAoBT,EAAO,OACtC,CAACG,EAAKC,IAAU,CACd,MAAMM,EAAc,GAAGR,EAAiBE,CAAK,CAAC,MAE1C,OAAAD,EAAAC,CAAK,EAAIP,EAAQa,CAAW,EACzBP,CACT,EACA,CAAC,CACH,EAEaQ,EAAyC,CACnD,SAAsB,MACtB,MAAmB,MACnB,SAAuB,OACvB,MAAoB,OACpB,OAA+B,MAC/B,GAA4B,MAC5B,uBAAkB,MAClB,YAAsB,MACtB,QAAkB,MAClB,UAAoB,OACpB,cAAiB,OACjB,SAAmB,OACnB,MAAsB,MACtB,UAAiB,OACjB,EAAmB,MACnB,SAAmB,MACnB,wBAAuB,OACvB,uBAAe,OACf,MAAsB,KACtB,GAAmB,KACnB,SAAmB,MACnB,OAAqB,QACrB,IAAkB,QAClB,wBAA4B,OAC5B,uBAAoB,MACvB,EAEaC,GAA4C,CACtD,IAAiB,sBACjB,KAAkB,uBAClB,IAA0B,sBAC1B,IAAgB,+BAChB,IAAoB,0CACpB,IAAgB,iCAChB,KAAkB,yCAClB,KAAe,gCACf,KAAiB,kCACjB,KAAe,wCACf,IAAiB,uBACjB,IAAiB,kCACjB,KAAa,2BACb,GAAiB,kCACjB,IAAiB,yCACjB,MAAgB,0BAChB,KAAkB,qBACrB,ECrRY,IAAAC,GAAAA,IACVA,EAAA,KAAO,OACPA,EAAA,QAAU,IACVA,EAAA,MAAQ,QACRA,EAAA,kBAAoB,IACpBA,EAAA,OAAS,SACTA,EAAA,SAAW,IACXA,EAAA,UAAY,KACZA,EAAA,WAAa,KARHA,IAAAA,GAAA,CAAA,CAAA,EChBAC,GAAAA,IACVA,EAAA,QAAU,UACVA,EAAA,KAAO,OACPA,EAAA,QAAU,UAHAA,IAAAA,GAAA,CAAA,CAAA,ECAAC,GAAAA,IACVA,EAAA,SAAa,WACbA,EAAA,QAAY,UACZA,EAAA,MAAU,QACVA,EAAA,SAAa,WACbA,EAAA,aAAiB,eACjBA,EAAA,OAAW,SACXA,EAAA,gBAAoB,kBACpBA,EAAA,OAAW,SACXA,EAAA,MAAU,QACVA,EAAA,IAAQ,MACRA,EAAA,WAAe,aACfA,EAAA,MAAU,QACVA,EAAA,cAAkB,gBAbRA,IAAAA,GAAA,CAAA,CAAA,EAuBAC,GAAAA,IACVA,EAAAA,EAAA,QAAU,KAAV,EAAA,UACAA,EAAAA,EAAA,aAAe,KAAf,EAAA,eACAA,EAAAA,EAAA,YAAc,KAAd,EAAA,cAHUA,IAAAA,GAAA,CAAA,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.cjs","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 Dash = 'DASH',\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 DASH = \"m/44'/5'/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 DASH: [44, 5, 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 ZEC = 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 EVMChains = [\n Chain.Ethereum,\n Chain.Avalanche,\n Chain.BinanceSmartChain,\n Chain.Arbitrum,\n Chain.Optimism,\n Chain.Polygon,\n] as const;\n/**\n * @deprecated\n * Use `EVMChains` instead\n */\nexport const EVMChainList = EVMChains;\n\nexport type UTXOChain =\n | Chain.Bitcoin\n | Chain.BitcoinCash\n | Chain.Dash\n | Chain.Dogecoin\n | Chain.Litecoin;\n\nexport const UTXOChains = [\n Chain.Bitcoin,\n Chain.BitcoinCash,\n Chain.Dash,\n Chain.Dogecoin,\n Chain.Litecoin,\n] as const;\n/**\n * @deprecated\n * Use `UTXOChains` instead\n */\nexport const UTXOChainList = UTXOChains;\n\nexport type CosmosChain =\n | Chain.Cosmos\n | Chain.THORChain\n | Chain.Binance\n | Chain.Maya\n | Chain.Kujira;\n\nexport const CosmosChains = [Chain.Cosmos, Chain.THORChain, Chain.Binance] as const;\n\n/**\n * @deprecated\n * Use `CosmosChains` instead\n */\nexport const CosmosChainList = CosmosChains;\n\nexport const TCSupportedChains = [\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] as const;\n\n/**\n * @deprecated\n * Use `TCSupportedChains` instead\n */\nexport const TCSupportedChainList = TCSupportedChains;\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 Dash = 'dash',\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 Dash = 'https://node-router.thorswap.net/dash',\n Dogecoin = 'https://node-router.thorswap.net/dogecoin',\n Ethereum = 'https://node-router.thorswap.net/ethereum',\n Kujira = 'https://rpc-kujira.synergynodes.com/',\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.Dash]: Chain.Dash,\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.Dash]: 'https://blockchair.com/dash',\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","EVMChains","EVMChainList","UTXOChains","UTXOChainList","CosmosChains","CosmosChainList","TCSupportedChains","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/dist/index.d.ts
CHANGED
|
@@ -77,7 +77,8 @@ export declare enum BaseDecimal {
|
|
|
77
77
|
MATIC = 18,
|
|
78
78
|
MAYA = 10,
|
|
79
79
|
OP = 18,
|
|
80
|
-
THOR = 8
|
|
80
|
+
THOR = 8,
|
|
81
|
+
ZEC = 8
|
|
81
82
|
}
|
|
82
83
|
|
|
83
84
|
export declare enum Chain {
|
|
@@ -88,6 +89,7 @@ export declare enum Chain {
|
|
|
88
89
|
Bitcoin = "BTC",
|
|
89
90
|
BitcoinCash = "BCH",
|
|
90
91
|
Cosmos = "GAIA",
|
|
92
|
+
Dash = "DASH",
|
|
91
93
|
Dogecoin = "DOGE",
|
|
92
94
|
Ethereum = "ETH",
|
|
93
95
|
Kujira = "KUJI",
|
|
@@ -112,6 +114,7 @@ export declare enum ChainId {
|
|
|
112
114
|
BitcoinCash = "bitcoincash",
|
|
113
115
|
Chainflip = "chainflip",
|
|
114
116
|
Cosmos = "cosmoshub-4",
|
|
117
|
+
Dash = "dash",
|
|
115
118
|
Dogecoin = "dogecoin",
|
|
116
119
|
Kujira = "kaiyo-1",
|
|
117
120
|
Ethereum = "1",
|
|
@@ -138,6 +141,7 @@ export declare const ChainToChainId: {
|
|
|
138
141
|
BTC: ChainId;
|
|
139
142
|
BCH: ChainId;
|
|
140
143
|
GAIA: ChainId;
|
|
144
|
+
DASH: ChainId;
|
|
141
145
|
DOGE: ChainId;
|
|
142
146
|
ETH: ChainId;
|
|
143
147
|
KUJI: ChainId;
|
|
@@ -160,6 +164,7 @@ export declare const ChainToHexChainId: {
|
|
|
160
164
|
BTC: ChainId;
|
|
161
165
|
BCH: ChainId;
|
|
162
166
|
GAIA: ChainId;
|
|
167
|
+
DASH: ChainId;
|
|
163
168
|
DOGE: ChainId;
|
|
164
169
|
ETH: ChainId;
|
|
165
170
|
KUJI: ChainId;
|
|
@@ -180,6 +185,7 @@ export declare const ChainToRPC: {
|
|
|
180
185
|
BTC: RPCUrl;
|
|
181
186
|
BCH: RPCUrl;
|
|
182
187
|
GAIA: RPCUrl;
|
|
188
|
+
DASH: RPCUrl;
|
|
183
189
|
DOGE: RPCUrl;
|
|
184
190
|
ETH: RPCUrl;
|
|
185
191
|
KUJI: RPCUrl;
|
|
@@ -267,7 +273,13 @@ export declare enum ContractAddress {
|
|
|
267
273
|
|
|
268
274
|
export declare type CosmosChain = Chain.Cosmos | Chain.THORChain | Chain.Binance | Chain.Maya | Chain.Kujira;
|
|
269
275
|
|
|
270
|
-
|
|
276
|
+
/**
|
|
277
|
+
* @deprecated
|
|
278
|
+
* Use `CosmosChains` instead
|
|
279
|
+
*/
|
|
280
|
+
export declare const CosmosChainList: readonly [Chain.Cosmos, Chain.THORChain, Chain.Binance];
|
|
281
|
+
|
|
282
|
+
export declare const CosmosChains: readonly [Chain.Cosmos, Chain.THORChain, Chain.Binance];
|
|
271
283
|
|
|
272
284
|
export declare enum DerivationPath {
|
|
273
285
|
ARB = "m/44'/60'/0'/0",
|
|
@@ -276,6 +288,7 @@ export declare enum DerivationPath {
|
|
|
276
288
|
BNB = "m/44'/714'/0'/0",
|
|
277
289
|
BSC = "m/44'/60'/0'/0",
|
|
278
290
|
BTC = "m/84'/0'/0'/0",
|
|
291
|
+
DASH = "m/44'/5'/0'/0",
|
|
279
292
|
DOGE = "m/44'/3'/0'/0",
|
|
280
293
|
DOT = "////",
|
|
281
294
|
ETH = "m/44'/60'/0'/0",
|
|
@@ -449,7 +462,13 @@ export declare type ErrorInfo = {
|
|
|
449
462
|
|
|
450
463
|
export declare type EVMChain = Chain.Ethereum | Chain.Avalanche | Chain.BinanceSmartChain | Chain.Arbitrum | Chain.Optimism | Chain.Polygon;
|
|
451
464
|
|
|
452
|
-
|
|
465
|
+
/**
|
|
466
|
+
* @deprecated
|
|
467
|
+
* Use `EVMChains` instead
|
|
468
|
+
*/
|
|
469
|
+
export declare const EVMChainList: readonly [Chain.Ethereum, Chain.Avalanche, Chain.BinanceSmartChain, Chain.Arbitrum, Chain.Optimism, Chain.Polygon];
|
|
470
|
+
|
|
471
|
+
export declare const EVMChains: readonly [Chain.Ethereum, Chain.Avalanche, Chain.BinanceSmartChain, Chain.Arbitrum, Chain.Optimism, Chain.Polygon];
|
|
453
472
|
|
|
454
473
|
export declare type EVMTxBaseParams<T = bigint> = {
|
|
455
474
|
to?: string;
|
|
@@ -536,9 +555,10 @@ export declare enum RPCUrl {
|
|
|
536
555
|
BitcoinCash = "https://node-router.thorswap.net/bitcoin-cash",
|
|
537
556
|
Chainflip = "wss://mainnet-archive.chainflip.io",
|
|
538
557
|
Cosmos = "https://node-router.thorswap.net/cosmos/rpc",
|
|
539
|
-
|
|
558
|
+
Dash = "https://node-router.thorswap.net/dash",
|
|
540
559
|
Dogecoin = "https://node-router.thorswap.net/dogecoin",
|
|
541
560
|
Ethereum = "https://node-router.thorswap.net/ethereum",
|
|
561
|
+
Kujira = "https://rpc-kujira.synergynodes.com/",
|
|
542
562
|
Litecoin = "https://node-router.thorswap.net/litecoin",
|
|
543
563
|
Maya = "https://tendermint.mayachain.info",
|
|
544
564
|
MayaStagenet = "https://stagenet.tendermint.mayachain.info",
|
|
@@ -774,11 +794,23 @@ export declare const TCEthereumVaultAbi: ({
|
|
|
774
794
|
anonymous?: undefined;
|
|
775
795
|
})[];
|
|
776
796
|
|
|
777
|
-
|
|
797
|
+
/**
|
|
798
|
+
* @deprecated
|
|
799
|
+
* Use `TCSupportedChains` instead
|
|
800
|
+
*/
|
|
801
|
+
export declare const TCSupportedChainList: readonly [Chain.Avalanche, Chain.Binance, Chain.BinanceSmartChain, Chain.Bitcoin, Chain.BitcoinCash, Chain.Cosmos, Chain.Dogecoin, Chain.Ethereum, Chain.Litecoin, Chain.THORChain];
|
|
802
|
+
|
|
803
|
+
export declare const TCSupportedChains: readonly [Chain.Avalanche, Chain.Binance, Chain.BinanceSmartChain, Chain.Bitcoin, Chain.BitcoinCash, Chain.Cosmos, Chain.Dogecoin, Chain.Ethereum, Chain.Litecoin, Chain.THORChain];
|
|
804
|
+
|
|
805
|
+
export declare type UTXOChain = Chain.Bitcoin | Chain.BitcoinCash | Chain.Dash | Chain.Dogecoin | Chain.Litecoin;
|
|
778
806
|
|
|
779
|
-
|
|
807
|
+
/**
|
|
808
|
+
* @deprecated
|
|
809
|
+
* Use `UTXOChains` instead
|
|
810
|
+
*/
|
|
811
|
+
export declare const UTXOChainList: readonly [Chain.Bitcoin, Chain.BitcoinCash, Chain.Dash, Chain.Dogecoin, Chain.Litecoin];
|
|
780
812
|
|
|
781
|
-
export declare const
|
|
813
|
+
export declare const UTXOChains: readonly [Chain.Bitcoin, Chain.BitcoinCash, Chain.Dash, Chain.Dogecoin, Chain.Litecoin];
|
|
782
814
|
|
|
783
815
|
export declare enum WalletOption {
|
|
784
816
|
'KEYSTORE' = "KEYSTORE",
|