@swapkit/types 1.0.0-rc.46 → 1.0.0-rc.48

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.es.js","sources":["../src/abis/erc20.ts","../src/abis/tcEthVault.ts","../src/commonTypes.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\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<T extends Chain> = {\n address: string;\n balance: any[];\n walletType: WalletOption;\n chain: T;\n [key: string]: any;\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: <T extends Chain>(params: AddChainWalletParams<T>) => void;\n config: ConnectConfig;\n rpcUrls: { [chain in Chain]?: string };\n apis: ApisType;\n};\n\nexport type Witness = {\n value: number;\n script: Buffer;\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 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;\nexport const SubstrateChains = [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 = [\n Chain.Cosmos,\n Chain.THORChain,\n Chain.Binance,\n Chain.Maya,\n Chain.Kujira,\n] 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://polkadot.subscan.io/\",\n [Chain.Polygon]: \"https://polygonscan.com\",\n [Chain.THORChain]: \"https://runescan.io\",\n};\n","export type GetAddressAndPubKeyResponse = {\n bech32_address: string;\n compressed_pk: any;\n error_message: string;\n return_code: number;\n};\n\nexport type Signature = {\n pub_key: {\n type: string;\n value: string;\n };\n sequence: string;\n signature: string;\n};\n\nexport enum MemoType {\n BOND = \"BOND\",\n DEPOSIT = \"+\",\n LEAVE = \"LEAVE\",\n THORNAME_REGISTER = \"~\",\n UNBOND = \"UNBOND\",\n WITHDRAW = \"-\",\n OPEN_LOAN = \"$+\",\n CLOSE_LOAN = \"$-\",\n}\n","export enum FeeOption {\n Average = \"average\",\n Fast = \"fast\",\n Fastest = \"fastest\",\n}\n\nexport type WalletTxParams = {\n feeOptionKey?: FeeOption;\n from?: string;\n memo?: string; // optional memo to pass\n recipient: string;\n};\n\nexport type EVMTxBaseParams<T = bigint> = {\n to?: string;\n from?: string;\n nonce?: number;\n gasLimit?: T;\n data?: string;\n value?: T;\n chainId?: T;\n};\n","export enum WalletOption {\n KEYSTORE = \"KEYSTORE\",\n KEEPKEY = \"KEEPKEY\",\n XDEFI = \"XDEFI\",\n METAMASK = \"METAMASK\",\n COINBASE_WEB = \"COINBASE_WEB\",\n TREZOR = \"TREZOR\",\n TRUSTWALLET_WEB = \"TRUSTWALLET_WEB\",\n LEDGER = \"LEDGER\",\n KEPLR = \"KEPLR\",\n OKX = \"OKX\",\n OKX_MOBILE = \"OKX_MOBILE\",\n BRAVE = \"BRAVE\",\n WALLETCONNECT = \"WALLETCONNECT\",\n}\n\nexport type EVMWalletOptions =\n | WalletOption.BRAVE\n | WalletOption.OKX_MOBILE\n | WalletOption.METAMASK\n | WalletOption.TRUSTWALLET_WEB\n | WalletOption.COINBASE_WEB;\n\nexport enum LedgerErrorCode {\n NoError = 0x9000,\n LockedDevice = 0x5515,\n TC_NotFound = 65535,\n}\n"],"names":["erc20ABI","TCEthereumVaultAbi","TCAvalancheDepositABI","TCBscDepositABI","QuoteMode","AGG_SWAP","SWAP_IN","SWAP_OUT","Chain","ContractAddress","DerivationPath","NetworkDerivationPath","BaseDecimal","SubstrateChains","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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"}