@swapkit/wallets 4.6.2 → 4.6.4

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.
@@ -2,9 +2,9 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/utils.ts"],
4
4
  "sourcesContent": [
5
- "import { WalletOption } from \"@swapkit/helpers\";\nimport type { SKWallets } from \"./types\";\n\nexport async function loadWallet<W extends WalletOption>(walletOption: W): Promise<SKWallets[W]> {\n const { match } = await import(\"ts-pattern\");\n\n const wallet = await match(walletOption as WalletOption)\n .with(WalletOption.COINBASE_MOBILE, async () => (await import(\"./coinbase\")).coinbaseWallet)\n .with(WalletOption.BITGET, async () => (await import(\"@swapkit/wallet-extensions/bitget\")).bitgetWallet)\n .with(WalletOption.CTRL, async () => (await import(\"@swapkit/wallet-extensions/ctrl\")).ctrlWallet)\n .with(WalletOption.VULTISIG, async () => (await import(\"@swapkit/wallet-extensions/vultisig\")).vultisigWallet)\n .with(WalletOption.OKX, async () => (await import(\"@swapkit/wallet-extensions/okx\")).okxWallet)\n .with(WalletOption.ONEKEY, async () => (await import(\"@swapkit/wallet-extensions/onekey\")).onekeyWallet)\n .with(WalletOption.EXODUS, async () => (await import(\"./passkeys\")).passkeysWallet)\n .with(WalletOption.KEEPKEY, async () => (await import(\"@swapkit/wallet-hardware/keepkey\")).keepkeyWallet)\n .with(\n WalletOption.KEEPKEY_BEX,\n async () => (await import(\"@swapkit/wallet-extensions/keepkey-bex\")).keepkeyBexWallet,\n )\n .with(WalletOption.WALLETCONNECT, async () => (await import(\"./walletconnect\")).walletconnectWallet)\n .with(\n WalletOption.KEPLR,\n WalletOption.LEAP,\n async () => (await import(\"@swapkit/wallet-extensions/keplr\")).keplrWallet,\n )\n .with(\n WalletOption.COSMOSTATION,\n async () => (await import(\"@swapkit/wallet-extensions/cosmostation\")).cosmostationWallet,\n )\n .with(\n WalletOption.BRAVE,\n WalletOption.COINBASE_WEB,\n WalletOption.EIP6963,\n WalletOption.METAMASK,\n WalletOption.OKX_MOBILE,\n async () => (await import(\"@swapkit/wallet-extensions/evm-extensions\")).evmWallet,\n )\n .with(\n WalletOption.TRUSTWALLET_WEB,\n async () => (await import(\"@swapkit/wallet-extensions/trustwallet\")).trustwalletWallet,\n )\n\n .with(WalletOption.KEYSTORE, async () => (await import(\"./keystore\")).keystoreWallet)\n .with(WalletOption.TREZOR, async () => (await import(\"@swapkit/wallet-hardware/trezor\")).trezorWallet)\n .with(WalletOption.LEDGER, async () => (await import(\"@swapkit/wallet-hardware/ledger\")).ledgerWallet)\n .with(WalletOption.PASSKEYS, async () => (await import(\"./passkeys\")).passkeysWallet)\n .with(WalletOption.PETRA, async () => (await import(\"@swapkit/wallet-extensions/petra\")).petraWallet)\n .with(WalletOption.PHANTOM, async () => (await import(\"@swapkit/wallet-extensions/phantom\")).phantomWallet)\n .with(\n WalletOption.POLKADOT_JS,\n async () => (await import(\"@swapkit/wallet-extensions/polkadotjs\")).polkadotWallet,\n )\n .with(WalletOption.RADIX_WALLET, async () => (await import(\"./radix\")).radixWallet)\n .with(WalletOption.TALISMAN, async () => (await import(\"@swapkit/wallet-extensions/talisman\")).talismanWallet)\n .with(WalletOption.TRONLINK, async () => (await import(\"@swapkit/wallet-extensions/tronlink\")).tronlinkWallet)\n .with(WalletOption.WALLET_SELECTOR, async () => (await import(\"./near-wallet-selector\")).walletSelectorWallet)\n .with(WalletOption.XAMAN, async () => (await import(\"./xaman\")).xamanWallet)\n .exhaustive();\n\n return wallet as SKWallets[W];\n}\n"
5
+ "import { WalletOption } from \"@swapkit/helpers\";\nimport type { SKWallets } from \"./types\";\n\nexport async function loadWallet<W extends WalletOption>(walletOption: W): Promise<SKWallets[W]> {\n const { match } = await import(\"ts-pattern\");\n\n const wallet = await match(walletOption as WalletOption)\n .with(WalletOption.COINBASE_MOBILE, async () => (await import(\"./coinbase\")).coinbaseWallet)\n .with(WalletOption.BITGET, async () => (await import(\"@swapkit/wallet-extensions/bitget\")).bitgetWallet)\n .with(WalletOption.CTRL, async () => (await import(\"@swapkit/wallet-extensions/ctrl\")).ctrlWallet)\n .with(WalletOption.VULTISIG, async () => (await import(\"@swapkit/wallet-extensions/vultisig\")).vultisigWallet)\n .with(WalletOption.OKX, async () => (await import(\"@swapkit/wallet-extensions/okx\")).okxWallet)\n .with(WalletOption.ONEKEY, async () => (await import(\"@swapkit/wallet-extensions/onekey\")).onekeyWallet)\n .with(WalletOption.EXODUS, async () => (await import(\"./passkeys\")).passkeysWallet)\n .with(WalletOption.KEEPKEY, async () => (await import(\"@swapkit/wallet-hardware/keepkey\")).keepkeyWallet)\n .with(\n WalletOption.KEEPKEY_BEX,\n async () => (await import(\"@swapkit/wallet-extensions/keepkey-bex\")).keepkeyBexWallet,\n )\n .with(WalletOption.WALLETCONNECT, async () => (await import(\"./walletconnect\")).walletconnectWallet)\n .with(\n WalletOption.KEPLR,\n WalletOption.LEAP,\n async () => (await import(\"@swapkit/wallet-extensions/keplr\")).keplrWallet,\n )\n .with(\n WalletOption.COSMOSTATION,\n async () => (await import(\"@swapkit/wallet-extensions/cosmostation\")).cosmostationWallet,\n )\n .with(\n WalletOption.BRAVE,\n WalletOption.COINBASE_WEB,\n WalletOption.EIP6963,\n WalletOption.METAMASK,\n WalletOption.OKX_MOBILE,\n async () => (await import(\"@swapkit/wallet-extensions/evm-extensions\")).evmWallet,\n )\n .with(\n WalletOption.TRUSTWALLET_WEB,\n async () => (await import(\"@swapkit/wallet-extensions/trustwallet\")).trustwalletWallet,\n )\n\n .with(WalletOption.KEYSTORE, async () => (await import(\"./keystore\")).keystoreWallet)\n .with(WalletOption.TREZOR, async () => (await import(\"@swapkit/wallet-hardware/trezor\")).trezorWallet)\n .with(WalletOption.LEDGER, async () => (await import(\"@swapkit/wallet-hardware/ledger\")).ledgerWallet)\n .with(WalletOption.PASSKEYS, async () => (await import(\"./passkeys\")).passkeysWallet)\n .with(WalletOption.PETRA, async () => (await import(\"@swapkit/wallet-extensions/petra\")).petraWallet)\n .with(WalletOption.PHANTOM, async () => (await import(\"@swapkit/wallet-extensions/phantom\")).phantomWallet)\n .with(WalletOption.POLKADOT_JS, async () => (await import(\"@swapkit/wallet-extensions/polkadotjs\")).polkadotWallet)\n .with(WalletOption.RADIX_WALLET, async () => (await import(\"./radix\")).radixWallet)\n .with(WalletOption.TALISMAN, async () => (await import(\"@swapkit/wallet-extensions/talisman\")).talismanWallet)\n .with(WalletOption.TRONLINK, async () => (await import(\"@swapkit/wallet-extensions/tronlink\")).tronlinkWallet)\n .with(WalletOption.WALLET_SELECTOR, async () => (await import(\"./near-wallet-selector\")).walletSelectorWallet)\n .with(WalletOption.XAMAN, async () => (await import(\"./xaman\")).xamanWallet)\n .exhaustive();\n\n return wallet as SKWallets[W];\n}\n"
6
6
  ],
7
- "mappings": "uGAA6B,IAA7B,8BAGA,eAAsB,CAAkC,CAAC,EAAwC,CAC/F,IAAQ,SAAU,KAAa,sBAuD/B,OArDe,MAAM,EAAM,CAA4B,EACpD,KAAK,eAAa,gBAAiB,UAAa,KAAa,iCAAe,cAAc,EAC1F,KAAK,eAAa,OAAQ,UAAa,KAAa,8CAAsC,YAAY,EACtG,KAAK,eAAa,KAAM,UAAa,KAAa,4CAAoC,UAAU,EAChG,KAAK,eAAa,SAAU,UAAa,KAAa,gDAAwC,cAAc,EAC5G,KAAK,eAAa,IAAK,UAAa,KAAa,2CAAmC,SAAS,EAC7F,KAAK,eAAa,OAAQ,UAAa,KAAa,8CAAsC,YAAY,EACtG,KAAK,eAAa,OAAQ,UAAa,KAAa,iCAAe,cAAc,EACjF,KAAK,eAAa,QAAS,UAAa,KAAa,6CAAqC,aAAa,EACvG,KACC,eAAa,YACb,UAAa,KAAa,mDAA2C,gBACvE,EACC,KAAK,eAAa,cAAe,UAAa,KAAa,sCAAoB,mBAAmB,EAClG,KACC,eAAa,MACb,eAAa,KACb,UAAa,KAAa,6CAAqC,WACjE,EACC,KACC,eAAa,aACb,UAAa,KAAa,oDAA4C,kBACxE,EACC,KACC,eAAa,MACb,eAAa,aACb,eAAa,QACb,eAAa,SACb,eAAa,WACb,UAAa,KAAa,sDAA8C,SAC1E,EACC,KACC,eAAa,gBACb,UAAa,KAAa,mDAA2C,iBACvE,EAEC,KAAK,eAAa,SAAU,UAAa,KAAa,2BAAe,cAAc,EACnF,KAAK,eAAa,OAAQ,UAAa,KAAa,4CAAoC,YAAY,EACpG,KAAK,eAAa,OAAQ,UAAa,KAAa,4CAAoC,YAAY,EACpG,KAAK,eAAa,SAAU,UAAa,KAAa,iCAAe,cAAc,EACnF,KAAK,eAAa,MAAO,UAAa,KAAa,6CAAqC,WAAW,EACnG,KAAK,eAAa,QAAS,UAAa,KAAa,+CAAuC,aAAa,EACzG,KACC,eAAa,YACb,UAAa,KAAa,kDAA0C,cACtE,EACC,KAAK,eAAa,aAAc,UAAa,KAAa,8BAAY,WAAW,EACjF,KAAK,eAAa,SAAU,UAAa,KAAa,gDAAwC,cAAc,EAC5G,KAAK,eAAa,SAAU,UAAa,KAAa,gDAAwC,cAAc,EAC5G,KAAK,eAAa,gBAAiB,UAAa,KAAa,6CAA2B,oBAAoB,EAC5G,KAAK,eAAa,MAAO,UAAa,KAAa,8BAAY,WAAW,EAC1E,WAAW",
7
+ "mappings": "uGAA6B,IAA7B,8BAGA,eAAsB,CAAkC,CAAC,EAAwC,CAC/F,IAAQ,SAAU,KAAa,sBAoD/B,OAlDe,MAAM,EAAM,CAA4B,EACpD,KAAK,eAAa,gBAAiB,UAAa,KAAa,iCAAe,cAAc,EAC1F,KAAK,eAAa,OAAQ,UAAa,KAAa,8CAAsC,YAAY,EACtG,KAAK,eAAa,KAAM,UAAa,KAAa,4CAAoC,UAAU,EAChG,KAAK,eAAa,SAAU,UAAa,KAAa,gDAAwC,cAAc,EAC5G,KAAK,eAAa,IAAK,UAAa,KAAa,2CAAmC,SAAS,EAC7F,KAAK,eAAa,OAAQ,UAAa,KAAa,8CAAsC,YAAY,EACtG,KAAK,eAAa,OAAQ,UAAa,KAAa,iCAAe,cAAc,EACjF,KAAK,eAAa,QAAS,UAAa,KAAa,6CAAqC,aAAa,EACvG,KACC,eAAa,YACb,UAAa,KAAa,mDAA2C,gBACvE,EACC,KAAK,eAAa,cAAe,UAAa,KAAa,sCAAoB,mBAAmB,EAClG,KACC,eAAa,MACb,eAAa,KACb,UAAa,KAAa,6CAAqC,WACjE,EACC,KACC,eAAa,aACb,UAAa,KAAa,oDAA4C,kBACxE,EACC,KACC,eAAa,MACb,eAAa,aACb,eAAa,QACb,eAAa,SACb,eAAa,WACb,UAAa,KAAa,sDAA8C,SAC1E,EACC,KACC,eAAa,gBACb,UAAa,KAAa,mDAA2C,iBACvE,EAEC,KAAK,eAAa,SAAU,UAAa,KAAa,2BAAe,cAAc,EACnF,KAAK,eAAa,OAAQ,UAAa,KAAa,4CAAoC,YAAY,EACpG,KAAK,eAAa,OAAQ,UAAa,KAAa,4CAAoC,YAAY,EACpG,KAAK,eAAa,SAAU,UAAa,KAAa,iCAAe,cAAc,EACnF,KAAK,eAAa,MAAO,UAAa,KAAa,6CAAqC,WAAW,EACnG,KAAK,eAAa,QAAS,UAAa,KAAa,+CAAuC,aAAa,EACzG,KAAK,eAAa,YAAa,UAAa,KAAa,kDAA0C,cAAc,EACjH,KAAK,eAAa,aAAc,UAAa,KAAa,8BAAY,WAAW,EACjF,KAAK,eAAa,SAAU,UAAa,KAAa,gDAAwC,cAAc,EAC5G,KAAK,eAAa,SAAU,UAAa,KAAa,gDAAwC,cAAc,EAC5G,KAAK,eAAa,gBAAiB,UAAa,KAAa,6CAA2B,oBAAoB,EAC5G,KAAK,eAAa,MAAO,UAAa,KAAa,8BAAY,WAAW,EAC1E,WAAW",
8
8
  "debugId": "A3EC4EA8F3B0EAFE64756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -2,9 +2,9 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/utils.ts"],
4
4
  "sourcesContent": [
5
- "import { WalletOption } from \"@swapkit/helpers\";\nimport type { SKWallets } from \"./types\";\n\nexport async function loadWallet<W extends WalletOption>(walletOption: W): Promise<SKWallets[W]> {\n const { match } = await import(\"ts-pattern\");\n\n const wallet = await match(walletOption as WalletOption)\n .with(WalletOption.COINBASE_MOBILE, async () => (await import(\"./coinbase\")).coinbaseWallet)\n .with(WalletOption.BITGET, async () => (await import(\"@swapkit/wallet-extensions/bitget\")).bitgetWallet)\n .with(WalletOption.CTRL, async () => (await import(\"@swapkit/wallet-extensions/ctrl\")).ctrlWallet)\n .with(WalletOption.VULTISIG, async () => (await import(\"@swapkit/wallet-extensions/vultisig\")).vultisigWallet)\n .with(WalletOption.OKX, async () => (await import(\"@swapkit/wallet-extensions/okx\")).okxWallet)\n .with(WalletOption.ONEKEY, async () => (await import(\"@swapkit/wallet-extensions/onekey\")).onekeyWallet)\n .with(WalletOption.EXODUS, async () => (await import(\"./passkeys\")).passkeysWallet)\n .with(WalletOption.KEEPKEY, async () => (await import(\"@swapkit/wallet-hardware/keepkey\")).keepkeyWallet)\n .with(\n WalletOption.KEEPKEY_BEX,\n async () => (await import(\"@swapkit/wallet-extensions/keepkey-bex\")).keepkeyBexWallet,\n )\n .with(WalletOption.WALLETCONNECT, async () => (await import(\"./walletconnect\")).walletconnectWallet)\n .with(\n WalletOption.KEPLR,\n WalletOption.LEAP,\n async () => (await import(\"@swapkit/wallet-extensions/keplr\")).keplrWallet,\n )\n .with(\n WalletOption.COSMOSTATION,\n async () => (await import(\"@swapkit/wallet-extensions/cosmostation\")).cosmostationWallet,\n )\n .with(\n WalletOption.BRAVE,\n WalletOption.COINBASE_WEB,\n WalletOption.EIP6963,\n WalletOption.METAMASK,\n WalletOption.OKX_MOBILE,\n async () => (await import(\"@swapkit/wallet-extensions/evm-extensions\")).evmWallet,\n )\n .with(\n WalletOption.TRUSTWALLET_WEB,\n async () => (await import(\"@swapkit/wallet-extensions/trustwallet\")).trustwalletWallet,\n )\n\n .with(WalletOption.KEYSTORE, async () => (await import(\"./keystore\")).keystoreWallet)\n .with(WalletOption.TREZOR, async () => (await import(\"@swapkit/wallet-hardware/trezor\")).trezorWallet)\n .with(WalletOption.LEDGER, async () => (await import(\"@swapkit/wallet-hardware/ledger\")).ledgerWallet)\n .with(WalletOption.PASSKEYS, async () => (await import(\"./passkeys\")).passkeysWallet)\n .with(WalletOption.PETRA, async () => (await import(\"@swapkit/wallet-extensions/petra\")).petraWallet)\n .with(WalletOption.PHANTOM, async () => (await import(\"@swapkit/wallet-extensions/phantom\")).phantomWallet)\n .with(\n WalletOption.POLKADOT_JS,\n async () => (await import(\"@swapkit/wallet-extensions/polkadotjs\")).polkadotWallet,\n )\n .with(WalletOption.RADIX_WALLET, async () => (await import(\"./radix\")).radixWallet)\n .with(WalletOption.TALISMAN, async () => (await import(\"@swapkit/wallet-extensions/talisman\")).talismanWallet)\n .with(WalletOption.TRONLINK, async () => (await import(\"@swapkit/wallet-extensions/tronlink\")).tronlinkWallet)\n .with(WalletOption.WALLET_SELECTOR, async () => (await import(\"./near-wallet-selector\")).walletSelectorWallet)\n .with(WalletOption.XAMAN, async () => (await import(\"./xaman\")).xamanWallet)\n .exhaustive();\n\n return wallet as SKWallets[W];\n}\n"
5
+ "import { WalletOption } from \"@swapkit/helpers\";\nimport type { SKWallets } from \"./types\";\n\nexport async function loadWallet<W extends WalletOption>(walletOption: W): Promise<SKWallets[W]> {\n const { match } = await import(\"ts-pattern\");\n\n const wallet = await match(walletOption as WalletOption)\n .with(WalletOption.COINBASE_MOBILE, async () => (await import(\"./coinbase\")).coinbaseWallet)\n .with(WalletOption.BITGET, async () => (await import(\"@swapkit/wallet-extensions/bitget\")).bitgetWallet)\n .with(WalletOption.CTRL, async () => (await import(\"@swapkit/wallet-extensions/ctrl\")).ctrlWallet)\n .with(WalletOption.VULTISIG, async () => (await import(\"@swapkit/wallet-extensions/vultisig\")).vultisigWallet)\n .with(WalletOption.OKX, async () => (await import(\"@swapkit/wallet-extensions/okx\")).okxWallet)\n .with(WalletOption.ONEKEY, async () => (await import(\"@swapkit/wallet-extensions/onekey\")).onekeyWallet)\n .with(WalletOption.EXODUS, async () => (await import(\"./passkeys\")).passkeysWallet)\n .with(WalletOption.KEEPKEY, async () => (await import(\"@swapkit/wallet-hardware/keepkey\")).keepkeyWallet)\n .with(\n WalletOption.KEEPKEY_BEX,\n async () => (await import(\"@swapkit/wallet-extensions/keepkey-bex\")).keepkeyBexWallet,\n )\n .with(WalletOption.WALLETCONNECT, async () => (await import(\"./walletconnect\")).walletconnectWallet)\n .with(\n WalletOption.KEPLR,\n WalletOption.LEAP,\n async () => (await import(\"@swapkit/wallet-extensions/keplr\")).keplrWallet,\n )\n .with(\n WalletOption.COSMOSTATION,\n async () => (await import(\"@swapkit/wallet-extensions/cosmostation\")).cosmostationWallet,\n )\n .with(\n WalletOption.BRAVE,\n WalletOption.COINBASE_WEB,\n WalletOption.EIP6963,\n WalletOption.METAMASK,\n WalletOption.OKX_MOBILE,\n async () => (await import(\"@swapkit/wallet-extensions/evm-extensions\")).evmWallet,\n )\n .with(\n WalletOption.TRUSTWALLET_WEB,\n async () => (await import(\"@swapkit/wallet-extensions/trustwallet\")).trustwalletWallet,\n )\n\n .with(WalletOption.KEYSTORE, async () => (await import(\"./keystore\")).keystoreWallet)\n .with(WalletOption.TREZOR, async () => (await import(\"@swapkit/wallet-hardware/trezor\")).trezorWallet)\n .with(WalletOption.LEDGER, async () => (await import(\"@swapkit/wallet-hardware/ledger\")).ledgerWallet)\n .with(WalletOption.PASSKEYS, async () => (await import(\"./passkeys\")).passkeysWallet)\n .with(WalletOption.PETRA, async () => (await import(\"@swapkit/wallet-extensions/petra\")).petraWallet)\n .with(WalletOption.PHANTOM, async () => (await import(\"@swapkit/wallet-extensions/phantom\")).phantomWallet)\n .with(WalletOption.POLKADOT_JS, async () => (await import(\"@swapkit/wallet-extensions/polkadotjs\")).polkadotWallet)\n .with(WalletOption.RADIX_WALLET, async () => (await import(\"./radix\")).radixWallet)\n .with(WalletOption.TALISMAN, async () => (await import(\"@swapkit/wallet-extensions/talisman\")).talismanWallet)\n .with(WalletOption.TRONLINK, async () => (await import(\"@swapkit/wallet-extensions/tronlink\")).tronlinkWallet)\n .with(WalletOption.WALLET_SELECTOR, async () => (await import(\"./near-wallet-selector\")).walletSelectorWallet)\n .with(WalletOption.XAMAN, async () => (await import(\"./xaman\")).xamanWallet)\n .exhaustive();\n\n return wallet as SKWallets[W];\n}\n"
6
6
  ],
7
- "mappings": "8FAAA,kBAAS,yBAGT,eAAsB,CAAkC,CAAC,EAAwC,CAC/F,IAAQ,SAAU,KAAa,sBAuD/B,OArDe,MAAM,EAAM,CAA4B,EACpD,KAAK,EAAa,gBAAiB,UAAa,KAAa,gCAAe,cAAc,EAC1F,KAAK,EAAa,OAAQ,UAAa,KAAa,8CAAsC,YAAY,EACtG,KAAK,EAAa,KAAM,UAAa,KAAa,4CAAoC,UAAU,EAChG,KAAK,EAAa,SAAU,UAAa,KAAa,gDAAwC,cAAc,EAC5G,KAAK,EAAa,IAAK,UAAa,KAAa,2CAAmC,SAAS,EAC7F,KAAK,EAAa,OAAQ,UAAa,KAAa,8CAAsC,YAAY,EACtG,KAAK,EAAa,OAAQ,UAAa,KAAa,gCAAe,cAAc,EACjF,KAAK,EAAa,QAAS,UAAa,KAAa,6CAAqC,aAAa,EACvG,KACC,EAAa,YACb,UAAa,KAAa,mDAA2C,gBACvE,EACC,KAAK,EAAa,cAAe,UAAa,KAAa,qCAAoB,mBAAmB,EAClG,KACC,EAAa,MACb,EAAa,KACb,UAAa,KAAa,6CAAqC,WACjE,EACC,KACC,EAAa,aACb,UAAa,KAAa,oDAA4C,kBACxE,EACC,KACC,EAAa,MACb,EAAa,aACb,EAAa,QACb,EAAa,SACb,EAAa,WACb,UAAa,KAAa,sDAA8C,SAC1E,EACC,KACC,EAAa,gBACb,UAAa,KAAa,mDAA2C,iBACvE,EAEC,KAAK,EAAa,SAAU,UAAa,KAAa,0BAAe,cAAc,EACnF,KAAK,EAAa,OAAQ,UAAa,KAAa,4CAAoC,YAAY,EACpG,KAAK,EAAa,OAAQ,UAAa,KAAa,4CAAoC,YAAY,EACpG,KAAK,EAAa,SAAU,UAAa,KAAa,gCAAe,cAAc,EACnF,KAAK,EAAa,MAAO,UAAa,KAAa,6CAAqC,WAAW,EACnG,KAAK,EAAa,QAAS,UAAa,KAAa,+CAAuC,aAAa,EACzG,KACC,EAAa,YACb,UAAa,KAAa,kDAA0C,cACtE,EACC,KAAK,EAAa,aAAc,UAAa,KAAa,6BAAY,WAAW,EACjF,KAAK,EAAa,SAAU,UAAa,KAAa,gDAAwC,cAAc,EAC5G,KAAK,EAAa,SAAU,UAAa,KAAa,gDAAwC,cAAc,EAC5G,KAAK,EAAa,gBAAiB,UAAa,KAAa,4CAA2B,oBAAoB,EAC5G,KAAK,EAAa,MAAO,UAAa,KAAa,6BAAY,WAAW,EAC1E,WAAW",
7
+ "mappings": "8FAAA,kBAAS,yBAGT,eAAsB,CAAkC,CAAC,EAAwC,CAC/F,IAAQ,SAAU,KAAa,sBAoD/B,OAlDe,MAAM,EAAM,CAA4B,EACpD,KAAK,EAAa,gBAAiB,UAAa,KAAa,gCAAe,cAAc,EAC1F,KAAK,EAAa,OAAQ,UAAa,KAAa,8CAAsC,YAAY,EACtG,KAAK,EAAa,KAAM,UAAa,KAAa,4CAAoC,UAAU,EAChG,KAAK,EAAa,SAAU,UAAa,KAAa,gDAAwC,cAAc,EAC5G,KAAK,EAAa,IAAK,UAAa,KAAa,2CAAmC,SAAS,EAC7F,KAAK,EAAa,OAAQ,UAAa,KAAa,8CAAsC,YAAY,EACtG,KAAK,EAAa,OAAQ,UAAa,KAAa,gCAAe,cAAc,EACjF,KAAK,EAAa,QAAS,UAAa,KAAa,6CAAqC,aAAa,EACvG,KACC,EAAa,YACb,UAAa,KAAa,mDAA2C,gBACvE,EACC,KAAK,EAAa,cAAe,UAAa,KAAa,qCAAoB,mBAAmB,EAClG,KACC,EAAa,MACb,EAAa,KACb,UAAa,KAAa,6CAAqC,WACjE,EACC,KACC,EAAa,aACb,UAAa,KAAa,oDAA4C,kBACxE,EACC,KACC,EAAa,MACb,EAAa,aACb,EAAa,QACb,EAAa,SACb,EAAa,WACb,UAAa,KAAa,sDAA8C,SAC1E,EACC,KACC,EAAa,gBACb,UAAa,KAAa,mDAA2C,iBACvE,EAEC,KAAK,EAAa,SAAU,UAAa,KAAa,0BAAe,cAAc,EACnF,KAAK,EAAa,OAAQ,UAAa,KAAa,4CAAoC,YAAY,EACpG,KAAK,EAAa,OAAQ,UAAa,KAAa,4CAAoC,YAAY,EACpG,KAAK,EAAa,SAAU,UAAa,KAAa,gCAAe,cAAc,EACnF,KAAK,EAAa,MAAO,UAAa,KAAa,6CAAqC,WAAW,EACnG,KAAK,EAAa,QAAS,UAAa,KAAa,+CAAuC,aAAa,EACzG,KAAK,EAAa,YAAa,UAAa,KAAa,kDAA0C,cAAc,EACjH,KAAK,EAAa,aAAc,UAAa,KAAa,6BAAY,WAAW,EACjF,KAAK,EAAa,SAAU,UAAa,KAAa,gDAAwC,cAAc,EAC5G,KAAK,EAAa,SAAU,UAAa,KAAa,gDAAwC,cAAc,EAC5G,KAAK,EAAa,gBAAiB,UAAa,KAAa,4CAA2B,oBAAoB,EAC5G,KAAK,EAAa,MAAO,UAAa,KAAa,6BAAY,WAAW,EAC1E,WAAW",
8
8
  "debugId": "439E2C1B80E1583A64756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,4 +1,4 @@
1
- var z={};E(z,{passkeysWallet:()=>M,PASSKEYS_SUPPORTED_CHAINS:()=>S});module.exports=y(z);var I=require("@scure/base"),q=require("@swapkit/helpers"),N=require("@swapkit/utxo-signer");var X=require("sats-connect"),B=require("ts-pattern");F(z,require("@passkeys/core"),module.exports);F(z,require("@passkeys/react"),module.exports);async function P(){let Y=q.SKConfig.get("apiKeys").passkeys,{createWallet:R}=await import("@passkeys/core");return R({appId:Y.length>0?Y:void 0,providers:{bitcoin:!0,ethereum:!0,solana:!0}})}function T({wallet:Y,chain:R}){return B.match(R).with(q.Chain.Bitcoin,async(G)=>{let{getUtxoToolbox:Z}=await import("@swapkit/toolboxes/utxo"),$=await Y.getProvider("bitcoin");if(!$)throw new q.SwapKitError("wallet_passkeys_not_found");let H="",J=()=>Promise.resolve($),j={getProvider:J,onCancel:()=>{throw new q.SwapKitError("wallet_passkeys_request_canceled")},onFinish:(Q)=>{if(!Q.addresses[0])throw new q.SwapKitError("wallet_passkeys_no_address");H=Q.addresses[0].address},payload:{message:"Address for receiving and sending payments",network:{type:X.BitcoinNetworkType.Mainnet},purposes:[X.AddressPurpose.Payment]}};await X.getAddress(j);async function L(Q){let U,O=Q.toPSBT(0),m=I.base64.encode(O),u=Q.inputsLength,K={getProvider:J,onCancel:()=>{throw new q.SwapKitError("wallet_passkeys_signature_canceled")},onFinish:(f)=>{U=N.Transaction.fromPSBT(I.base64.decode(f.psbtBase64))},payload:{broadcast:!1,inputsToSign:[{address:H,signingIndexes:Array.from({length:u},(f,W)=>W)}],message:"Sign transaction",network:{type:X.BitcoinNetworkType.Mainnet},psbtBase64:m}};if(await X.signTransaction(K),!U)throw new q.SwapKitError("wallet_passkeys_sign_transaction_error");return U}return{...await Z(G,{signer:{getAddress:()=>Promise.resolve(H),signTransaction:L}}),address:H}}).with(...q.EVMChains,async(G)=>{let{getProvider:Z,getEvmToolboxAsync:$}=await import("@swapkit/toolboxes/evm"),{BrowserProvider:H}=await import("ethers"),J=await Y.getProvider("ethereum");if(!J)throw new q.SwapKitError("wallet_passkeys_not_found");let j=await Z(G),L=new H(J,"any");await L.send("eth_requestAccounts",[]);let _=await L.getSigner(),D=await _.getAddress(),Q=await $(G,{provider:j,signer:_});try{if(G!==q.Chain.Ethereum){let U=Q.getNetworkParams();await q.switchEVMWalletNetwork(L,G,U)}}catch{throw new q.SwapKitError("wallet_passkeys_failed_to_switch_network",{chain:G})}return{...q.prepareNetworkSwitch({chain:G,provider:L,toolbox:Q}),address:D}}).with(q.Chain.Solana,async()=>{let{getSolanaToolbox:G}=await import("@swapkit/toolboxes/solana"),Z=await Y.getProvider("solana"),H=(await Z.connect()).publicKey.toString();return{...await G({signer:Z}),address:H,disconnect:async()=>{await Z.disconnect()}}}).otherwise((G)=>{throw new q.SwapKitError("wallet_passkeys_chain_not_supported",{chain:G})})}var M=V({connect:({addChain:Y,walletType:R,supportedChains:G})=>async function($,H){let J=H||await P();if(!J)throw new q.SwapKitError("wallet_passkeys_instance_missing");let j=q.filterSupportedChains({chains:$,supportedChains:G,walletType:R});return await Promise.all(j.map(async(L)=>{try{let _=await T({chain:L,wallet:J}),{address:D,...Q}=_;Y({...Q,address:D,chain:L,disconnect:J.disconnect,walletType:q.WalletOption.PASSKEYS})}catch(_){throw console.error(`Failed to connect ${L} wallet:`,_),_}})),!0},name:"connectPasskeys",supportedChains:[...q.EVMChains,q.Chain.Bitcoin,q.Chain.Solana],walletType:q.WalletOption.PASSKEYS}),S=A(M);
1
+ var z={};E(z,{passkeysWallet:()=>M,PASSKEYS_SUPPORTED_CHAINS:()=>S});module.exports=y(z);var I=require("@scure/base"),q=require("@swapkit/helpers"),N=require("@swapkit/utxo-signer"),X=require("sats-connect"),B=require("ts-pattern");F(z,require("@passkeys/core"),module.exports);F(z,require("@passkeys/react"),module.exports);async function P(){let Y=q.SKConfig.get("apiKeys").passkeys,{createWallet:R}=await import("@passkeys/core");return R({appId:Y.length>0?Y:void 0,providers:{bitcoin:!0,ethereum:!0,solana:!0}})}function T({wallet:Y,chain:R}){return B.match(R).with(q.Chain.Bitcoin,async(G)=>{let{getUtxoToolbox:Z}=await import("@swapkit/toolboxes/utxo"),$=await Y.getProvider("bitcoin");if(!$)throw new q.SwapKitError("wallet_passkeys_not_found");let H="",J=()=>Promise.resolve($),j={getProvider:J,onCancel:()=>{throw new q.SwapKitError("wallet_passkeys_request_canceled")},onFinish:(Q)=>{if(!Q.addresses[0])throw new q.SwapKitError("wallet_passkeys_no_address");H=Q.addresses[0].address},payload:{message:"Address for receiving and sending payments",network:{type:X.BitcoinNetworkType.Mainnet},purposes:[X.AddressPurpose.Payment]}};await X.getAddress(j);async function L(Q){let U,O=Q.toPSBT(0),m=I.base64.encode(O),u=Q.inputsLength,K={getProvider:J,onCancel:()=>{throw new q.SwapKitError("wallet_passkeys_signature_canceled")},onFinish:(f)=>{U=N.Transaction.fromPSBT(I.base64.decode(f.psbtBase64))},payload:{broadcast:!1,inputsToSign:[{address:H,signingIndexes:Array.from({length:u},(f,W)=>W)}],message:"Sign transaction",network:{type:X.BitcoinNetworkType.Mainnet},psbtBase64:m}};if(await X.signTransaction(K),!U)throw new q.SwapKitError("wallet_passkeys_sign_transaction_error");return U}return{...await Z(G,{signer:{getAddress:()=>Promise.resolve(H),signTransaction:L}}),address:H}}).with(...q.EVMChains,async(G)=>{let{getProvider:Z,getEvmToolboxAsync:$}=await import("@swapkit/toolboxes/evm"),{BrowserProvider:H}=await import("ethers"),J=await Y.getProvider("ethereum");if(!J)throw new q.SwapKitError("wallet_passkeys_not_found");let j=await Z(G),L=new H(J,"any");await L.send("eth_requestAccounts",[]);let _=await L.getSigner(),D=await _.getAddress(),Q=await $(G,{provider:j,signer:_});try{if(G!==q.Chain.Ethereum){let U=Q.getNetworkParams();await q.switchEVMWalletNetwork(L,G,U)}}catch{throw new q.SwapKitError("wallet_passkeys_failed_to_switch_network",{chain:G})}return{...q.prepareNetworkSwitch({chain:G,provider:L,toolbox:Q}),address:D}}).with(q.Chain.Solana,async()=>{let{getSolanaToolbox:G}=await import("@swapkit/toolboxes/solana"),Z=await Y.getProvider("solana"),H=(await Z.connect()).publicKey.toString();return{...await G({signer:Z}),address:H,disconnect:async()=>{await Z.disconnect()}}}).otherwise((G)=>{throw new q.SwapKitError("wallet_passkeys_chain_not_supported",{chain:G})})}var M=V({connect:({addChain:Y,walletType:R,supportedChains:G})=>async function($,H){let J=H||await P();if(!J)throw new q.SwapKitError("wallet_passkeys_instance_missing");let j=q.filterSupportedChains({chains:$,supportedChains:G,walletType:R});return await Promise.all(j.map(async(L)=>{try{let _=await T({chain:L,wallet:J}),{address:D,...Q}=_;Y({...Q,address:D,chain:L,disconnect:J.disconnect,walletType:q.WalletOption.PASSKEYS})}catch(_){throw console.error(`Failed to connect ${L} wallet:`,_),_}})),!0},name:"connectPasskeys",supportedChains:[...q.EVMChains,q.Chain.Bitcoin,q.Chain.Solana],walletType:q.WalletOption.PASSKEYS}),S=A(M);
2
2
 
3
- //# debugId=B5ECCD6777821E3E64756E2164756E21
3
+ //# debugId=83F25A19965702E364756E2164756E21
4
4
  //# sourceMappingURL=index.cjs.map
@@ -2,9 +2,9 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/passkeys/index.ts"],
4
4
  "sourcesContent": [
5
- "import type { Wallet } from \"@passkeys/core\";\nimport { base64 } from \"@scure/base\";\nimport {\n Chain,\n EVMChains,\n filterSupportedChains,\n prepareNetworkSwitch,\n SKConfig,\n SwapKitError,\n switchEVMWalletNetwork,\n WalletOption,\n} from \"@swapkit/helpers\";\nimport type { SolanaProvider } from \"@swapkit/toolboxes/solana\";\nimport { Transaction } from \"@swapkit/utxo-signer\";\nimport { createWallet, getWalletSupportedChains } from \"../core\";\nimport {\n AddressPurpose,\n BitcoinNetworkType,\n type GetAddressOptions,\n type GetAddressResponse,\n getAddress,\n type SignTransactionOptions,\n signTransaction as satsSignTransaction,\n} from \"sats-connect\";\nimport { match } from \"ts-pattern\";\n\nasync function getPasskeyWallet() {\n const appId = SKConfig.get(\"apiKeys\").passkeys;\n const { createWallet } = await import(\"@passkeys/core\");\n\n return createWallet({\n appId: appId.length > 0 ? appId : undefined,\n providers: { bitcoin: true, ethereum: true, solana: true },\n });\n}\n\nfunction getWalletMethods({ wallet, chain: paramChain }: { wallet: Wallet; chain: Chain }) {\n return match(paramChain)\n .with(Chain.Bitcoin, async (chain) => {\n const { getUtxoToolbox } = await import(\"@swapkit/toolboxes/utxo\");\n const provider = await wallet.getProvider(\"bitcoin\");\n\n if (!provider) {\n throw new SwapKitError(\"wallet_passkeys_not_found\");\n }\n\n let address = \"\";\n\n const getProvider = () => Promise.resolve(provider);\n\n const getAddressOptions: GetAddressOptions = {\n getProvider,\n onCancel: () => {\n throw new SwapKitError(\"wallet_passkeys_request_canceled\");\n },\n onFinish: (response: GetAddressResponse) => {\n if (!response.addresses[0]) throw new SwapKitError(\"wallet_passkeys_no_address\");\n address = response.addresses[0].address;\n },\n payload: {\n message: \"Address for receiving and sending payments\",\n network: { type: BitcoinNetworkType.Mainnet },\n purposes: [AddressPurpose.Payment],\n },\n };\n\n // TODO: Towan - probably not needed ?\n await getAddress(getAddressOptions);\n\n async function signTransaction(tx: InstanceType<typeof Transaction>) {\n let signedTx: InstanceType<typeof Transaction> | undefined;\n const psbtBytes = tx.toPSBT(0);\n const psbtBase64Str = base64.encode(psbtBytes);\n const inputCount = tx.inputsLength;\n\n const signPsbtOptions: SignTransactionOptions = {\n getProvider,\n onCancel: () => {\n throw new SwapKitError(\"wallet_passkeys_signature_canceled\");\n },\n onFinish: (response) => {\n signedTx = Transaction.fromPSBT(base64.decode(response.psbtBase64));\n },\n payload: {\n broadcast: false,\n inputsToSign: [{ address: address, signingIndexes: Array.from({ length: inputCount }, (_, i) => i) }],\n message: \"Sign transaction\",\n network: { type: BitcoinNetworkType.Mainnet },\n psbtBase64: psbtBase64Str,\n },\n };\n\n await satsSignTransaction(signPsbtOptions);\n if (!signedTx) throw new SwapKitError(\"wallet_passkeys_sign_transaction_error\");\n return signedTx;\n }\n\n const signer = { getAddress: () => Promise.resolve(address), signTransaction };\n const toolbox = await getUtxoToolbox(chain, { signer });\n\n return { ...toolbox, address };\n })\n .with(...EVMChains, async (chain) => {\n const { getProvider, getEvmToolboxAsync } = await import(\"@swapkit/toolboxes/evm\");\n const { BrowserProvider } = await import(\"ethers\");\n\n const walletProvider = await wallet.getProvider(\"ethereum\");\n if (!walletProvider) {\n throw new SwapKitError(\"wallet_passkeys_not_found\");\n }\n\n const jsonRpcProvider = await getProvider(chain);\n const browserProvider = new BrowserProvider(walletProvider, \"any\");\n\n await browserProvider.send(\"eth_requestAccounts\", []);\n\n const signer = await browserProvider.getSigner();\n const address = await signer.getAddress();\n const toolbox = await getEvmToolboxAsync(chain, { provider: jsonRpcProvider, signer });\n\n try {\n if (chain !== Chain.Ethereum) {\n const networkParams = toolbox.getNetworkParams();\n await switchEVMWalletNetwork(browserProvider, chain, networkParams);\n }\n } catch {\n throw new SwapKitError(\"wallet_passkeys_failed_to_switch_network\", { chain });\n }\n\n return { ...prepareNetworkSwitch({ chain, provider: browserProvider, toolbox }), address };\n })\n .with(Chain.Solana, async () => {\n const { getSolanaToolbox } = await import(\"@swapkit/toolboxes/solana\");\n const provider = (await wallet.getProvider(\"solana\")) as any as SolanaProvider;\n const providerConnection = await provider.connect();\n const address = providerConnection.publicKey.toString();\n const toolbox = await getSolanaToolbox({ signer: provider });\n\n const disconnect = async () => {\n await provider.disconnect();\n };\n\n return { ...toolbox, address, disconnect };\n })\n .otherwise((chain) => {\n throw new SwapKitError(\"wallet_passkeys_chain_not_supported\", { chain });\n });\n}\n\nexport const passkeysWallet = createWallet({\n connect: ({ addChain, walletType, supportedChains }) =>\n async function connectPasskeys(chains: Chain[], paramWallet?: Wallet) {\n const wallet = paramWallet || (await getPasskeyWallet());\n\n if (!wallet) throw new SwapKitError(\"wallet_passkeys_instance_missing\");\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n try {\n const walletData = await getWalletMethods({ chain, wallet });\n\n const { address, ...walletMethods } = walletData;\n\n addChain({\n ...walletMethods,\n address,\n chain,\n disconnect: wallet.disconnect,\n walletType: WalletOption.PASSKEYS,\n });\n } catch (error) {\n console.error(`Failed to connect ${chain} wallet:`, error);\n throw error;\n }\n }),\n );\n\n return true;\n },\n name: \"connectPasskeys\",\n supportedChains: [...EVMChains, Chain.Bitcoin, Chain.Solana],\n walletType: WalletOption.PASSKEYS,\n});\n\nexport const PASSKEYS_SUPPORTED_CHAINS = getWalletSupportedChains(passkeysWallet);\nexport * from \"@passkeys/core\";\nexport * from \"@passkeys/react\";\n"
5
+ "import type { Wallet } from \"@passkeys/core\";\nimport { base64 } from \"@scure/base\";\nimport {\n Chain,\n EVMChains,\n filterSupportedChains,\n prepareNetworkSwitch,\n SKConfig,\n SwapKitError,\n switchEVMWalletNetwork,\n WalletOption,\n} from \"@swapkit/helpers\";\nimport type { SolanaProvider } from \"@swapkit/toolboxes/solana\";\nimport { Transaction } from \"@swapkit/utxo-signer\";\nimport {\n AddressPurpose,\n BitcoinNetworkType,\n type GetAddressOptions,\n type GetAddressResponse,\n getAddress,\n type SignTransactionOptions,\n signTransaction as satsSignTransaction,\n} from \"sats-connect\";\nimport { match } from \"ts-pattern\";\nimport { createWallet, getWalletSupportedChains } from \"../core\";\n\nasync function getPasskeyWallet() {\n const appId = SKConfig.get(\"apiKeys\").passkeys;\n const { createWallet } = await import(\"@passkeys/core\");\n\n return createWallet({\n appId: appId.length > 0 ? appId : undefined,\n providers: { bitcoin: true, ethereum: true, solana: true },\n });\n}\n\nfunction getWalletMethods({ wallet, chain: paramChain }: { wallet: Wallet; chain: Chain }) {\n return match(paramChain)\n .with(Chain.Bitcoin, async (chain) => {\n const { getUtxoToolbox } = await import(\"@swapkit/toolboxes/utxo\");\n const provider = await wallet.getProvider(\"bitcoin\");\n\n if (!provider) {\n throw new SwapKitError(\"wallet_passkeys_not_found\");\n }\n\n let address = \"\";\n\n const getProvider = () => Promise.resolve(provider);\n\n const getAddressOptions: GetAddressOptions = {\n getProvider,\n onCancel: () => {\n throw new SwapKitError(\"wallet_passkeys_request_canceled\");\n },\n onFinish: (response: GetAddressResponse) => {\n if (!response.addresses[0]) throw new SwapKitError(\"wallet_passkeys_no_address\");\n address = response.addresses[0].address;\n },\n payload: {\n message: \"Address for receiving and sending payments\",\n network: { type: BitcoinNetworkType.Mainnet },\n purposes: [AddressPurpose.Payment],\n },\n };\n\n // TODO: Towan - probably not needed ?\n await getAddress(getAddressOptions);\n\n async function signTransaction(tx: InstanceType<typeof Transaction>) {\n let signedTx: InstanceType<typeof Transaction> | undefined;\n const psbtBytes = tx.toPSBT(0);\n const psbtBase64Str = base64.encode(psbtBytes);\n const inputCount = tx.inputsLength;\n\n const signPsbtOptions: SignTransactionOptions = {\n getProvider,\n onCancel: () => {\n throw new SwapKitError(\"wallet_passkeys_signature_canceled\");\n },\n onFinish: (response) => {\n signedTx = Transaction.fromPSBT(base64.decode(response.psbtBase64));\n },\n payload: {\n broadcast: false,\n inputsToSign: [{ address: address, signingIndexes: Array.from({ length: inputCount }, (_, i) => i) }],\n message: \"Sign transaction\",\n network: { type: BitcoinNetworkType.Mainnet },\n psbtBase64: psbtBase64Str,\n },\n };\n\n await satsSignTransaction(signPsbtOptions);\n if (!signedTx) throw new SwapKitError(\"wallet_passkeys_sign_transaction_error\");\n return signedTx;\n }\n\n const signer = { getAddress: () => Promise.resolve(address), signTransaction };\n const toolbox = await getUtxoToolbox(chain, { signer });\n\n return { ...toolbox, address };\n })\n .with(...EVMChains, async (chain) => {\n const { getProvider, getEvmToolboxAsync } = await import(\"@swapkit/toolboxes/evm\");\n const { BrowserProvider } = await import(\"ethers\");\n\n const walletProvider = await wallet.getProvider(\"ethereum\");\n if (!walletProvider) {\n throw new SwapKitError(\"wallet_passkeys_not_found\");\n }\n\n const jsonRpcProvider = await getProvider(chain);\n const browserProvider = new BrowserProvider(walletProvider, \"any\");\n\n await browserProvider.send(\"eth_requestAccounts\", []);\n\n const signer = await browserProvider.getSigner();\n const address = await signer.getAddress();\n const toolbox = await getEvmToolboxAsync(chain, { provider: jsonRpcProvider, signer });\n\n try {\n if (chain !== Chain.Ethereum) {\n const networkParams = toolbox.getNetworkParams();\n await switchEVMWalletNetwork(browserProvider, chain, networkParams);\n }\n } catch {\n throw new SwapKitError(\"wallet_passkeys_failed_to_switch_network\", { chain });\n }\n\n return { ...prepareNetworkSwitch({ chain, provider: browserProvider, toolbox }), address };\n })\n .with(Chain.Solana, async () => {\n const { getSolanaToolbox } = await import(\"@swapkit/toolboxes/solana\");\n const provider = (await wallet.getProvider(\"solana\")) as any as SolanaProvider;\n const providerConnection = await provider.connect();\n const address = providerConnection.publicKey.toString();\n const toolbox = await getSolanaToolbox({ signer: provider });\n\n const disconnect = async () => {\n await provider.disconnect();\n };\n\n return { ...toolbox, address, disconnect };\n })\n .otherwise((chain) => {\n throw new SwapKitError(\"wallet_passkeys_chain_not_supported\", { chain });\n });\n}\n\nexport const passkeysWallet = createWallet({\n connect: ({ addChain, walletType, supportedChains }) =>\n async function connectPasskeys(chains: Chain[], paramWallet?: Wallet) {\n const wallet = paramWallet || (await getPasskeyWallet());\n\n if (!wallet) throw new SwapKitError(\"wallet_passkeys_instance_missing\");\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n try {\n const walletData = await getWalletMethods({ chain, wallet });\n\n const { address, ...walletMethods } = walletData;\n\n addChain({\n ...walletMethods,\n address,\n chain,\n disconnect: wallet.disconnect,\n walletType: WalletOption.PASSKEYS,\n });\n } catch (error) {\n console.error(`Failed to connect ${chain} wallet:`, error);\n throw error;\n }\n }),\n );\n\n return true;\n },\n name: \"connectPasskeys\",\n supportedChains: [...EVMChains, Chain.Bitcoin, Chain.Solana],\n walletType: WalletOption.PASSKEYS,\n});\n\nexport const PASSKEYS_SUPPORTED_CHAINS = getWalletSupportedChains(passkeysWallet);\nexport * from \"@passkeys/core\";\nexport * from \"@passkeys/react\";\n"
6
6
  ],
7
- "mappings": "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",
8
- "debugId": "B5ECCD6777821E3E64756E2164756E21",
7
+ "mappings": "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",
8
+ "debugId": "83F25A19965702E364756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,4 +1,4 @@
1
1
  import{G as A,H as N}from"../../chunk-qv7snmdv.js";import{I as j}from"../../chunk-5jj4jvy9.js";import{base64 as I}from"@scure/base";import{Chain as R,EVMChains as B,filterSupportedChains as W,prepareNetworkSwitch as y,SKConfig as E,SwapKitError as J,switchEVMWalletNetwork as k,WalletOption as f}from"@swapkit/helpers";import{Transaction as P}from"@swapkit/utxo-signer";import{AddressPurpose as T,BitcoinNetworkType as V,getAddress as S,signTransaction as v}from"sats-connect";import{match as x}from"ts-pattern";export*from"@passkeys/core";export*from"@passkeys/react";async function C(){let L=E.get("apiKeys").passkeys,{createWallet:_}=await import("@passkeys/core");return _({appId:L.length>0?L:void 0,providers:{bitcoin:!0,ethereum:!0,solana:!0}})}function b({wallet:L,chain:_}){return x(_).with(R.Bitcoin,async(q)=>{let{getUtxoToolbox:Q}=await import("@swapkit/toolboxes/utxo"),Y=await L.getProvider("bitcoin");if(!Y)throw new J("wallet_passkeys_not_found");let z="",F=()=>Promise.resolve(Y),Z={getProvider:F,onCancel:()=>{throw new J("wallet_passkeys_request_canceled")},onFinish:(H)=>{if(!H.addresses[0])throw new J("wallet_passkeys_no_address");z=H.addresses[0].address},payload:{message:"Address for receiving and sending payments",network:{type:V.Mainnet},purposes:[T.Payment]}};await S(Z);async function G(H){let $,M=H.toPSBT(0),O=I.encode(M),m=H.inputsLength,u={getProvider:F,onCancel:()=>{throw new J("wallet_passkeys_signature_canceled")},onFinish:(D)=>{$=P.fromPSBT(I.decode(D.psbtBase64))},payload:{broadcast:!1,inputsToSign:[{address:z,signingIndexes:Array.from({length:m},(D,K)=>K)}],message:"Sign transaction",network:{type:V.Mainnet},psbtBase64:O}};if(await v(u),!$)throw new J("wallet_passkeys_sign_transaction_error");return $}return{...await Q(q,{signer:{getAddress:()=>Promise.resolve(z),signTransaction:G}}),address:z}}).with(...B,async(q)=>{let{getProvider:Q,getEvmToolboxAsync:Y}=await import("@swapkit/toolboxes/evm"),{BrowserProvider:z}=await import("ethers"),F=await L.getProvider("ethereum");if(!F)throw new J("wallet_passkeys_not_found");let Z=await Q(q),G=new z(F,"any");await G.send("eth_requestAccounts",[]);let X=await G.getSigner(),U=await X.getAddress(),H=await Y(q,{provider:Z,signer:X});try{if(q!==R.Ethereum){let $=H.getNetworkParams();await k(G,q,$)}}catch{throw new J("wallet_passkeys_failed_to_switch_network",{chain:q})}return{...y({chain:q,provider:G,toolbox:H}),address:U}}).with(R.Solana,async()=>{let{getSolanaToolbox:q}=await import("@swapkit/toolboxes/solana"),Q=await L.getProvider("solana"),z=(await Q.connect()).publicKey.toString();return{...await q({signer:Q}),address:z,disconnect:async()=>{await Q.disconnect()}}}).otherwise((q)=>{throw new J("wallet_passkeys_chain_not_supported",{chain:q})})}var g=A({connect:({addChain:L,walletType:_,supportedChains:q})=>async function(Y,z){let F=z||await C();if(!F)throw new J("wallet_passkeys_instance_missing");let Z=W({chains:Y,supportedChains:q,walletType:_});return await Promise.all(Z.map(async(G)=>{try{let X=await b({chain:G,wallet:F}),{address:U,...H}=X;L({...H,address:U,chain:G,disconnect:F.disconnect,walletType:f.PASSKEYS})}catch(X){throw console.error(`Failed to connect ${G} wallet:`,X),X}})),!0},name:"connectPasskeys",supportedChains:[...B,R.Bitcoin,R.Solana],walletType:f.PASSKEYS}),n=N(g);export{g as passkeysWallet,n as PASSKEYS_SUPPORTED_CHAINS};
2
2
 
3
- //# debugId=65A5DC3CD890F01464756E2164756E21
3
+ //# debugId=54ADEEE80B38B79564756E2164756E21
4
4
  //# sourceMappingURL=index.js.map
@@ -2,9 +2,9 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/passkeys/index.ts"],
4
4
  "sourcesContent": [
5
- "import type { Wallet } from \"@passkeys/core\";\nimport { base64 } from \"@scure/base\";\nimport {\n Chain,\n EVMChains,\n filterSupportedChains,\n prepareNetworkSwitch,\n SKConfig,\n SwapKitError,\n switchEVMWalletNetwork,\n WalletOption,\n} from \"@swapkit/helpers\";\nimport type { SolanaProvider } from \"@swapkit/toolboxes/solana\";\nimport { Transaction } from \"@swapkit/utxo-signer\";\nimport { createWallet, getWalletSupportedChains } from \"../core\";\nimport {\n AddressPurpose,\n BitcoinNetworkType,\n type GetAddressOptions,\n type GetAddressResponse,\n getAddress,\n type SignTransactionOptions,\n signTransaction as satsSignTransaction,\n} from \"sats-connect\";\nimport { match } from \"ts-pattern\";\n\nasync function getPasskeyWallet() {\n const appId = SKConfig.get(\"apiKeys\").passkeys;\n const { createWallet } = await import(\"@passkeys/core\");\n\n return createWallet({\n appId: appId.length > 0 ? appId : undefined,\n providers: { bitcoin: true, ethereum: true, solana: true },\n });\n}\n\nfunction getWalletMethods({ wallet, chain: paramChain }: { wallet: Wallet; chain: Chain }) {\n return match(paramChain)\n .with(Chain.Bitcoin, async (chain) => {\n const { getUtxoToolbox } = await import(\"@swapkit/toolboxes/utxo\");\n const provider = await wallet.getProvider(\"bitcoin\");\n\n if (!provider) {\n throw new SwapKitError(\"wallet_passkeys_not_found\");\n }\n\n let address = \"\";\n\n const getProvider = () => Promise.resolve(provider);\n\n const getAddressOptions: GetAddressOptions = {\n getProvider,\n onCancel: () => {\n throw new SwapKitError(\"wallet_passkeys_request_canceled\");\n },\n onFinish: (response: GetAddressResponse) => {\n if (!response.addresses[0]) throw new SwapKitError(\"wallet_passkeys_no_address\");\n address = response.addresses[0].address;\n },\n payload: {\n message: \"Address for receiving and sending payments\",\n network: { type: BitcoinNetworkType.Mainnet },\n purposes: [AddressPurpose.Payment],\n },\n };\n\n // TODO: Towan - probably not needed ?\n await getAddress(getAddressOptions);\n\n async function signTransaction(tx: InstanceType<typeof Transaction>) {\n let signedTx: InstanceType<typeof Transaction> | undefined;\n const psbtBytes = tx.toPSBT(0);\n const psbtBase64Str = base64.encode(psbtBytes);\n const inputCount = tx.inputsLength;\n\n const signPsbtOptions: SignTransactionOptions = {\n getProvider,\n onCancel: () => {\n throw new SwapKitError(\"wallet_passkeys_signature_canceled\");\n },\n onFinish: (response) => {\n signedTx = Transaction.fromPSBT(base64.decode(response.psbtBase64));\n },\n payload: {\n broadcast: false,\n inputsToSign: [{ address: address, signingIndexes: Array.from({ length: inputCount }, (_, i) => i) }],\n message: \"Sign transaction\",\n network: { type: BitcoinNetworkType.Mainnet },\n psbtBase64: psbtBase64Str,\n },\n };\n\n await satsSignTransaction(signPsbtOptions);\n if (!signedTx) throw new SwapKitError(\"wallet_passkeys_sign_transaction_error\");\n return signedTx;\n }\n\n const signer = { getAddress: () => Promise.resolve(address), signTransaction };\n const toolbox = await getUtxoToolbox(chain, { signer });\n\n return { ...toolbox, address };\n })\n .with(...EVMChains, async (chain) => {\n const { getProvider, getEvmToolboxAsync } = await import(\"@swapkit/toolboxes/evm\");\n const { BrowserProvider } = await import(\"ethers\");\n\n const walletProvider = await wallet.getProvider(\"ethereum\");\n if (!walletProvider) {\n throw new SwapKitError(\"wallet_passkeys_not_found\");\n }\n\n const jsonRpcProvider = await getProvider(chain);\n const browserProvider = new BrowserProvider(walletProvider, \"any\");\n\n await browserProvider.send(\"eth_requestAccounts\", []);\n\n const signer = await browserProvider.getSigner();\n const address = await signer.getAddress();\n const toolbox = await getEvmToolboxAsync(chain, { provider: jsonRpcProvider, signer });\n\n try {\n if (chain !== Chain.Ethereum) {\n const networkParams = toolbox.getNetworkParams();\n await switchEVMWalletNetwork(browserProvider, chain, networkParams);\n }\n } catch {\n throw new SwapKitError(\"wallet_passkeys_failed_to_switch_network\", { chain });\n }\n\n return { ...prepareNetworkSwitch({ chain, provider: browserProvider, toolbox }), address };\n })\n .with(Chain.Solana, async () => {\n const { getSolanaToolbox } = await import(\"@swapkit/toolboxes/solana\");\n const provider = (await wallet.getProvider(\"solana\")) as any as SolanaProvider;\n const providerConnection = await provider.connect();\n const address = providerConnection.publicKey.toString();\n const toolbox = await getSolanaToolbox({ signer: provider });\n\n const disconnect = async () => {\n await provider.disconnect();\n };\n\n return { ...toolbox, address, disconnect };\n })\n .otherwise((chain) => {\n throw new SwapKitError(\"wallet_passkeys_chain_not_supported\", { chain });\n });\n}\n\nexport const passkeysWallet = createWallet({\n connect: ({ addChain, walletType, supportedChains }) =>\n async function connectPasskeys(chains: Chain[], paramWallet?: Wallet) {\n const wallet = paramWallet || (await getPasskeyWallet());\n\n if (!wallet) throw new SwapKitError(\"wallet_passkeys_instance_missing\");\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n try {\n const walletData = await getWalletMethods({ chain, wallet });\n\n const { address, ...walletMethods } = walletData;\n\n addChain({\n ...walletMethods,\n address,\n chain,\n disconnect: wallet.disconnect,\n walletType: WalletOption.PASSKEYS,\n });\n } catch (error) {\n console.error(`Failed to connect ${chain} wallet:`, error);\n throw error;\n }\n }),\n );\n\n return true;\n },\n name: \"connectPasskeys\",\n supportedChains: [...EVMChains, Chain.Bitcoin, Chain.Solana],\n walletType: WalletOption.PASSKEYS,\n});\n\nexport const PASSKEYS_SUPPORTED_CHAINS = getWalletSupportedChains(passkeysWallet);\nexport * from \"@passkeys/core\";\nexport * from \"@passkeys/react\";\n"
5
+ "import type { Wallet } from \"@passkeys/core\";\nimport { base64 } from \"@scure/base\";\nimport {\n Chain,\n EVMChains,\n filterSupportedChains,\n prepareNetworkSwitch,\n SKConfig,\n SwapKitError,\n switchEVMWalletNetwork,\n WalletOption,\n} from \"@swapkit/helpers\";\nimport type { SolanaProvider } from \"@swapkit/toolboxes/solana\";\nimport { Transaction } from \"@swapkit/utxo-signer\";\nimport {\n AddressPurpose,\n BitcoinNetworkType,\n type GetAddressOptions,\n type GetAddressResponse,\n getAddress,\n type SignTransactionOptions,\n signTransaction as satsSignTransaction,\n} from \"sats-connect\";\nimport { match } from \"ts-pattern\";\nimport { createWallet, getWalletSupportedChains } from \"../core\";\n\nasync function getPasskeyWallet() {\n const appId = SKConfig.get(\"apiKeys\").passkeys;\n const { createWallet } = await import(\"@passkeys/core\");\n\n return createWallet({\n appId: appId.length > 0 ? appId : undefined,\n providers: { bitcoin: true, ethereum: true, solana: true },\n });\n}\n\nfunction getWalletMethods({ wallet, chain: paramChain }: { wallet: Wallet; chain: Chain }) {\n return match(paramChain)\n .with(Chain.Bitcoin, async (chain) => {\n const { getUtxoToolbox } = await import(\"@swapkit/toolboxes/utxo\");\n const provider = await wallet.getProvider(\"bitcoin\");\n\n if (!provider) {\n throw new SwapKitError(\"wallet_passkeys_not_found\");\n }\n\n let address = \"\";\n\n const getProvider = () => Promise.resolve(provider);\n\n const getAddressOptions: GetAddressOptions = {\n getProvider,\n onCancel: () => {\n throw new SwapKitError(\"wallet_passkeys_request_canceled\");\n },\n onFinish: (response: GetAddressResponse) => {\n if (!response.addresses[0]) throw new SwapKitError(\"wallet_passkeys_no_address\");\n address = response.addresses[0].address;\n },\n payload: {\n message: \"Address for receiving and sending payments\",\n network: { type: BitcoinNetworkType.Mainnet },\n purposes: [AddressPurpose.Payment],\n },\n };\n\n // TODO: Towan - probably not needed ?\n await getAddress(getAddressOptions);\n\n async function signTransaction(tx: InstanceType<typeof Transaction>) {\n let signedTx: InstanceType<typeof Transaction> | undefined;\n const psbtBytes = tx.toPSBT(0);\n const psbtBase64Str = base64.encode(psbtBytes);\n const inputCount = tx.inputsLength;\n\n const signPsbtOptions: SignTransactionOptions = {\n getProvider,\n onCancel: () => {\n throw new SwapKitError(\"wallet_passkeys_signature_canceled\");\n },\n onFinish: (response) => {\n signedTx = Transaction.fromPSBT(base64.decode(response.psbtBase64));\n },\n payload: {\n broadcast: false,\n inputsToSign: [{ address: address, signingIndexes: Array.from({ length: inputCount }, (_, i) => i) }],\n message: \"Sign transaction\",\n network: { type: BitcoinNetworkType.Mainnet },\n psbtBase64: psbtBase64Str,\n },\n };\n\n await satsSignTransaction(signPsbtOptions);\n if (!signedTx) throw new SwapKitError(\"wallet_passkeys_sign_transaction_error\");\n return signedTx;\n }\n\n const signer = { getAddress: () => Promise.resolve(address), signTransaction };\n const toolbox = await getUtxoToolbox(chain, { signer });\n\n return { ...toolbox, address };\n })\n .with(...EVMChains, async (chain) => {\n const { getProvider, getEvmToolboxAsync } = await import(\"@swapkit/toolboxes/evm\");\n const { BrowserProvider } = await import(\"ethers\");\n\n const walletProvider = await wallet.getProvider(\"ethereum\");\n if (!walletProvider) {\n throw new SwapKitError(\"wallet_passkeys_not_found\");\n }\n\n const jsonRpcProvider = await getProvider(chain);\n const browserProvider = new BrowserProvider(walletProvider, \"any\");\n\n await browserProvider.send(\"eth_requestAccounts\", []);\n\n const signer = await browserProvider.getSigner();\n const address = await signer.getAddress();\n const toolbox = await getEvmToolboxAsync(chain, { provider: jsonRpcProvider, signer });\n\n try {\n if (chain !== Chain.Ethereum) {\n const networkParams = toolbox.getNetworkParams();\n await switchEVMWalletNetwork(browserProvider, chain, networkParams);\n }\n } catch {\n throw new SwapKitError(\"wallet_passkeys_failed_to_switch_network\", { chain });\n }\n\n return { ...prepareNetworkSwitch({ chain, provider: browserProvider, toolbox }), address };\n })\n .with(Chain.Solana, async () => {\n const { getSolanaToolbox } = await import(\"@swapkit/toolboxes/solana\");\n const provider = (await wallet.getProvider(\"solana\")) as any as SolanaProvider;\n const providerConnection = await provider.connect();\n const address = providerConnection.publicKey.toString();\n const toolbox = await getSolanaToolbox({ signer: provider });\n\n const disconnect = async () => {\n await provider.disconnect();\n };\n\n return { ...toolbox, address, disconnect };\n })\n .otherwise((chain) => {\n throw new SwapKitError(\"wallet_passkeys_chain_not_supported\", { chain });\n });\n}\n\nexport const passkeysWallet = createWallet({\n connect: ({ addChain, walletType, supportedChains }) =>\n async function connectPasskeys(chains: Chain[], paramWallet?: Wallet) {\n const wallet = paramWallet || (await getPasskeyWallet());\n\n if (!wallet) throw new SwapKitError(\"wallet_passkeys_instance_missing\");\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n try {\n const walletData = await getWalletMethods({ chain, wallet });\n\n const { address, ...walletMethods } = walletData;\n\n addChain({\n ...walletMethods,\n address,\n chain,\n disconnect: wallet.disconnect,\n walletType: WalletOption.PASSKEYS,\n });\n } catch (error) {\n console.error(`Failed to connect ${chain} wallet:`, error);\n throw error;\n }\n }),\n );\n\n return true;\n },\n name: \"connectPasskeys\",\n supportedChains: [...EVMChains, Chain.Bitcoin, Chain.Solana],\n walletType: WalletOption.PASSKEYS,\n});\n\nexport const PASSKEYS_SUPPORTED_CHAINS = getWalletSupportedChains(passkeysWallet);\nexport * from \"@passkeys/core\";\nexport * from \"@passkeys/react\";\n"
6
6
  ],
7
- "mappings": "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",
8
- "debugId": "65A5DC3CD890F01464756E2164756E21",
7
+ "mappings": "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",
8
+ "debugId": "54ADEEE80B38B79564756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -2,9 +2,9 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/radix/index.ts"],
4
4
  "sourcesContent": [
5
- "import {\n type AssetValue,\n Chain,\n filterSupportedChains,\n SKConfig,\n SwapKitError,\n WalletOption,\n} from \"@swapkit/helpers\";\nimport { createWallet, getWalletSupportedChains } from \"../core\";\n\nexport const radixWallet = createWallet({\n connect: ({ addChain, supportedChains, walletType }) =>\n async function connectRadixWallet(chains: Chain[]) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n const radixConfig = SKConfig.get(\"integrations\").radix;\n\n if (!radixConfig) {\n throw new SwapKitError(\"wallet_radix_not_found\");\n }\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n const walletMethods = await getWalletMethods();\n\n addChain({ ...walletMethods, chain, walletType });\n }),\n );\n\n return true;\n },\n name: \"connectRadixWallet\",\n supportedChains: [Chain.Radix],\n walletType: WalletOption.RADIX_WALLET,\n});\n\nexport const RADIX_SUPPORTED_CHAINS = getWalletSupportedChains(radixWallet);\n\nasync function getWalletMethods() {\n const { RadixDappToolkit } = await import(\"@radixdlt/radix-dapp-toolkit\");\n const { getRadixToolbox } = await import(\"@swapkit/toolboxes/radix\");\n\n const dappConfig = SKConfig.get(\"integrations\").radix;\n const rdt = RadixDappToolkit({ ...dappConfig, networkId: dappConfig.network.networkId });\n const toolbox = getRadixToolbox({ dappConfig });\n\n function delay(ms: number) {\n return new Promise((resolve) => setTimeout(resolve, ms));\n }\n\n // TODO: @Towan - Wat is dat?\n await delay(400);\n\n function getAddress() {\n const existingWalletData = rdt.walletApi.getWalletData();\n const account = existingWalletData?.accounts?.[0];\n\n return account?.address;\n }\n\n async function getNewAddress() {\n const { DataRequestBuilder } = await import(\"@radixdlt/radix-dapp-toolkit\");\n rdt.walletApi.setRequestData(DataRequestBuilder.accounts().exactly(1));\n const res = await rdt.walletApi.sendRequest();\n\n if (!res) {\n throw new SwapKitError(\"wallet_radix_no_account\");\n }\n\n const newAddress = res.unwrapOr(null)?.accounts[0]?.address;\n\n if (!newAddress) {\n throw new SwapKitError(\"wallet_radix_no_account\");\n }\n\n return newAddress;\n }\n\n const address = getAddress() || (await getNewAddress());\n\n return {\n address,\n getAddress,\n getBalance: () => toolbox.getBalance(address),\n radixDappToolkit: rdt,\n signAndBroadcast: async ({ manifest, message }: { manifest: string; message: string }) => {\n const tx = await rdt.walletApi.sendTransaction({ message, transactionManifest: manifest });\n\n const txResult = tx.unwrapOr(null)?.transactionIntentHash;\n\n if (!txResult) {\n throw new SwapKitError(\"wallet_radix_transaction_failed\");\n }\n\n return txResult;\n },\n transfer: (_params: { assetValue: AssetValue; recipient: string; from: string }) => {\n throw new SwapKitError(\"wallet_radix_method_not_supported\", { method: \"transfer\" });\n },\n };\n}\n"
5
+ "import { type AssetValue, Chain, filterSupportedChains, SKConfig, SwapKitError, WalletOption } from \"@swapkit/helpers\";\nimport { createWallet, getWalletSupportedChains } from \"../core\";\n\nexport const radixWallet = createWallet({\n connect: ({ addChain, supportedChains, walletType }) =>\n async function connectRadixWallet(chains: Chain[]) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n const radixConfig = SKConfig.get(\"integrations\").radix;\n\n if (!radixConfig) {\n throw new SwapKitError(\"wallet_radix_not_found\");\n }\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n const walletMethods = await getWalletMethods();\n\n addChain({ ...walletMethods, chain, walletType });\n }),\n );\n\n return true;\n },\n name: \"connectRadixWallet\",\n supportedChains: [Chain.Radix],\n walletType: WalletOption.RADIX_WALLET,\n});\n\nexport const RADIX_SUPPORTED_CHAINS = getWalletSupportedChains(radixWallet);\n\nasync function getWalletMethods() {\n const { RadixDappToolkit } = await import(\"@radixdlt/radix-dapp-toolkit\");\n const { getRadixToolbox } = await import(\"@swapkit/toolboxes/radix\");\n\n const dappConfig = SKConfig.get(\"integrations\").radix;\n const rdt = RadixDappToolkit({ ...dappConfig, networkId: dappConfig.network.networkId });\n const toolbox = getRadixToolbox({ dappConfig });\n\n function delay(ms: number) {\n return new Promise((resolve) => setTimeout(resolve, ms));\n }\n\n // TODO: @Towan - Wat is dat?\n await delay(400);\n\n function getAddress() {\n const existingWalletData = rdt.walletApi.getWalletData();\n const account = existingWalletData?.accounts?.[0];\n\n return account?.address;\n }\n\n async function getNewAddress() {\n const { DataRequestBuilder } = await import(\"@radixdlt/radix-dapp-toolkit\");\n rdt.walletApi.setRequestData(DataRequestBuilder.accounts().exactly(1));\n const res = await rdt.walletApi.sendRequest();\n\n if (!res) {\n throw new SwapKitError(\"wallet_radix_no_account\");\n }\n\n const newAddress = res.unwrapOr(null)?.accounts[0]?.address;\n\n if (!newAddress) {\n throw new SwapKitError(\"wallet_radix_no_account\");\n }\n\n return newAddress;\n }\n\n const address = getAddress() || (await getNewAddress());\n\n return {\n address,\n getAddress,\n getBalance: () => toolbox.getBalance(address),\n radixDappToolkit: rdt,\n signAndBroadcast: async ({ manifest, message }: { manifest: string; message: string }) => {\n const tx = await rdt.walletApi.sendTransaction({ message, transactionManifest: manifest });\n\n const txResult = tx.unwrapOr(null)?.transactionIntentHash;\n\n if (!txResult) {\n throw new SwapKitError(\"wallet_radix_transaction_failed\");\n }\n\n return txResult;\n },\n transfer: (_params: { assetValue: AssetValue; recipient: string; from: string }) => {\n throw new SwapKitError(\"wallet_radix_method_not_supported\", { method: \"transfer\" });\n },\n };\n}\n"
6
6
  ],
7
- "mappings": "mFAOO,IAPP,8BAUO,IAAM,EAAc,EAAa,CACtC,QAAS,EAAG,WAAU,kBAAiB,gBACrC,cAAiC,CAAC,EAAiB,CACjD,IAAM,EAAiB,wBAAsB,CAAE,SAAQ,kBAAiB,YAAW,CAAC,EAGpF,GAAI,CAFgB,WAAS,IAAI,cAAc,EAAE,MAG/C,MAAM,IAAI,eAAa,wBAAwB,EAWjD,OARA,MAAM,QAAQ,IACZ,EAAe,IAAI,MAAO,IAAU,CAClC,IAAM,EAAgB,MAAM,EAAiB,EAE7C,EAAS,IAAK,EAAe,QAAO,YAAW,CAAC,EACjD,CACH,EAEO,IAEX,KAAM,qBACN,gBAAiB,CAAC,QAAM,KAAK,EAC7B,WAAY,eAAa,YAC3B,CAAC,EAEY,EAAyB,EAAyB,CAAW,EAE1E,eAAe,CAAgB,EAAG,CAChC,IAAQ,oBAAqB,KAAa,yCAClC,mBAAoB,KAAa,oCAEnC,EAAa,WAAS,IAAI,cAAc,EAAE,MAC1C,EAAM,EAAiB,IAAK,EAAY,UAAW,EAAW,QAAQ,SAAU,CAAC,EACjF,EAAU,EAAgB,CAAE,YAAW,CAAC,EAE9C,SAAS,CAAK,CAAC,EAAY,CACzB,OAAO,IAAI,QAAQ,CAAC,IAAY,WAAW,EAAS,CAAE,CAAC,EAIzD,MAAM,EAAM,GAAG,EAEf,SAAS,CAAU,EAAG,CAIpB,OAH2B,EAAI,UAAU,cAAc,GACnB,WAAW,IAE/B,QAGlB,eAAe,CAAa,EAAG,CAC7B,IAAQ,sBAAuB,KAAa,wCAC5C,EAAI,UAAU,eAAe,EAAmB,SAAS,EAAE,QAAQ,CAAC,CAAC,EACrE,IAAM,EAAM,MAAM,EAAI,UAAU,YAAY,EAE5C,GAAI,CAAC,EACH,MAAM,IAAI,eAAa,yBAAyB,EAGlD,IAAM,EAAa,EAAI,SAAS,IAAI,GAAG,SAAS,IAAI,QAEpD,GAAI,CAAC,EACH,MAAM,IAAI,eAAa,yBAAyB,EAGlD,OAAO,EAGT,IAAM,EAAU,EAAW,GAAM,MAAM,EAAc,EAErD,MAAO,CACL,UACA,aACA,WAAY,IAAM,EAAQ,WAAW,CAAO,EAC5C,iBAAkB,EAClB,iBAAkB,OAAS,WAAU,aAAqD,CAGxF,IAAM,GAFK,MAAM,EAAI,UAAU,gBAAgB,CAAE,UAAS,oBAAqB,CAAS,CAAC,GAErE,SAAS,IAAI,GAAG,sBAEpC,GAAI,CAAC,EACH,MAAM,IAAI,eAAa,iCAAiC,EAG1D,OAAO,GAET,SAAU,CAAC,IAAyE,CAClF,MAAM,IAAI,eAAa,oCAAqC,CAAE,OAAQ,UAAW,CAAC,EAEtF",
7
+ "mappings": "mFAAoG,IAApG,8BAGO,IAAM,EAAc,EAAa,CACtC,QAAS,EAAG,WAAU,kBAAiB,gBACrC,cAAiC,CAAC,EAAiB,CACjD,IAAM,EAAiB,wBAAsB,CAAE,SAAQ,kBAAiB,YAAW,CAAC,EAGpF,GAAI,CAFgB,WAAS,IAAI,cAAc,EAAE,MAG/C,MAAM,IAAI,eAAa,wBAAwB,EAWjD,OARA,MAAM,QAAQ,IACZ,EAAe,IAAI,MAAO,IAAU,CAClC,IAAM,EAAgB,MAAM,EAAiB,EAE7C,EAAS,IAAK,EAAe,QAAO,YAAW,CAAC,EACjD,CACH,EAEO,IAEX,KAAM,qBACN,gBAAiB,CAAC,QAAM,KAAK,EAC7B,WAAY,eAAa,YAC3B,CAAC,EAEY,EAAyB,EAAyB,CAAW,EAE1E,eAAe,CAAgB,EAAG,CAChC,IAAQ,oBAAqB,KAAa,yCAClC,mBAAoB,KAAa,oCAEnC,EAAa,WAAS,IAAI,cAAc,EAAE,MAC1C,EAAM,EAAiB,IAAK,EAAY,UAAW,EAAW,QAAQ,SAAU,CAAC,EACjF,EAAU,EAAgB,CAAE,YAAW,CAAC,EAE9C,SAAS,CAAK,CAAC,EAAY,CACzB,OAAO,IAAI,QAAQ,CAAC,IAAY,WAAW,EAAS,CAAE,CAAC,EAIzD,MAAM,EAAM,GAAG,EAEf,SAAS,CAAU,EAAG,CAIpB,OAH2B,EAAI,UAAU,cAAc,GACnB,WAAW,IAE/B,QAGlB,eAAe,CAAa,EAAG,CAC7B,IAAQ,sBAAuB,KAAa,wCAC5C,EAAI,UAAU,eAAe,EAAmB,SAAS,EAAE,QAAQ,CAAC,CAAC,EACrE,IAAM,EAAM,MAAM,EAAI,UAAU,YAAY,EAE5C,GAAI,CAAC,EACH,MAAM,IAAI,eAAa,yBAAyB,EAGlD,IAAM,EAAa,EAAI,SAAS,IAAI,GAAG,SAAS,IAAI,QAEpD,GAAI,CAAC,EACH,MAAM,IAAI,eAAa,yBAAyB,EAGlD,OAAO,EAGT,IAAM,EAAU,EAAW,GAAM,MAAM,EAAc,EAErD,MAAO,CACL,UACA,aACA,WAAY,IAAM,EAAQ,WAAW,CAAO,EAC5C,iBAAkB,EAClB,iBAAkB,OAAS,WAAU,aAAqD,CAGxF,IAAM,GAFK,MAAM,EAAI,UAAU,gBAAgB,CAAE,UAAS,oBAAqB,CAAS,CAAC,GAErE,SAAS,IAAI,GAAG,sBAEpC,GAAI,CAAC,EACH,MAAM,IAAI,eAAa,iCAAiC,EAG1D,OAAO,GAET,SAAU,CAAC,IAAyE,CAClF,MAAM,IAAI,eAAa,oCAAqC,CAAE,OAAQ,UAAW,CAAC,EAEtF",
8
8
  "debugId": "C82A8FC13E2CDF5164756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -2,9 +2,9 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/radix/index.ts"],
4
4
  "sourcesContent": [
5
- "import {\n type AssetValue,\n Chain,\n filterSupportedChains,\n SKConfig,\n SwapKitError,\n WalletOption,\n} from \"@swapkit/helpers\";\nimport { createWallet, getWalletSupportedChains } from \"../core\";\n\nexport const radixWallet = createWallet({\n connect: ({ addChain, supportedChains, walletType }) =>\n async function connectRadixWallet(chains: Chain[]) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n const radixConfig = SKConfig.get(\"integrations\").radix;\n\n if (!radixConfig) {\n throw new SwapKitError(\"wallet_radix_not_found\");\n }\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n const walletMethods = await getWalletMethods();\n\n addChain({ ...walletMethods, chain, walletType });\n }),\n );\n\n return true;\n },\n name: \"connectRadixWallet\",\n supportedChains: [Chain.Radix],\n walletType: WalletOption.RADIX_WALLET,\n});\n\nexport const RADIX_SUPPORTED_CHAINS = getWalletSupportedChains(radixWallet);\n\nasync function getWalletMethods() {\n const { RadixDappToolkit } = await import(\"@radixdlt/radix-dapp-toolkit\");\n const { getRadixToolbox } = await import(\"@swapkit/toolboxes/radix\");\n\n const dappConfig = SKConfig.get(\"integrations\").radix;\n const rdt = RadixDappToolkit({ ...dappConfig, networkId: dappConfig.network.networkId });\n const toolbox = getRadixToolbox({ dappConfig });\n\n function delay(ms: number) {\n return new Promise((resolve) => setTimeout(resolve, ms));\n }\n\n // TODO: @Towan - Wat is dat?\n await delay(400);\n\n function getAddress() {\n const existingWalletData = rdt.walletApi.getWalletData();\n const account = existingWalletData?.accounts?.[0];\n\n return account?.address;\n }\n\n async function getNewAddress() {\n const { DataRequestBuilder } = await import(\"@radixdlt/radix-dapp-toolkit\");\n rdt.walletApi.setRequestData(DataRequestBuilder.accounts().exactly(1));\n const res = await rdt.walletApi.sendRequest();\n\n if (!res) {\n throw new SwapKitError(\"wallet_radix_no_account\");\n }\n\n const newAddress = res.unwrapOr(null)?.accounts[0]?.address;\n\n if (!newAddress) {\n throw new SwapKitError(\"wallet_radix_no_account\");\n }\n\n return newAddress;\n }\n\n const address = getAddress() || (await getNewAddress());\n\n return {\n address,\n getAddress,\n getBalance: () => toolbox.getBalance(address),\n radixDappToolkit: rdt,\n signAndBroadcast: async ({ manifest, message }: { manifest: string; message: string }) => {\n const tx = await rdt.walletApi.sendTransaction({ message, transactionManifest: manifest });\n\n const txResult = tx.unwrapOr(null)?.transactionIntentHash;\n\n if (!txResult) {\n throw new SwapKitError(\"wallet_radix_transaction_failed\");\n }\n\n return txResult;\n },\n transfer: (_params: { assetValue: AssetValue; recipient: string; from: string }) => {\n throw new SwapKitError(\"wallet_radix_method_not_supported\", { method: \"transfer\" });\n },\n };\n}\n"
5
+ "import { type AssetValue, Chain, filterSupportedChains, SKConfig, SwapKitError, WalletOption } from \"@swapkit/helpers\";\nimport { createWallet, getWalletSupportedChains } from \"../core\";\n\nexport const radixWallet = createWallet({\n connect: ({ addChain, supportedChains, walletType }) =>\n async function connectRadixWallet(chains: Chain[]) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n const radixConfig = SKConfig.get(\"integrations\").radix;\n\n if (!radixConfig) {\n throw new SwapKitError(\"wallet_radix_not_found\");\n }\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n const walletMethods = await getWalletMethods();\n\n addChain({ ...walletMethods, chain, walletType });\n }),\n );\n\n return true;\n },\n name: \"connectRadixWallet\",\n supportedChains: [Chain.Radix],\n walletType: WalletOption.RADIX_WALLET,\n});\n\nexport const RADIX_SUPPORTED_CHAINS = getWalletSupportedChains(radixWallet);\n\nasync function getWalletMethods() {\n const { RadixDappToolkit } = await import(\"@radixdlt/radix-dapp-toolkit\");\n const { getRadixToolbox } = await import(\"@swapkit/toolboxes/radix\");\n\n const dappConfig = SKConfig.get(\"integrations\").radix;\n const rdt = RadixDappToolkit({ ...dappConfig, networkId: dappConfig.network.networkId });\n const toolbox = getRadixToolbox({ dappConfig });\n\n function delay(ms: number) {\n return new Promise((resolve) => setTimeout(resolve, ms));\n }\n\n // TODO: @Towan - Wat is dat?\n await delay(400);\n\n function getAddress() {\n const existingWalletData = rdt.walletApi.getWalletData();\n const account = existingWalletData?.accounts?.[0];\n\n return account?.address;\n }\n\n async function getNewAddress() {\n const { DataRequestBuilder } = await import(\"@radixdlt/radix-dapp-toolkit\");\n rdt.walletApi.setRequestData(DataRequestBuilder.accounts().exactly(1));\n const res = await rdt.walletApi.sendRequest();\n\n if (!res) {\n throw new SwapKitError(\"wallet_radix_no_account\");\n }\n\n const newAddress = res.unwrapOr(null)?.accounts[0]?.address;\n\n if (!newAddress) {\n throw new SwapKitError(\"wallet_radix_no_account\");\n }\n\n return newAddress;\n }\n\n const address = getAddress() || (await getNewAddress());\n\n return {\n address,\n getAddress,\n getBalance: () => toolbox.getBalance(address),\n radixDappToolkit: rdt,\n signAndBroadcast: async ({ manifest, message }: { manifest: string; message: string }) => {\n const tx = await rdt.walletApi.sendTransaction({ message, transactionManifest: manifest });\n\n const txResult = tx.unwrapOr(null)?.transactionIntentHash;\n\n if (!txResult) {\n throw new SwapKitError(\"wallet_radix_transaction_failed\");\n }\n\n return txResult;\n },\n transfer: (_params: { assetValue: AssetValue; recipient: string; from: string }) => {\n throw new SwapKitError(\"wallet_radix_method_not_supported\", { method: \"transfer\" });\n },\n };\n}\n"
6
6
  ],
7
- "mappings": "iGAAA,cAEE,2BACA,cACA,kBACA,kBACA,yBAIK,IAAM,EAAc,EAAa,CACtC,QAAS,EAAG,WAAU,kBAAiB,gBACrC,cAAiC,CAAC,EAAiB,CACjD,IAAM,EAAiB,EAAsB,CAAE,SAAQ,kBAAiB,YAAW,CAAC,EAGpF,GAAI,CAFgB,EAAS,IAAI,cAAc,EAAE,MAG/C,MAAM,IAAI,EAAa,wBAAwB,EAWjD,OARA,MAAM,QAAQ,IACZ,EAAe,IAAI,MAAO,IAAU,CAClC,IAAM,EAAgB,MAAM,EAAiB,EAE7C,EAAS,IAAK,EAAe,QAAO,YAAW,CAAC,EACjD,CACH,EAEO,IAEX,KAAM,qBACN,gBAAiB,CAAC,EAAM,KAAK,EAC7B,WAAY,EAAa,YAC3B,CAAC,EAEY,EAAyB,EAAyB,CAAW,EAE1E,eAAe,CAAgB,EAAG,CAChC,IAAQ,oBAAqB,KAAa,yCAClC,mBAAoB,KAAa,oCAEnC,EAAa,EAAS,IAAI,cAAc,EAAE,MAC1C,EAAM,EAAiB,IAAK,EAAY,UAAW,EAAW,QAAQ,SAAU,CAAC,EACjF,EAAU,EAAgB,CAAE,YAAW,CAAC,EAE9C,SAAS,CAAK,CAAC,EAAY,CACzB,OAAO,IAAI,QAAQ,CAAC,IAAY,WAAW,EAAS,CAAE,CAAC,EAIzD,MAAM,EAAM,GAAG,EAEf,SAAS,CAAU,EAAG,CAIpB,OAH2B,EAAI,UAAU,cAAc,GACnB,WAAW,IAE/B,QAGlB,eAAe,CAAa,EAAG,CAC7B,IAAQ,sBAAuB,KAAa,wCAC5C,EAAI,UAAU,eAAe,EAAmB,SAAS,EAAE,QAAQ,CAAC,CAAC,EACrE,IAAM,EAAM,MAAM,EAAI,UAAU,YAAY,EAE5C,GAAI,CAAC,EACH,MAAM,IAAI,EAAa,yBAAyB,EAGlD,IAAM,EAAa,EAAI,SAAS,IAAI,GAAG,SAAS,IAAI,QAEpD,GAAI,CAAC,EACH,MAAM,IAAI,EAAa,yBAAyB,EAGlD,OAAO,EAGT,IAAM,EAAU,EAAW,GAAM,MAAM,EAAc,EAErD,MAAO,CACL,UACA,aACA,WAAY,IAAM,EAAQ,WAAW,CAAO,EAC5C,iBAAkB,EAClB,iBAAkB,OAAS,WAAU,aAAqD,CAGxF,IAAM,GAFK,MAAM,EAAI,UAAU,gBAAgB,CAAE,UAAS,oBAAqB,CAAS,CAAC,GAErE,SAAS,IAAI,GAAG,sBAEpC,GAAI,CAAC,EACH,MAAM,IAAI,EAAa,iCAAiC,EAG1D,OAAO,GAET,SAAU,CAAC,IAAyE,CAClF,MAAM,IAAI,EAAa,oCAAqC,CAAE,OAAQ,UAAW,CAAC,EAEtF",
7
+ "mappings": "iGAAA,cAA0B,2BAAO,cAAuB,kBAAU,kBAAc,yBAGzE,IAAM,EAAc,EAAa,CACtC,QAAS,EAAG,WAAU,kBAAiB,gBACrC,cAAiC,CAAC,EAAiB,CACjD,IAAM,EAAiB,EAAsB,CAAE,SAAQ,kBAAiB,YAAW,CAAC,EAGpF,GAAI,CAFgB,EAAS,IAAI,cAAc,EAAE,MAG/C,MAAM,IAAI,EAAa,wBAAwB,EAWjD,OARA,MAAM,QAAQ,IACZ,EAAe,IAAI,MAAO,IAAU,CAClC,IAAM,EAAgB,MAAM,EAAiB,EAE7C,EAAS,IAAK,EAAe,QAAO,YAAW,CAAC,EACjD,CACH,EAEO,IAEX,KAAM,qBACN,gBAAiB,CAAC,EAAM,KAAK,EAC7B,WAAY,EAAa,YAC3B,CAAC,EAEY,EAAyB,EAAyB,CAAW,EAE1E,eAAe,CAAgB,EAAG,CAChC,IAAQ,oBAAqB,KAAa,yCAClC,mBAAoB,KAAa,oCAEnC,EAAa,EAAS,IAAI,cAAc,EAAE,MAC1C,EAAM,EAAiB,IAAK,EAAY,UAAW,EAAW,QAAQ,SAAU,CAAC,EACjF,EAAU,EAAgB,CAAE,YAAW,CAAC,EAE9C,SAAS,CAAK,CAAC,EAAY,CACzB,OAAO,IAAI,QAAQ,CAAC,IAAY,WAAW,EAAS,CAAE,CAAC,EAIzD,MAAM,EAAM,GAAG,EAEf,SAAS,CAAU,EAAG,CAIpB,OAH2B,EAAI,UAAU,cAAc,GACnB,WAAW,IAE/B,QAGlB,eAAe,CAAa,EAAG,CAC7B,IAAQ,sBAAuB,KAAa,wCAC5C,EAAI,UAAU,eAAe,EAAmB,SAAS,EAAE,QAAQ,CAAC,CAAC,EACrE,IAAM,EAAM,MAAM,EAAI,UAAU,YAAY,EAE5C,GAAI,CAAC,EACH,MAAM,IAAI,EAAa,yBAAyB,EAGlD,IAAM,EAAa,EAAI,SAAS,IAAI,GAAG,SAAS,IAAI,QAEpD,GAAI,CAAC,EACH,MAAM,IAAI,EAAa,yBAAyB,EAGlD,OAAO,EAGT,IAAM,EAAU,EAAW,GAAM,MAAM,EAAc,EAErD,MAAO,CACL,UACA,aACA,WAAY,IAAM,EAAQ,WAAW,CAAO,EAC5C,iBAAkB,EAClB,iBAAkB,OAAS,WAAU,aAAqD,CAGxF,IAAM,GAFK,MAAM,EAAI,UAAU,gBAAgB,CAAE,UAAS,oBAAqB,CAAS,CAAC,GAErE,SAAS,IAAI,GAAG,sBAEpC,GAAI,CAAC,EACH,MAAM,IAAI,EAAa,iCAAiC,EAG1D,OAAO,GAET,SAAU,CAAC,IAAyE,CAClF,MAAM,IAAI,EAAa,oCAAqC,CAAE,OAAQ,UAAW,CAAC,EAEtF",
8
8
  "debugId": "CF8715272828085D64756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -2,7 +2,7 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/walletconnect/index.ts", "../src/walletconnect/evmSigner.ts", "../src/walletconnect/helpers.ts", "../src/walletconnect/namespaces.ts"],
4
4
  "sourcesContent": [
5
- "import type { StdSignDoc } from \"@cosmjs/amino\";\nimport type { Transaction } from \"@near-js/transactions\";\nimport {\n Chain,\n filterSupportedChains,\n type GenericTransferParams,\n getRPCUrl,\n SKConfig,\n SwapKitError,\n WalletOption,\n} from \"@swapkit/helpers\";\nimport type { ThorchainDepositParams } from \"@swapkit/toolboxes/cosmos\";\nimport type { NearSigner } from \"@swapkit/toolboxes/near\";\nimport type { TronSignedTransaction, TronSigner, TronTransaction } from \"@swapkit/toolboxes/tron\";\nimport { createWallet, getWalletSupportedChains } from \"../core\";\nimport type { WalletConnectModal } from \"@walletconnect/modal\";\nimport type { SignClient } from \"@walletconnect/sign-client\";\nimport type { SessionTypes, SignClientTypes } from \"@walletconnect/types\";\nimport {\n DEFAULT_APP_METADATA,\n DEFAULT_COSMOS_METHODS,\n DEFAULT_LOGGER,\n DEFAULT_RELAY_URL,\n THORCHAIN_MAINNET_ID,\n} from \"./constants\";\nimport { getEVMSigner } from \"./evmSigner\";\nimport { chainToChainId, getAddressByChain } from \"./helpers\";\nimport { getRequiredNamespaces } from \"./namespaces\";\n\nexport * from \"./constants\";\nexport * from \"./types\";\n\nexport const walletconnectWallet = createWallet({\n connect: ({ addChain, supportedChains, walletType }) =>\n async function connectWalletconnect(chains: Chain[], walletconnectOptions?: SignClientTypes.Options) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n const { walletConnectProjectId } = SKConfig.get(\"apiKeys\");\n\n if (!walletConnectProjectId) {\n throw new SwapKitError(\"wallet_walletconnect_project_id_not_specified\");\n }\n\n const walletconnect = await getWalletconnect(filteredChains, walletConnectProjectId, walletconnectOptions);\n\n if (!walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n const { accounts } = walletconnect;\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n const address = getAddressByChain(chain, accounts || []);\n const toolbox = await getToolbox({ address, chain, walletconnect });\n\n addChain({\n ...toolbox,\n address,\n chain,\n disconnect: walletconnect.disconnect,\n walletType: WalletOption.WALLETCONNECT,\n });\n }),\n );\n\n return true;\n },\n name: \"connectWalletconnect\",\n supportedChains: [\n Chain.Arbitrum,\n Chain.Aurora,\n Chain.Avalanche,\n Chain.Base,\n Chain.Berachain,\n Chain.BinanceSmartChain,\n Chain.Cosmos,\n Chain.Ethereum,\n Chain.Kujira,\n Chain.Maya,\n Chain.Monad,\n Chain.Near,\n Chain.Optimism,\n Chain.Polygon,\n Chain.THORChain,\n Chain.Tron,\n Chain.XLayer,\n ],\n walletType: WalletOption.WALLETCONNECT,\n});\n\nexport const WC_SUPPORTED_CHAINS = getWalletSupportedChains(walletconnectWallet);\nexport type Walletconnect = Awaited<ReturnType<typeof getWalletconnect>>;\n\nasync function getToolbox<T extends (typeof WC_SUPPORTED_CHAINS)[number]>({\n chain,\n walletconnect,\n address,\n}: {\n walletconnect: Walletconnect;\n chain: T;\n address: string;\n}) {\n const session = walletconnect?.session;\n if (!session) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n switch (chain) {\n case Chain.Arbitrum:\n case Chain.Avalanche:\n case Chain.Base:\n case Chain.BinanceSmartChain:\n case Chain.Ethereum:\n case Chain.Monad:\n case Chain.Optimism:\n case Chain.Polygon:\n case Chain.XLayer: {\n const { getProvider, getEvmToolboxAsync } = await import(\"@swapkit/toolboxes/evm\");\n\n const provider = await getProvider(chain);\n const signer = await getEVMSigner({ chain, provider, walletconnect });\n const toolbox = await getEvmToolboxAsync(chain, { provider, signer });\n\n return toolbox;\n }\n\n case Chain.THORChain: {\n const { SignMode } = await import(\"cosmjs-types/cosmos/tx/signing/v1beta1/signing.js\");\n const { TxRaw } = await import(\"cosmjs-types/cosmos/tx/v1beta1/tx.js\");\n\n const importedSigning = await import(\"@cosmjs/proto-signing\");\n const encodePubkey = importedSigning.encodePubkey ?? importedSigning.default?.encodePubkey;\n const makeAuthInfoBytes = importedSigning.makeAuthInfoBytes ?? importedSigning.default?.makeAuthInfoBytes;\n const importedAmino = await import(\"@cosmjs/amino\");\n const makeSignDoc = importedAmino.makeSignDoc ?? importedSigning.default?.makeSignDoc;\n\n const {\n getCosmosToolbox,\n buildAminoMsg,\n buildEncodedTxBody,\n createStargateClient,\n fromBase64,\n getDefaultChainFee,\n parseAminoMessageForDirectSigning,\n } = await import(\"@swapkit/toolboxes/cosmos\");\n const toolbox = await getCosmosToolbox(chain);\n\n const fee = getDefaultChainFee(chain);\n\n const signRequest = (signDoc: StdSignDoc) =>\n walletconnect?.client.request({\n chainId: THORCHAIN_MAINNET_ID,\n request: { method: DEFAULT_COSMOS_METHODS.COSMOS_SIGN_AMINO, params: { signDoc, signerAddress: address } },\n topic: session.topic,\n });\n\n async function thorchainTransfer({ assetValue, memo, ...rest }: GenericTransferParams | ThorchainDepositParams) {\n const account = await toolbox.getAccount(address);\n if (!account) {\n throw new SwapKitError({ errorKey: \"wallet_missing_params\", info: { account } });\n }\n\n if (!account.pubkey) {\n throw new SwapKitError({ errorKey: \"wallet_missing_params\", info: { account, pubkey: account?.pubkey } });\n }\n\n const { accountNumber, sequence = 0 } = account;\n\n const msgs = [buildAminoMsg({ ...rest, assetValue, memo, sender: address })];\n\n const signDoc = makeSignDoc(\n msgs,\n fee,\n assetValue.chainId,\n memo,\n accountNumber?.toString(),\n sequence?.toString() || \"0\",\n );\n\n const signature: any = await signRequest(signDoc);\n\n const bodyBytes = await buildEncodedTxBody({\n chain: Chain.THORChain,\n memo: memo || \"\",\n msgs: msgs.map(parseAminoMessageForDirectSigning),\n });\n const pubkey = encodePubkey(account.pubkey);\n const authInfoBytes = makeAuthInfoBytes(\n [{ pubkey, sequence }],\n fee.amount,\n Number.parseInt(fee.gas, 10),\n undefined,\n undefined,\n SignMode.SIGN_MODE_LEGACY_AMINO_JSON,\n );\n\n const txRaw = TxRaw.fromPartial({\n authInfoBytes,\n bodyBytes,\n signatures: [\n fromBase64(typeof signature.signature === \"string\" ? signature.signature : signature.signature.signature),\n ],\n });\n const txBytes = TxRaw.encode(txRaw).finish();\n\n const rpcUrl = await getRPCUrl(Chain.THORChain);\n const broadcaster = await createStargateClient(rpcUrl);\n const result = await broadcaster.broadcastTx(txBytes);\n return result.transactionHash;\n }\n\n return {\n ...toolbox,\n deposit: (params: ThorchainDepositParams) => thorchainTransfer(params),\n transfer: (params: GenericTransferParams) => thorchainTransfer(params),\n };\n }\n\n case Chain.Near: {\n const { getNearToolbox } = await import(\"@swapkit/toolboxes/near\");\n const { DEFAULT_NEAR_METHODS } = await import(\"./constants\");\n\n // Create a NEAR signer that uses WalletConnect\n const signer = {\n getAddress() {\n return Promise.resolve(address);\n },\n getPublicKey() {\n // WalletConnect NEAR doesn't expose public key directly\n return Promise.reject(\n new SwapKitError(\"wallet_walletconnect_method_not_supported\", { method: \"getPublicKey\" }),\n );\n },\n\n signDelegateAction(_delegateAction: any) {\n return Promise.reject(\n new SwapKitError(\"wallet_walletconnect_method_not_supported\", { method: \"signDelegateAction\" }),\n );\n },\n\n signNep413Message(\n _message: string,\n _accountId: string,\n _recipient: string,\n _nonce: Uint8Array,\n _callbackUrl?: string,\n ) {\n // WalletConnect NEAR spec doesn't include NEP-413 message signing\n return Promise.reject(\n new SwapKitError(\"wallet_walletconnect_method_not_supported\", { method: \"signNep413Message\" }),\n );\n },\n\n async signTransaction(transaction: Transaction) {\n if (!walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n // WalletConnect signs and sends in one operation\n const result = await walletconnect.client.request({\n chainId: chainToChainId(Chain.Near),\n request: { method: DEFAULT_NEAR_METHODS.NEAR_SIGN_AND_SEND_TRANSACTION, params: { transaction } },\n topic: session.topic,\n });\n // Return dummy hash and result\n return [new Uint8Array(32), result];\n },\n } as NearSigner;\n\n const toolbox = getNearToolbox({ signer });\n return toolbox;\n }\n\n case Chain.Tron: {\n const { getTronToolbox } = await import(\"@swapkit/toolboxes/tron\");\n const { DEFAULT_TRON_METHODS } = await import(\"./constants\");\n\n // Create a Tron signer that uses WalletConnect\n const signer: TronSigner = {\n getAddress() {\n return Promise.resolve(address);\n },\n\n async signTransaction(transaction: TronTransaction) {\n if (!walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n const signedTx = await walletconnect.client.request({\n chainId: chainToChainId(Chain.Tron),\n request: { method: DEFAULT_TRON_METHODS.TRON_SIGN_TRANSACTION, params: { transaction } },\n topic: session.topic,\n });\n\n return signedTx as TronSignedTransaction;\n },\n };\n\n const toolbox = getTronToolbox({ signer });\n\n return toolbox;\n }\n\n default:\n throw new SwapKitError({\n errorKey: \"wallet_chain_not_supported\",\n info: { chain, wallet: WalletOption.WALLETCONNECT },\n });\n }\n}\n\nasync function getWalletconnect(\n chains: Chain[],\n walletConnectProjectId: string,\n walletconnectOptions?: SignClientTypes.Options,\n) {\n let modal: WalletConnectModal | undefined;\n let signer: typeof SignClient | undefined;\n let session: SessionTypes.Struct | undefined;\n let accounts: string[] | undefined;\n try {\n const requiredNamespaces = getRequiredNamespaces(chains.map(chainToChainId));\n\n const { SignClient } = await import(\"@walletconnect/sign-client\");\n const { WalletConnectModal } = await import(\"@walletconnect/modal\");\n\n const client = await SignClient.init({\n logger: DEFAULT_LOGGER,\n metadata: walletconnectOptions?.metadata || DEFAULT_APP_METADATA,\n projectId: walletConnectProjectId,\n relayUrl: DEFAULT_RELAY_URL,\n ...walletconnectOptions?.core,\n });\n\n const modal = new WalletConnectModal({\n logger: DEFAULT_LOGGER,\n projectId: walletConnectProjectId,\n relayUrl: DEFAULT_RELAY_URL,\n ...walletconnectOptions?.core,\n });\n\n const oldSession = (await client.session.getAll())[0];\n\n // disconnect old Session cause we can't handle using it with current ui\n if (oldSession) {\n await client.disconnect({ reason: { code: 0, message: \"Resetting session\" }, topic: oldSession.topic });\n }\n\n const { uri, approval } = await client.connect({\n // Optionally: pass a known prior pairing (e.g. from `client.core.pairing.getPairings()`) to skip the `uri` step.\n // pairingTopic: pairing?.topic,\n // Provide the namespaces and chains (e.g. `eip155` for EVM-based chains) we want to use in this session.\n requiredNamespaces,\n });\n\n if (uri) {\n modal.openModal({ uri });\n // Await session approval from the wallet.\n session = await approval();\n // Handle the returned session (e.g. update UI to \"connected\" state).\n // Close the QRCode modal in case it was open.\n modal.closeModal();\n\n function extractAccountsFromSession(session: SessionTypes.Struct) {\n const accounts: string[] = [];\n\n for (const [_namespace, data] of Object.entries(session.namespaces)) {\n accounts.push(...data.accounts);\n }\n\n return accounts;\n }\n\n accounts = extractAccountsFromSession(session);\n }\n\n const disconnect = async () => {\n session && (await client.disconnect({ reason: { code: 0, message: \"User disconnected\" }, topic: session.topic }));\n };\n\n if (!session) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n return { accounts, client, disconnect, session, signer };\n } catch {\n // Errors are handled by returning undefined\n } finally {\n if (modal) {\n modal.closeModal();\n }\n }\n return undefined;\n}\n",
5
+ "import type { StdSignDoc } from \"@cosmjs/amino\";\nimport type { Transaction } from \"@near-js/transactions\";\nimport {\n Chain,\n filterSupportedChains,\n type GenericTransferParams,\n getRPCUrl,\n SKConfig,\n SwapKitError,\n WalletOption,\n} from \"@swapkit/helpers\";\nimport type { ThorchainDepositParams } from \"@swapkit/toolboxes/cosmos\";\nimport type { NearSigner } from \"@swapkit/toolboxes/near\";\nimport type { TronSignedTransaction, TronSigner, TronTransaction } from \"@swapkit/toolboxes/tron\";\nimport type { WalletConnectModal } from \"@walletconnect/modal\";\nimport type { SignClient } from \"@walletconnect/sign-client\";\nimport type { SessionTypes, SignClientTypes } from \"@walletconnect/types\";\nimport { createWallet, getWalletSupportedChains } from \"../core\";\nimport {\n DEFAULT_APP_METADATA,\n DEFAULT_COSMOS_METHODS,\n DEFAULT_LOGGER,\n DEFAULT_RELAY_URL,\n THORCHAIN_MAINNET_ID,\n} from \"./constants\";\nimport { getEVMSigner } from \"./evmSigner\";\nimport { chainToChainId, getAddressByChain } from \"./helpers\";\nimport { getRequiredNamespaces } from \"./namespaces\";\n\nexport * from \"./constants\";\nexport * from \"./types\";\n\nexport const walletconnectWallet = createWallet({\n connect: ({ addChain, supportedChains, walletType }) =>\n async function connectWalletconnect(chains: Chain[], walletconnectOptions?: SignClientTypes.Options) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n const { walletConnectProjectId } = SKConfig.get(\"apiKeys\");\n\n if (!walletConnectProjectId) {\n throw new SwapKitError(\"wallet_walletconnect_project_id_not_specified\");\n }\n\n const walletconnect = await getWalletconnect(filteredChains, walletConnectProjectId, walletconnectOptions);\n\n if (!walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n const { accounts } = walletconnect;\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n const address = getAddressByChain(chain, accounts || []);\n const toolbox = await getToolbox({ address, chain, walletconnect });\n\n addChain({\n ...toolbox,\n address,\n chain,\n disconnect: walletconnect.disconnect,\n walletType: WalletOption.WALLETCONNECT,\n });\n }),\n );\n\n return true;\n },\n name: \"connectWalletconnect\",\n supportedChains: [\n Chain.Arbitrum,\n Chain.Aurora,\n Chain.Avalanche,\n Chain.Base,\n Chain.Berachain,\n Chain.BinanceSmartChain,\n Chain.Cosmos,\n Chain.Ethereum,\n Chain.Kujira,\n Chain.Maya,\n Chain.Monad,\n Chain.Near,\n Chain.Optimism,\n Chain.Polygon,\n Chain.THORChain,\n Chain.Tron,\n Chain.XLayer,\n ],\n walletType: WalletOption.WALLETCONNECT,\n});\n\nexport const WC_SUPPORTED_CHAINS = getWalletSupportedChains(walletconnectWallet);\nexport type Walletconnect = Awaited<ReturnType<typeof getWalletconnect>>;\n\nasync function getToolbox<T extends (typeof WC_SUPPORTED_CHAINS)[number]>({\n chain,\n walletconnect,\n address,\n}: {\n walletconnect: Walletconnect;\n chain: T;\n address: string;\n}) {\n const session = walletconnect?.session;\n if (!session) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n switch (chain) {\n case Chain.Arbitrum:\n case Chain.Avalanche:\n case Chain.Base:\n case Chain.BinanceSmartChain:\n case Chain.Ethereum:\n case Chain.Monad:\n case Chain.Optimism:\n case Chain.Polygon:\n case Chain.XLayer: {\n const { getProvider, getEvmToolboxAsync } = await import(\"@swapkit/toolboxes/evm\");\n\n const provider = await getProvider(chain);\n const signer = await getEVMSigner({ chain, provider, walletconnect });\n const toolbox = await getEvmToolboxAsync(chain, { provider, signer });\n\n return toolbox;\n }\n\n case Chain.THORChain: {\n const { SignMode } = await import(\"cosmjs-types/cosmos/tx/signing/v1beta1/signing.js\");\n const { TxRaw } = await import(\"cosmjs-types/cosmos/tx/v1beta1/tx.js\");\n\n const importedSigning = await import(\"@cosmjs/proto-signing\");\n const encodePubkey = importedSigning.encodePubkey ?? importedSigning.default?.encodePubkey;\n const makeAuthInfoBytes = importedSigning.makeAuthInfoBytes ?? importedSigning.default?.makeAuthInfoBytes;\n const importedAmino = await import(\"@cosmjs/amino\");\n const makeSignDoc = importedAmino.makeSignDoc ?? importedSigning.default?.makeSignDoc;\n\n const {\n getCosmosToolbox,\n buildAminoMsg,\n buildEncodedTxBody,\n createStargateClient,\n fromBase64,\n getDefaultChainFee,\n parseAminoMessageForDirectSigning,\n } = await import(\"@swapkit/toolboxes/cosmos\");\n const toolbox = await getCosmosToolbox(chain);\n\n const fee = getDefaultChainFee(chain);\n\n const signRequest = (signDoc: StdSignDoc) =>\n walletconnect?.client.request({\n chainId: THORCHAIN_MAINNET_ID,\n request: { method: DEFAULT_COSMOS_METHODS.COSMOS_SIGN_AMINO, params: { signDoc, signerAddress: address } },\n topic: session.topic,\n });\n\n async function thorchainTransfer({ assetValue, memo, ...rest }: GenericTransferParams | ThorchainDepositParams) {\n const account = await toolbox.getAccount(address);\n if (!account) {\n throw new SwapKitError({ errorKey: \"wallet_missing_params\", info: { account } });\n }\n\n if (!account.pubkey) {\n throw new SwapKitError({ errorKey: \"wallet_missing_params\", info: { account, pubkey: account?.pubkey } });\n }\n\n const { accountNumber, sequence = 0 } = account;\n\n const msgs = [buildAminoMsg({ ...rest, assetValue, memo, sender: address })];\n\n const signDoc = makeSignDoc(\n msgs,\n fee,\n assetValue.chainId,\n memo,\n accountNumber?.toString(),\n sequence?.toString() || \"0\",\n );\n\n const signature: any = await signRequest(signDoc);\n\n const bodyBytes = await buildEncodedTxBody({\n chain: Chain.THORChain,\n memo: memo || \"\",\n msgs: msgs.map(parseAminoMessageForDirectSigning),\n });\n const pubkey = encodePubkey(account.pubkey);\n const authInfoBytes = makeAuthInfoBytes(\n [{ pubkey, sequence }],\n fee.amount,\n Number.parseInt(fee.gas, 10),\n undefined,\n undefined,\n SignMode.SIGN_MODE_LEGACY_AMINO_JSON,\n );\n\n const txRaw = TxRaw.fromPartial({\n authInfoBytes,\n bodyBytes,\n signatures: [\n fromBase64(typeof signature.signature === \"string\" ? signature.signature : signature.signature.signature),\n ],\n });\n const txBytes = TxRaw.encode(txRaw).finish();\n\n const rpcUrl = await getRPCUrl(Chain.THORChain);\n const broadcaster = await createStargateClient(rpcUrl);\n const result = await broadcaster.broadcastTx(txBytes);\n return result.transactionHash;\n }\n\n return {\n ...toolbox,\n deposit: (params: ThorchainDepositParams) => thorchainTransfer(params),\n transfer: (params: GenericTransferParams) => thorchainTransfer(params),\n };\n }\n\n case Chain.Near: {\n const { getNearToolbox } = await import(\"@swapkit/toolboxes/near\");\n const { DEFAULT_NEAR_METHODS } = await import(\"./constants\");\n\n // Create a NEAR signer that uses WalletConnect\n const signer = {\n getAddress() {\n return Promise.resolve(address);\n },\n getPublicKey() {\n // WalletConnect NEAR doesn't expose public key directly\n return Promise.reject(\n new SwapKitError(\"wallet_walletconnect_method_not_supported\", { method: \"getPublicKey\" }),\n );\n },\n\n signDelegateAction(_delegateAction: any) {\n return Promise.reject(\n new SwapKitError(\"wallet_walletconnect_method_not_supported\", { method: \"signDelegateAction\" }),\n );\n },\n\n signNep413Message(\n _message: string,\n _accountId: string,\n _recipient: string,\n _nonce: Uint8Array,\n _callbackUrl?: string,\n ) {\n // WalletConnect NEAR spec doesn't include NEP-413 message signing\n return Promise.reject(\n new SwapKitError(\"wallet_walletconnect_method_not_supported\", { method: \"signNep413Message\" }),\n );\n },\n\n async signTransaction(transaction: Transaction) {\n if (!walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n // WalletConnect signs and sends in one operation\n const result = await walletconnect.client.request({\n chainId: chainToChainId(Chain.Near),\n request: { method: DEFAULT_NEAR_METHODS.NEAR_SIGN_AND_SEND_TRANSACTION, params: { transaction } },\n topic: session.topic,\n });\n // Return dummy hash and result\n return [new Uint8Array(32), result];\n },\n } as NearSigner;\n\n const toolbox = getNearToolbox({ signer });\n return toolbox;\n }\n\n case Chain.Tron: {\n const { getTronToolbox } = await import(\"@swapkit/toolboxes/tron\");\n const { DEFAULT_TRON_METHODS } = await import(\"./constants\");\n\n // Create a Tron signer that uses WalletConnect\n const signer: TronSigner = {\n getAddress() {\n return Promise.resolve(address);\n },\n\n async signTransaction(transaction: TronTransaction) {\n if (!walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n const signedTx = await walletconnect.client.request({\n chainId: chainToChainId(Chain.Tron),\n request: { method: DEFAULT_TRON_METHODS.TRON_SIGN_TRANSACTION, params: { transaction } },\n topic: session.topic,\n });\n\n return signedTx as TronSignedTransaction;\n },\n };\n\n const toolbox = getTronToolbox({ signer });\n\n return toolbox;\n }\n\n default:\n throw new SwapKitError({\n errorKey: \"wallet_chain_not_supported\",\n info: { chain, wallet: WalletOption.WALLETCONNECT },\n });\n }\n}\n\nasync function getWalletconnect(\n chains: Chain[],\n walletConnectProjectId: string,\n walletconnectOptions?: SignClientTypes.Options,\n) {\n let modal: WalletConnectModal | undefined;\n let signer: typeof SignClient | undefined;\n let session: SessionTypes.Struct | undefined;\n let accounts: string[] | undefined;\n try {\n const requiredNamespaces = getRequiredNamespaces(chains.map(chainToChainId));\n\n const { SignClient } = await import(\"@walletconnect/sign-client\");\n const { WalletConnectModal } = await import(\"@walletconnect/modal\");\n\n const client = await SignClient.init({\n logger: DEFAULT_LOGGER,\n metadata: walletconnectOptions?.metadata || DEFAULT_APP_METADATA,\n projectId: walletConnectProjectId,\n relayUrl: DEFAULT_RELAY_URL,\n ...walletconnectOptions?.core,\n });\n\n const modal = new WalletConnectModal({\n logger: DEFAULT_LOGGER,\n projectId: walletConnectProjectId,\n relayUrl: DEFAULT_RELAY_URL,\n ...walletconnectOptions?.core,\n });\n\n const oldSession = (await client.session.getAll())[0];\n\n // disconnect old Session cause we can't handle using it with current ui\n if (oldSession) {\n await client.disconnect({ reason: { code: 0, message: \"Resetting session\" }, topic: oldSession.topic });\n }\n\n const { uri, approval } = await client.connect({\n // Optionally: pass a known prior pairing (e.g. from `client.core.pairing.getPairings()`) to skip the `uri` step.\n // pairingTopic: pairing?.topic,\n // Provide the namespaces and chains (e.g. `eip155` for EVM-based chains) we want to use in this session.\n requiredNamespaces,\n });\n\n if (uri) {\n modal.openModal({ uri });\n // Await session approval from the wallet.\n session = await approval();\n // Handle the returned session (e.g. update UI to \"connected\" state).\n // Close the QRCode modal in case it was open.\n modal.closeModal();\n\n function extractAccountsFromSession(session: SessionTypes.Struct) {\n const accounts: string[] = [];\n\n for (const [_namespace, data] of Object.entries(session.namespaces)) {\n accounts.push(...data.accounts);\n }\n\n return accounts;\n }\n\n accounts = extractAccountsFromSession(session);\n }\n\n const disconnect = async () => {\n session && (await client.disconnect({ reason: { code: 0, message: \"User disconnected\" }, topic: session.topic }));\n };\n\n if (!session) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n return { accounts, client, disconnect, session, signer };\n } catch {\n // Errors are handled by returning undefined\n } finally {\n if (modal) {\n modal.closeModal();\n }\n }\n return undefined;\n}\n",
6
6
  "import { type EVMChain, SwapKitError, WalletOption } from \"@swapkit/helpers\";\nimport type {\n JsonRpcProvider,\n Provider,\n TransactionRequest,\n TransactionResponse,\n TypedDataDomain,\n TypedDataField,\n} from \"ethers\";\nimport { AbstractSigner } from \"ethers\";\n\nimport { DEFAULT_EIP155_METHODS } from \"./constants\";\nimport { chainToChainId, getAddressByChain } from \"./helpers\";\nimport type { Walletconnect } from \"./index\";\n\ninterface WalletconnectEVMSignerParams {\n chain: EVMChain;\n walletconnect: Walletconnect;\n provider: Provider | JsonRpcProvider;\n}\n\nclass WalletconnectSigner extends AbstractSigner {\n address: string;\n\n private chain: EVMChain;\n private walletconnect: Walletconnect;\n readonly provider: Provider | JsonRpcProvider;\n\n constructor({ chain, provider, walletconnect }: WalletconnectEVMSignerParams) {\n super(provider);\n this.chain = chain;\n this.walletconnect = walletconnect;\n this.provider = provider;\n this.address = \"\";\n }\n\n // biome-ignore lint/suspicious/useAwait: fulfil implementation type\n getAddress = async () => {\n if (!this.walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n if (!this.address) {\n this.address = getAddressByChain(this.chain, this.walletconnect.accounts || []);\n }\n\n return this.address;\n };\n\n signMessage = async (message: string) => {\n // this is probably broken\n const txHash = (await this.walletconnect?.client.request({\n chainId: chainToChainId(this.chain),\n request: { method: DEFAULT_EIP155_METHODS.ETH_SIGN, params: [message] },\n topic: this.walletconnect.session.topic || \"\",\n })) as string;\n\n return txHash.startsWith(\"0x\") ? txHash : `0x${txHash}`;\n };\n\n signTransaction = () => {\n throw new SwapKitError(\"wallet_walletconnect_method_not_supported\", { method: \"signTransaction\" });\n\n // const baseTx = {\n // from,\n // to,\n // value: BigNumber.from(value || 0).toHexString(),\n // data,\n // };\n\n // const txHash = (await this.walletconnect?.client.request({\n // chainId: chainToChainId(this.chain),\n // topic: this.walletconnect.session.topic,\n // request: {\n // method: DEFAULT_EIP155_METHODS.ETH_SIGN_TRANSACTION,\n // params: [baseTx],\n // },\n // })) as string;\n\n // return txHash.startsWith('0x') ? txHash : `0x${txHash}`;\n };\n\n signTypedData = (\n _domain: TypedDataDomain,\n _types: Record<string, TypedDataField[]>,\n _value: Record<string, unknown>,\n _explicitPrimaryType?: string,\n ) => {\n throw new SwapKitError(\"wallet_walletconnect_method_not_supported\", { method: \"signTransaction\" });\n };\n\n sendTransaction = async ({ from, to, value, data }: TransactionRequest) => {\n const { toHexString } = await import(\"@swapkit/toolboxes/evm\");\n\n const baseTx = { data, from, to, value: toHexString(BigInt(value || 0)) };\n const response = await this.walletconnect?.client.request({\n chainId: chainToChainId(this.chain),\n request: { method: DEFAULT_EIP155_METHODS.ETH_SEND_TRANSACTION, params: [baseTx] },\n topic: this.walletconnect.session.topic,\n });\n\n return response as TransactionResponse;\n };\n\n connect = (provider: Provider | null) => {\n if (!provider) {\n throw new SwapKitError({\n errorKey: \"wallet_provider_not_found\",\n info: { chain: this.chain, wallet: WalletOption.WALLETCONNECT },\n });\n }\n\n return new WalletconnectSigner({ chain: this.chain, provider, walletconnect: this.walletconnect });\n };\n}\nexport const getEVMSigner = async ({ chain, walletconnect, provider }: WalletconnectEVMSignerParams) =>\n new WalletconnectSigner({ chain, provider, walletconnect });\n",
7
7
  "import { Chain, type CosmosChain, type EVMChain, SKConfig } from \"@swapkit/helpers\";\n\nimport {\n ARBITRUM_ONE_MAINNET_ID,\n AURORA_MAINNET_ID,\n AVALANCHE_MAINNET_ID,\n BASE_MAINNET_ID,\n BERACHAIN_MAINNET_ID,\n BSC_MAINNET_ID,\n COSMOS_HUB_MAINNET_ID,\n ETHEREUM_MAINNET_ID,\n KUJIRA_MAINNET_ID,\n MAYACHAIN_MAINNET_ID,\n MONAD_MAINNET_ID,\n NEAR_MAINNET_ID,\n NEAR_TESTNET_ID,\n OPTIMISM_MAINNET_ID,\n POLYGON_MAINNET_ID,\n THORCHAIN_MAINNET_ID,\n TRON_MAINNET_ID,\n} from \"./constants\";\n\nexport const getAddressByChain = (\n chain: EVMChain | Exclude<CosmosChain, typeof Chain.Noble> | typeof Chain.Near | typeof Chain.Tron,\n accounts: string[],\n) => {\n const account = accounts.find((account) => account.startsWith(chainToChainId(chain))) || \"\";\n const address = account?.split(\":\")?.[2];\n\n return address || \"\";\n};\n\nexport const chainToChainId = (chain: Chain) => {\n switch (chain) {\n case Chain.Avalanche:\n return AVALANCHE_MAINNET_ID;\n case Chain.Aurora:\n return AURORA_MAINNET_ID;\n case Chain.Base:\n return BASE_MAINNET_ID;\n case Chain.BinanceSmartChain:\n return BSC_MAINNET_ID;\n case Chain.Berachain:\n return BERACHAIN_MAINNET_ID;\n case Chain.Monad:\n return MONAD_MAINNET_ID;\n case Chain.Ethereum:\n return ETHEREUM_MAINNET_ID;\n case Chain.THORChain:\n return THORCHAIN_MAINNET_ID;\n case Chain.Arbitrum:\n return ARBITRUM_ONE_MAINNET_ID;\n case Chain.Optimism:\n return OPTIMISM_MAINNET_ID;\n case Chain.Polygon:\n return POLYGON_MAINNET_ID;\n case Chain.Maya:\n return MAYACHAIN_MAINNET_ID;\n case Chain.Cosmos:\n return COSMOS_HUB_MAINNET_ID;\n case Chain.Kujira:\n return KUJIRA_MAINNET_ID;\n case Chain.Near: {\n // Use testnet if stagenet is enabled\n const { isStagenet } = SKConfig.get(\"envs\");\n return isStagenet ? NEAR_TESTNET_ID : NEAR_MAINNET_ID;\n }\n case Chain.Tron:\n return TRON_MAINNET_ID;\n default:\n return \"\";\n }\n};\n",
8
8
  "import { SwapKitError } from \"@swapkit/helpers\";\nimport type { ProposalTypes } from \"@walletconnect/types\";\nimport {\n DEFAULT_COSMOS_METHODS,\n DEFAULT_EIP_155_EVENTS,\n DEFAULT_EIP155_METHODS,\n DEFAULT_NEAR_EVENTS,\n DEFAULT_NEAR_METHODS,\n DEFAULT_POLKADOT_EVENTS,\n DEFAULT_POLKADOT_METHODS,\n DEFAULT_SOLANA_EVENTS,\n DEFAULT_SOLANA_METHODS,\n DEFAULT_TRON_EVENTS,\n DEFAULT_TRON_METHODS,\n} from \"./constants\";\n\nexport const getNamespacesFromChains = (chains: string[]) => {\n const supportedNamespaces: string[] = [];\n for (const chainId of chains) {\n const [namespace] = chainId.split(\":\");\n if (namespace && !supportedNamespaces.includes(namespace)) {\n supportedNamespaces.push(namespace);\n }\n }\n\n return supportedNamespaces;\n};\n\nexport const getSupportedMethodsByNamespace = (namespace: string) => {\n switch (namespace) {\n case \"eip155\":\n return Object.values(DEFAULT_EIP155_METHODS);\n case \"cosmos\":\n return Object.values(DEFAULT_COSMOS_METHODS);\n case \"solana\":\n return Object.values(DEFAULT_SOLANA_METHODS);\n case \"polkadot\":\n return Object.values(DEFAULT_POLKADOT_METHODS);\n case \"near\":\n return Object.values(DEFAULT_NEAR_METHODS);\n case \"tron\":\n return Object.values(DEFAULT_TRON_METHODS);\n default:\n throw new SwapKitError({ errorKey: \"wallet_walletconnect_namespace_not_supported\", info: { namespace } });\n }\n};\n\nexport const getSupportedEventsByNamespace = (namespace: string) => {\n switch (namespace) {\n case \"eip155\":\n return Object.values(DEFAULT_EIP_155_EVENTS);\n case \"cosmos\":\n return [];\n case \"solana\":\n return Object.values(DEFAULT_SOLANA_EVENTS);\n case \"polkadot\":\n return Object.values(DEFAULT_POLKADOT_EVENTS);\n case \"near\":\n return Object.values(DEFAULT_NEAR_EVENTS);\n case \"tron\":\n return Object.values(DEFAULT_TRON_EVENTS);\n default:\n throw new SwapKitError({ errorKey: \"wallet_walletconnect_namespace_not_supported\", info: { namespace } });\n }\n};\n\nexport const getRequiredNamespaces = (chains: string[]): ProposalTypes.RequiredNamespaces => {\n const selectedNamespaces = getNamespacesFromChains(chains);\n\n return Object.fromEntries(\n selectedNamespaces.map((namespace) => [\n namespace,\n {\n chains: chains.filter((chain) => chain.startsWith(namespace)),\n events: getSupportedEventsByNamespace(namespace) as any[],\n methods: getSupportedMethodsByNamespace(namespace),\n },\n ]),\n );\n};\n"
@@ -2,7 +2,7 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/walletconnect/index.ts", "../src/walletconnect/evmSigner.ts", "../src/walletconnect/helpers.ts", "../src/walletconnect/namespaces.ts"],
4
4
  "sourcesContent": [
5
- "import type { StdSignDoc } from \"@cosmjs/amino\";\nimport type { Transaction } from \"@near-js/transactions\";\nimport {\n Chain,\n filterSupportedChains,\n type GenericTransferParams,\n getRPCUrl,\n SKConfig,\n SwapKitError,\n WalletOption,\n} from \"@swapkit/helpers\";\nimport type { ThorchainDepositParams } from \"@swapkit/toolboxes/cosmos\";\nimport type { NearSigner } from \"@swapkit/toolboxes/near\";\nimport type { TronSignedTransaction, TronSigner, TronTransaction } from \"@swapkit/toolboxes/tron\";\nimport { createWallet, getWalletSupportedChains } from \"../core\";\nimport type { WalletConnectModal } from \"@walletconnect/modal\";\nimport type { SignClient } from \"@walletconnect/sign-client\";\nimport type { SessionTypes, SignClientTypes } from \"@walletconnect/types\";\nimport {\n DEFAULT_APP_METADATA,\n DEFAULT_COSMOS_METHODS,\n DEFAULT_LOGGER,\n DEFAULT_RELAY_URL,\n THORCHAIN_MAINNET_ID,\n} from \"./constants\";\nimport { getEVMSigner } from \"./evmSigner\";\nimport { chainToChainId, getAddressByChain } from \"./helpers\";\nimport { getRequiredNamespaces } from \"./namespaces\";\n\nexport * from \"./constants\";\nexport * from \"./types\";\n\nexport const walletconnectWallet = createWallet({\n connect: ({ addChain, supportedChains, walletType }) =>\n async function connectWalletconnect(chains: Chain[], walletconnectOptions?: SignClientTypes.Options) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n const { walletConnectProjectId } = SKConfig.get(\"apiKeys\");\n\n if (!walletConnectProjectId) {\n throw new SwapKitError(\"wallet_walletconnect_project_id_not_specified\");\n }\n\n const walletconnect = await getWalletconnect(filteredChains, walletConnectProjectId, walletconnectOptions);\n\n if (!walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n const { accounts } = walletconnect;\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n const address = getAddressByChain(chain, accounts || []);\n const toolbox = await getToolbox({ address, chain, walletconnect });\n\n addChain({\n ...toolbox,\n address,\n chain,\n disconnect: walletconnect.disconnect,\n walletType: WalletOption.WALLETCONNECT,\n });\n }),\n );\n\n return true;\n },\n name: \"connectWalletconnect\",\n supportedChains: [\n Chain.Arbitrum,\n Chain.Aurora,\n Chain.Avalanche,\n Chain.Base,\n Chain.Berachain,\n Chain.BinanceSmartChain,\n Chain.Cosmos,\n Chain.Ethereum,\n Chain.Kujira,\n Chain.Maya,\n Chain.Monad,\n Chain.Near,\n Chain.Optimism,\n Chain.Polygon,\n Chain.THORChain,\n Chain.Tron,\n Chain.XLayer,\n ],\n walletType: WalletOption.WALLETCONNECT,\n});\n\nexport const WC_SUPPORTED_CHAINS = getWalletSupportedChains(walletconnectWallet);\nexport type Walletconnect = Awaited<ReturnType<typeof getWalletconnect>>;\n\nasync function getToolbox<T extends (typeof WC_SUPPORTED_CHAINS)[number]>({\n chain,\n walletconnect,\n address,\n}: {\n walletconnect: Walletconnect;\n chain: T;\n address: string;\n}) {\n const session = walletconnect?.session;\n if (!session) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n switch (chain) {\n case Chain.Arbitrum:\n case Chain.Avalanche:\n case Chain.Base:\n case Chain.BinanceSmartChain:\n case Chain.Ethereum:\n case Chain.Monad:\n case Chain.Optimism:\n case Chain.Polygon:\n case Chain.XLayer: {\n const { getProvider, getEvmToolboxAsync } = await import(\"@swapkit/toolboxes/evm\");\n\n const provider = await getProvider(chain);\n const signer = await getEVMSigner({ chain, provider, walletconnect });\n const toolbox = await getEvmToolboxAsync(chain, { provider, signer });\n\n return toolbox;\n }\n\n case Chain.THORChain: {\n const { SignMode } = await import(\"cosmjs-types/cosmos/tx/signing/v1beta1/signing.js\");\n const { TxRaw } = await import(\"cosmjs-types/cosmos/tx/v1beta1/tx.js\");\n\n const importedSigning = await import(\"@cosmjs/proto-signing\");\n const encodePubkey = importedSigning.encodePubkey ?? importedSigning.default?.encodePubkey;\n const makeAuthInfoBytes = importedSigning.makeAuthInfoBytes ?? importedSigning.default?.makeAuthInfoBytes;\n const importedAmino = await import(\"@cosmjs/amino\");\n const makeSignDoc = importedAmino.makeSignDoc ?? importedSigning.default?.makeSignDoc;\n\n const {\n getCosmosToolbox,\n buildAminoMsg,\n buildEncodedTxBody,\n createStargateClient,\n fromBase64,\n getDefaultChainFee,\n parseAminoMessageForDirectSigning,\n } = await import(\"@swapkit/toolboxes/cosmos\");\n const toolbox = await getCosmosToolbox(chain);\n\n const fee = getDefaultChainFee(chain);\n\n const signRequest = (signDoc: StdSignDoc) =>\n walletconnect?.client.request({\n chainId: THORCHAIN_MAINNET_ID,\n request: { method: DEFAULT_COSMOS_METHODS.COSMOS_SIGN_AMINO, params: { signDoc, signerAddress: address } },\n topic: session.topic,\n });\n\n async function thorchainTransfer({ assetValue, memo, ...rest }: GenericTransferParams | ThorchainDepositParams) {\n const account = await toolbox.getAccount(address);\n if (!account) {\n throw new SwapKitError({ errorKey: \"wallet_missing_params\", info: { account } });\n }\n\n if (!account.pubkey) {\n throw new SwapKitError({ errorKey: \"wallet_missing_params\", info: { account, pubkey: account?.pubkey } });\n }\n\n const { accountNumber, sequence = 0 } = account;\n\n const msgs = [buildAminoMsg({ ...rest, assetValue, memo, sender: address })];\n\n const signDoc = makeSignDoc(\n msgs,\n fee,\n assetValue.chainId,\n memo,\n accountNumber?.toString(),\n sequence?.toString() || \"0\",\n );\n\n const signature: any = await signRequest(signDoc);\n\n const bodyBytes = await buildEncodedTxBody({\n chain: Chain.THORChain,\n memo: memo || \"\",\n msgs: msgs.map(parseAminoMessageForDirectSigning),\n });\n const pubkey = encodePubkey(account.pubkey);\n const authInfoBytes = makeAuthInfoBytes(\n [{ pubkey, sequence }],\n fee.amount,\n Number.parseInt(fee.gas, 10),\n undefined,\n undefined,\n SignMode.SIGN_MODE_LEGACY_AMINO_JSON,\n );\n\n const txRaw = TxRaw.fromPartial({\n authInfoBytes,\n bodyBytes,\n signatures: [\n fromBase64(typeof signature.signature === \"string\" ? signature.signature : signature.signature.signature),\n ],\n });\n const txBytes = TxRaw.encode(txRaw).finish();\n\n const rpcUrl = await getRPCUrl(Chain.THORChain);\n const broadcaster = await createStargateClient(rpcUrl);\n const result = await broadcaster.broadcastTx(txBytes);\n return result.transactionHash;\n }\n\n return {\n ...toolbox,\n deposit: (params: ThorchainDepositParams) => thorchainTransfer(params),\n transfer: (params: GenericTransferParams) => thorchainTransfer(params),\n };\n }\n\n case Chain.Near: {\n const { getNearToolbox } = await import(\"@swapkit/toolboxes/near\");\n const { DEFAULT_NEAR_METHODS } = await import(\"./constants\");\n\n // Create a NEAR signer that uses WalletConnect\n const signer = {\n getAddress() {\n return Promise.resolve(address);\n },\n getPublicKey() {\n // WalletConnect NEAR doesn't expose public key directly\n return Promise.reject(\n new SwapKitError(\"wallet_walletconnect_method_not_supported\", { method: \"getPublicKey\" }),\n );\n },\n\n signDelegateAction(_delegateAction: any) {\n return Promise.reject(\n new SwapKitError(\"wallet_walletconnect_method_not_supported\", { method: \"signDelegateAction\" }),\n );\n },\n\n signNep413Message(\n _message: string,\n _accountId: string,\n _recipient: string,\n _nonce: Uint8Array,\n _callbackUrl?: string,\n ) {\n // WalletConnect NEAR spec doesn't include NEP-413 message signing\n return Promise.reject(\n new SwapKitError(\"wallet_walletconnect_method_not_supported\", { method: \"signNep413Message\" }),\n );\n },\n\n async signTransaction(transaction: Transaction) {\n if (!walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n // WalletConnect signs and sends in one operation\n const result = await walletconnect.client.request({\n chainId: chainToChainId(Chain.Near),\n request: { method: DEFAULT_NEAR_METHODS.NEAR_SIGN_AND_SEND_TRANSACTION, params: { transaction } },\n topic: session.topic,\n });\n // Return dummy hash and result\n return [new Uint8Array(32), result];\n },\n } as NearSigner;\n\n const toolbox = getNearToolbox({ signer });\n return toolbox;\n }\n\n case Chain.Tron: {\n const { getTronToolbox } = await import(\"@swapkit/toolboxes/tron\");\n const { DEFAULT_TRON_METHODS } = await import(\"./constants\");\n\n // Create a Tron signer that uses WalletConnect\n const signer: TronSigner = {\n getAddress() {\n return Promise.resolve(address);\n },\n\n async signTransaction(transaction: TronTransaction) {\n if (!walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n const signedTx = await walletconnect.client.request({\n chainId: chainToChainId(Chain.Tron),\n request: { method: DEFAULT_TRON_METHODS.TRON_SIGN_TRANSACTION, params: { transaction } },\n topic: session.topic,\n });\n\n return signedTx as TronSignedTransaction;\n },\n };\n\n const toolbox = getTronToolbox({ signer });\n\n return toolbox;\n }\n\n default:\n throw new SwapKitError({\n errorKey: \"wallet_chain_not_supported\",\n info: { chain, wallet: WalletOption.WALLETCONNECT },\n });\n }\n}\n\nasync function getWalletconnect(\n chains: Chain[],\n walletConnectProjectId: string,\n walletconnectOptions?: SignClientTypes.Options,\n) {\n let modal: WalletConnectModal | undefined;\n let signer: typeof SignClient | undefined;\n let session: SessionTypes.Struct | undefined;\n let accounts: string[] | undefined;\n try {\n const requiredNamespaces = getRequiredNamespaces(chains.map(chainToChainId));\n\n const { SignClient } = await import(\"@walletconnect/sign-client\");\n const { WalletConnectModal } = await import(\"@walletconnect/modal\");\n\n const client = await SignClient.init({\n logger: DEFAULT_LOGGER,\n metadata: walletconnectOptions?.metadata || DEFAULT_APP_METADATA,\n projectId: walletConnectProjectId,\n relayUrl: DEFAULT_RELAY_URL,\n ...walletconnectOptions?.core,\n });\n\n const modal = new WalletConnectModal({\n logger: DEFAULT_LOGGER,\n projectId: walletConnectProjectId,\n relayUrl: DEFAULT_RELAY_URL,\n ...walletconnectOptions?.core,\n });\n\n const oldSession = (await client.session.getAll())[0];\n\n // disconnect old Session cause we can't handle using it with current ui\n if (oldSession) {\n await client.disconnect({ reason: { code: 0, message: \"Resetting session\" }, topic: oldSession.topic });\n }\n\n const { uri, approval } = await client.connect({\n // Optionally: pass a known prior pairing (e.g. from `client.core.pairing.getPairings()`) to skip the `uri` step.\n // pairingTopic: pairing?.topic,\n // Provide the namespaces and chains (e.g. `eip155` for EVM-based chains) we want to use in this session.\n requiredNamespaces,\n });\n\n if (uri) {\n modal.openModal({ uri });\n // Await session approval from the wallet.\n session = await approval();\n // Handle the returned session (e.g. update UI to \"connected\" state).\n // Close the QRCode modal in case it was open.\n modal.closeModal();\n\n function extractAccountsFromSession(session: SessionTypes.Struct) {\n const accounts: string[] = [];\n\n for (const [_namespace, data] of Object.entries(session.namespaces)) {\n accounts.push(...data.accounts);\n }\n\n return accounts;\n }\n\n accounts = extractAccountsFromSession(session);\n }\n\n const disconnect = async () => {\n session && (await client.disconnect({ reason: { code: 0, message: \"User disconnected\" }, topic: session.topic }));\n };\n\n if (!session) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n return { accounts, client, disconnect, session, signer };\n } catch {\n // Errors are handled by returning undefined\n } finally {\n if (modal) {\n modal.closeModal();\n }\n }\n return undefined;\n}\n",
5
+ "import type { StdSignDoc } from \"@cosmjs/amino\";\nimport type { Transaction } from \"@near-js/transactions\";\nimport {\n Chain,\n filterSupportedChains,\n type GenericTransferParams,\n getRPCUrl,\n SKConfig,\n SwapKitError,\n WalletOption,\n} from \"@swapkit/helpers\";\nimport type { ThorchainDepositParams } from \"@swapkit/toolboxes/cosmos\";\nimport type { NearSigner } from \"@swapkit/toolboxes/near\";\nimport type { TronSignedTransaction, TronSigner, TronTransaction } from \"@swapkit/toolboxes/tron\";\nimport type { WalletConnectModal } from \"@walletconnect/modal\";\nimport type { SignClient } from \"@walletconnect/sign-client\";\nimport type { SessionTypes, SignClientTypes } from \"@walletconnect/types\";\nimport { createWallet, getWalletSupportedChains } from \"../core\";\nimport {\n DEFAULT_APP_METADATA,\n DEFAULT_COSMOS_METHODS,\n DEFAULT_LOGGER,\n DEFAULT_RELAY_URL,\n THORCHAIN_MAINNET_ID,\n} from \"./constants\";\nimport { getEVMSigner } from \"./evmSigner\";\nimport { chainToChainId, getAddressByChain } from \"./helpers\";\nimport { getRequiredNamespaces } from \"./namespaces\";\n\nexport * from \"./constants\";\nexport * from \"./types\";\n\nexport const walletconnectWallet = createWallet({\n connect: ({ addChain, supportedChains, walletType }) =>\n async function connectWalletconnect(chains: Chain[], walletconnectOptions?: SignClientTypes.Options) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n const { walletConnectProjectId } = SKConfig.get(\"apiKeys\");\n\n if (!walletConnectProjectId) {\n throw new SwapKitError(\"wallet_walletconnect_project_id_not_specified\");\n }\n\n const walletconnect = await getWalletconnect(filteredChains, walletConnectProjectId, walletconnectOptions);\n\n if (!walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n const { accounts } = walletconnect;\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n const address = getAddressByChain(chain, accounts || []);\n const toolbox = await getToolbox({ address, chain, walletconnect });\n\n addChain({\n ...toolbox,\n address,\n chain,\n disconnect: walletconnect.disconnect,\n walletType: WalletOption.WALLETCONNECT,\n });\n }),\n );\n\n return true;\n },\n name: \"connectWalletconnect\",\n supportedChains: [\n Chain.Arbitrum,\n Chain.Aurora,\n Chain.Avalanche,\n Chain.Base,\n Chain.Berachain,\n Chain.BinanceSmartChain,\n Chain.Cosmos,\n Chain.Ethereum,\n Chain.Kujira,\n Chain.Maya,\n Chain.Monad,\n Chain.Near,\n Chain.Optimism,\n Chain.Polygon,\n Chain.THORChain,\n Chain.Tron,\n Chain.XLayer,\n ],\n walletType: WalletOption.WALLETCONNECT,\n});\n\nexport const WC_SUPPORTED_CHAINS = getWalletSupportedChains(walletconnectWallet);\nexport type Walletconnect = Awaited<ReturnType<typeof getWalletconnect>>;\n\nasync function getToolbox<T extends (typeof WC_SUPPORTED_CHAINS)[number]>({\n chain,\n walletconnect,\n address,\n}: {\n walletconnect: Walletconnect;\n chain: T;\n address: string;\n}) {\n const session = walletconnect?.session;\n if (!session) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n switch (chain) {\n case Chain.Arbitrum:\n case Chain.Avalanche:\n case Chain.Base:\n case Chain.BinanceSmartChain:\n case Chain.Ethereum:\n case Chain.Monad:\n case Chain.Optimism:\n case Chain.Polygon:\n case Chain.XLayer: {\n const { getProvider, getEvmToolboxAsync } = await import(\"@swapkit/toolboxes/evm\");\n\n const provider = await getProvider(chain);\n const signer = await getEVMSigner({ chain, provider, walletconnect });\n const toolbox = await getEvmToolboxAsync(chain, { provider, signer });\n\n return toolbox;\n }\n\n case Chain.THORChain: {\n const { SignMode } = await import(\"cosmjs-types/cosmos/tx/signing/v1beta1/signing.js\");\n const { TxRaw } = await import(\"cosmjs-types/cosmos/tx/v1beta1/tx.js\");\n\n const importedSigning = await import(\"@cosmjs/proto-signing\");\n const encodePubkey = importedSigning.encodePubkey ?? importedSigning.default?.encodePubkey;\n const makeAuthInfoBytes = importedSigning.makeAuthInfoBytes ?? importedSigning.default?.makeAuthInfoBytes;\n const importedAmino = await import(\"@cosmjs/amino\");\n const makeSignDoc = importedAmino.makeSignDoc ?? importedSigning.default?.makeSignDoc;\n\n const {\n getCosmosToolbox,\n buildAminoMsg,\n buildEncodedTxBody,\n createStargateClient,\n fromBase64,\n getDefaultChainFee,\n parseAminoMessageForDirectSigning,\n } = await import(\"@swapkit/toolboxes/cosmos\");\n const toolbox = await getCosmosToolbox(chain);\n\n const fee = getDefaultChainFee(chain);\n\n const signRequest = (signDoc: StdSignDoc) =>\n walletconnect?.client.request({\n chainId: THORCHAIN_MAINNET_ID,\n request: { method: DEFAULT_COSMOS_METHODS.COSMOS_SIGN_AMINO, params: { signDoc, signerAddress: address } },\n topic: session.topic,\n });\n\n async function thorchainTransfer({ assetValue, memo, ...rest }: GenericTransferParams | ThorchainDepositParams) {\n const account = await toolbox.getAccount(address);\n if (!account) {\n throw new SwapKitError({ errorKey: \"wallet_missing_params\", info: { account } });\n }\n\n if (!account.pubkey) {\n throw new SwapKitError({ errorKey: \"wallet_missing_params\", info: { account, pubkey: account?.pubkey } });\n }\n\n const { accountNumber, sequence = 0 } = account;\n\n const msgs = [buildAminoMsg({ ...rest, assetValue, memo, sender: address })];\n\n const signDoc = makeSignDoc(\n msgs,\n fee,\n assetValue.chainId,\n memo,\n accountNumber?.toString(),\n sequence?.toString() || \"0\",\n );\n\n const signature: any = await signRequest(signDoc);\n\n const bodyBytes = await buildEncodedTxBody({\n chain: Chain.THORChain,\n memo: memo || \"\",\n msgs: msgs.map(parseAminoMessageForDirectSigning),\n });\n const pubkey = encodePubkey(account.pubkey);\n const authInfoBytes = makeAuthInfoBytes(\n [{ pubkey, sequence }],\n fee.amount,\n Number.parseInt(fee.gas, 10),\n undefined,\n undefined,\n SignMode.SIGN_MODE_LEGACY_AMINO_JSON,\n );\n\n const txRaw = TxRaw.fromPartial({\n authInfoBytes,\n bodyBytes,\n signatures: [\n fromBase64(typeof signature.signature === \"string\" ? signature.signature : signature.signature.signature),\n ],\n });\n const txBytes = TxRaw.encode(txRaw).finish();\n\n const rpcUrl = await getRPCUrl(Chain.THORChain);\n const broadcaster = await createStargateClient(rpcUrl);\n const result = await broadcaster.broadcastTx(txBytes);\n return result.transactionHash;\n }\n\n return {\n ...toolbox,\n deposit: (params: ThorchainDepositParams) => thorchainTransfer(params),\n transfer: (params: GenericTransferParams) => thorchainTransfer(params),\n };\n }\n\n case Chain.Near: {\n const { getNearToolbox } = await import(\"@swapkit/toolboxes/near\");\n const { DEFAULT_NEAR_METHODS } = await import(\"./constants\");\n\n // Create a NEAR signer that uses WalletConnect\n const signer = {\n getAddress() {\n return Promise.resolve(address);\n },\n getPublicKey() {\n // WalletConnect NEAR doesn't expose public key directly\n return Promise.reject(\n new SwapKitError(\"wallet_walletconnect_method_not_supported\", { method: \"getPublicKey\" }),\n );\n },\n\n signDelegateAction(_delegateAction: any) {\n return Promise.reject(\n new SwapKitError(\"wallet_walletconnect_method_not_supported\", { method: \"signDelegateAction\" }),\n );\n },\n\n signNep413Message(\n _message: string,\n _accountId: string,\n _recipient: string,\n _nonce: Uint8Array,\n _callbackUrl?: string,\n ) {\n // WalletConnect NEAR spec doesn't include NEP-413 message signing\n return Promise.reject(\n new SwapKitError(\"wallet_walletconnect_method_not_supported\", { method: \"signNep413Message\" }),\n );\n },\n\n async signTransaction(transaction: Transaction) {\n if (!walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n // WalletConnect signs and sends in one operation\n const result = await walletconnect.client.request({\n chainId: chainToChainId(Chain.Near),\n request: { method: DEFAULT_NEAR_METHODS.NEAR_SIGN_AND_SEND_TRANSACTION, params: { transaction } },\n topic: session.topic,\n });\n // Return dummy hash and result\n return [new Uint8Array(32), result];\n },\n } as NearSigner;\n\n const toolbox = getNearToolbox({ signer });\n return toolbox;\n }\n\n case Chain.Tron: {\n const { getTronToolbox } = await import(\"@swapkit/toolboxes/tron\");\n const { DEFAULT_TRON_METHODS } = await import(\"./constants\");\n\n // Create a Tron signer that uses WalletConnect\n const signer: TronSigner = {\n getAddress() {\n return Promise.resolve(address);\n },\n\n async signTransaction(transaction: TronTransaction) {\n if (!walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n const signedTx = await walletconnect.client.request({\n chainId: chainToChainId(Chain.Tron),\n request: { method: DEFAULT_TRON_METHODS.TRON_SIGN_TRANSACTION, params: { transaction } },\n topic: session.topic,\n });\n\n return signedTx as TronSignedTransaction;\n },\n };\n\n const toolbox = getTronToolbox({ signer });\n\n return toolbox;\n }\n\n default:\n throw new SwapKitError({\n errorKey: \"wallet_chain_not_supported\",\n info: { chain, wallet: WalletOption.WALLETCONNECT },\n });\n }\n}\n\nasync function getWalletconnect(\n chains: Chain[],\n walletConnectProjectId: string,\n walletconnectOptions?: SignClientTypes.Options,\n) {\n let modal: WalletConnectModal | undefined;\n let signer: typeof SignClient | undefined;\n let session: SessionTypes.Struct | undefined;\n let accounts: string[] | undefined;\n try {\n const requiredNamespaces = getRequiredNamespaces(chains.map(chainToChainId));\n\n const { SignClient } = await import(\"@walletconnect/sign-client\");\n const { WalletConnectModal } = await import(\"@walletconnect/modal\");\n\n const client = await SignClient.init({\n logger: DEFAULT_LOGGER,\n metadata: walletconnectOptions?.metadata || DEFAULT_APP_METADATA,\n projectId: walletConnectProjectId,\n relayUrl: DEFAULT_RELAY_URL,\n ...walletconnectOptions?.core,\n });\n\n const modal = new WalletConnectModal({\n logger: DEFAULT_LOGGER,\n projectId: walletConnectProjectId,\n relayUrl: DEFAULT_RELAY_URL,\n ...walletconnectOptions?.core,\n });\n\n const oldSession = (await client.session.getAll())[0];\n\n // disconnect old Session cause we can't handle using it with current ui\n if (oldSession) {\n await client.disconnect({ reason: { code: 0, message: \"Resetting session\" }, topic: oldSession.topic });\n }\n\n const { uri, approval } = await client.connect({\n // Optionally: pass a known prior pairing (e.g. from `client.core.pairing.getPairings()`) to skip the `uri` step.\n // pairingTopic: pairing?.topic,\n // Provide the namespaces and chains (e.g. `eip155` for EVM-based chains) we want to use in this session.\n requiredNamespaces,\n });\n\n if (uri) {\n modal.openModal({ uri });\n // Await session approval from the wallet.\n session = await approval();\n // Handle the returned session (e.g. update UI to \"connected\" state).\n // Close the QRCode modal in case it was open.\n modal.closeModal();\n\n function extractAccountsFromSession(session: SessionTypes.Struct) {\n const accounts: string[] = [];\n\n for (const [_namespace, data] of Object.entries(session.namespaces)) {\n accounts.push(...data.accounts);\n }\n\n return accounts;\n }\n\n accounts = extractAccountsFromSession(session);\n }\n\n const disconnect = async () => {\n session && (await client.disconnect({ reason: { code: 0, message: \"User disconnected\" }, topic: session.topic }));\n };\n\n if (!session) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n return { accounts, client, disconnect, session, signer };\n } catch {\n // Errors are handled by returning undefined\n } finally {\n if (modal) {\n modal.closeModal();\n }\n }\n return undefined;\n}\n",
6
6
  "import { type EVMChain, SwapKitError, WalletOption } from \"@swapkit/helpers\";\nimport type {\n JsonRpcProvider,\n Provider,\n TransactionRequest,\n TransactionResponse,\n TypedDataDomain,\n TypedDataField,\n} from \"ethers\";\nimport { AbstractSigner } from \"ethers\";\n\nimport { DEFAULT_EIP155_METHODS } from \"./constants\";\nimport { chainToChainId, getAddressByChain } from \"./helpers\";\nimport type { Walletconnect } from \"./index\";\n\ninterface WalletconnectEVMSignerParams {\n chain: EVMChain;\n walletconnect: Walletconnect;\n provider: Provider | JsonRpcProvider;\n}\n\nclass WalletconnectSigner extends AbstractSigner {\n address: string;\n\n private chain: EVMChain;\n private walletconnect: Walletconnect;\n readonly provider: Provider | JsonRpcProvider;\n\n constructor({ chain, provider, walletconnect }: WalletconnectEVMSignerParams) {\n super(provider);\n this.chain = chain;\n this.walletconnect = walletconnect;\n this.provider = provider;\n this.address = \"\";\n }\n\n // biome-ignore lint/suspicious/useAwait: fulfil implementation type\n getAddress = async () => {\n if (!this.walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n if (!this.address) {\n this.address = getAddressByChain(this.chain, this.walletconnect.accounts || []);\n }\n\n return this.address;\n };\n\n signMessage = async (message: string) => {\n // this is probably broken\n const txHash = (await this.walletconnect?.client.request({\n chainId: chainToChainId(this.chain),\n request: { method: DEFAULT_EIP155_METHODS.ETH_SIGN, params: [message] },\n topic: this.walletconnect.session.topic || \"\",\n })) as string;\n\n return txHash.startsWith(\"0x\") ? txHash : `0x${txHash}`;\n };\n\n signTransaction = () => {\n throw new SwapKitError(\"wallet_walletconnect_method_not_supported\", { method: \"signTransaction\" });\n\n // const baseTx = {\n // from,\n // to,\n // value: BigNumber.from(value || 0).toHexString(),\n // data,\n // };\n\n // const txHash = (await this.walletconnect?.client.request({\n // chainId: chainToChainId(this.chain),\n // topic: this.walletconnect.session.topic,\n // request: {\n // method: DEFAULT_EIP155_METHODS.ETH_SIGN_TRANSACTION,\n // params: [baseTx],\n // },\n // })) as string;\n\n // return txHash.startsWith('0x') ? txHash : `0x${txHash}`;\n };\n\n signTypedData = (\n _domain: TypedDataDomain,\n _types: Record<string, TypedDataField[]>,\n _value: Record<string, unknown>,\n _explicitPrimaryType?: string,\n ) => {\n throw new SwapKitError(\"wallet_walletconnect_method_not_supported\", { method: \"signTransaction\" });\n };\n\n sendTransaction = async ({ from, to, value, data }: TransactionRequest) => {\n const { toHexString } = await import(\"@swapkit/toolboxes/evm\");\n\n const baseTx = { data, from, to, value: toHexString(BigInt(value || 0)) };\n const response = await this.walletconnect?.client.request({\n chainId: chainToChainId(this.chain),\n request: { method: DEFAULT_EIP155_METHODS.ETH_SEND_TRANSACTION, params: [baseTx] },\n topic: this.walletconnect.session.topic,\n });\n\n return response as TransactionResponse;\n };\n\n connect = (provider: Provider | null) => {\n if (!provider) {\n throw new SwapKitError({\n errorKey: \"wallet_provider_not_found\",\n info: { chain: this.chain, wallet: WalletOption.WALLETCONNECT },\n });\n }\n\n return new WalletconnectSigner({ chain: this.chain, provider, walletconnect: this.walletconnect });\n };\n}\nexport const getEVMSigner = async ({ chain, walletconnect, provider }: WalletconnectEVMSignerParams) =>\n new WalletconnectSigner({ chain, provider, walletconnect });\n",
7
7
  "import { Chain, type CosmosChain, type EVMChain, SKConfig } from \"@swapkit/helpers\";\n\nimport {\n ARBITRUM_ONE_MAINNET_ID,\n AURORA_MAINNET_ID,\n AVALANCHE_MAINNET_ID,\n BASE_MAINNET_ID,\n BERACHAIN_MAINNET_ID,\n BSC_MAINNET_ID,\n COSMOS_HUB_MAINNET_ID,\n ETHEREUM_MAINNET_ID,\n KUJIRA_MAINNET_ID,\n MAYACHAIN_MAINNET_ID,\n MONAD_MAINNET_ID,\n NEAR_MAINNET_ID,\n NEAR_TESTNET_ID,\n OPTIMISM_MAINNET_ID,\n POLYGON_MAINNET_ID,\n THORCHAIN_MAINNET_ID,\n TRON_MAINNET_ID,\n} from \"./constants\";\n\nexport const getAddressByChain = (\n chain: EVMChain | Exclude<CosmosChain, typeof Chain.Noble> | typeof Chain.Near | typeof Chain.Tron,\n accounts: string[],\n) => {\n const account = accounts.find((account) => account.startsWith(chainToChainId(chain))) || \"\";\n const address = account?.split(\":\")?.[2];\n\n return address || \"\";\n};\n\nexport const chainToChainId = (chain: Chain) => {\n switch (chain) {\n case Chain.Avalanche:\n return AVALANCHE_MAINNET_ID;\n case Chain.Aurora:\n return AURORA_MAINNET_ID;\n case Chain.Base:\n return BASE_MAINNET_ID;\n case Chain.BinanceSmartChain:\n return BSC_MAINNET_ID;\n case Chain.Berachain:\n return BERACHAIN_MAINNET_ID;\n case Chain.Monad:\n return MONAD_MAINNET_ID;\n case Chain.Ethereum:\n return ETHEREUM_MAINNET_ID;\n case Chain.THORChain:\n return THORCHAIN_MAINNET_ID;\n case Chain.Arbitrum:\n return ARBITRUM_ONE_MAINNET_ID;\n case Chain.Optimism:\n return OPTIMISM_MAINNET_ID;\n case Chain.Polygon:\n return POLYGON_MAINNET_ID;\n case Chain.Maya:\n return MAYACHAIN_MAINNET_ID;\n case Chain.Cosmos:\n return COSMOS_HUB_MAINNET_ID;\n case Chain.Kujira:\n return KUJIRA_MAINNET_ID;\n case Chain.Near: {\n // Use testnet if stagenet is enabled\n const { isStagenet } = SKConfig.get(\"envs\");\n return isStagenet ? NEAR_TESTNET_ID : NEAR_MAINNET_ID;\n }\n case Chain.Tron:\n return TRON_MAINNET_ID;\n default:\n return \"\";\n }\n};\n",
8
8
  "import { SwapKitError } from \"@swapkit/helpers\";\nimport type { ProposalTypes } from \"@walletconnect/types\";\nimport {\n DEFAULT_COSMOS_METHODS,\n DEFAULT_EIP_155_EVENTS,\n DEFAULT_EIP155_METHODS,\n DEFAULT_NEAR_EVENTS,\n DEFAULT_NEAR_METHODS,\n DEFAULT_POLKADOT_EVENTS,\n DEFAULT_POLKADOT_METHODS,\n DEFAULT_SOLANA_EVENTS,\n DEFAULT_SOLANA_METHODS,\n DEFAULT_TRON_EVENTS,\n DEFAULT_TRON_METHODS,\n} from \"./constants\";\n\nexport const getNamespacesFromChains = (chains: string[]) => {\n const supportedNamespaces: string[] = [];\n for (const chainId of chains) {\n const [namespace] = chainId.split(\":\");\n if (namespace && !supportedNamespaces.includes(namespace)) {\n supportedNamespaces.push(namespace);\n }\n }\n\n return supportedNamespaces;\n};\n\nexport const getSupportedMethodsByNamespace = (namespace: string) => {\n switch (namespace) {\n case \"eip155\":\n return Object.values(DEFAULT_EIP155_METHODS);\n case \"cosmos\":\n return Object.values(DEFAULT_COSMOS_METHODS);\n case \"solana\":\n return Object.values(DEFAULT_SOLANA_METHODS);\n case \"polkadot\":\n return Object.values(DEFAULT_POLKADOT_METHODS);\n case \"near\":\n return Object.values(DEFAULT_NEAR_METHODS);\n case \"tron\":\n return Object.values(DEFAULT_TRON_METHODS);\n default:\n throw new SwapKitError({ errorKey: \"wallet_walletconnect_namespace_not_supported\", info: { namespace } });\n }\n};\n\nexport const getSupportedEventsByNamespace = (namespace: string) => {\n switch (namespace) {\n case \"eip155\":\n return Object.values(DEFAULT_EIP_155_EVENTS);\n case \"cosmos\":\n return [];\n case \"solana\":\n return Object.values(DEFAULT_SOLANA_EVENTS);\n case \"polkadot\":\n return Object.values(DEFAULT_POLKADOT_EVENTS);\n case \"near\":\n return Object.values(DEFAULT_NEAR_EVENTS);\n case \"tron\":\n return Object.values(DEFAULT_TRON_EVENTS);\n default:\n throw new SwapKitError({ errorKey: \"wallet_walletconnect_namespace_not_supported\", info: { namespace } });\n }\n};\n\nexport const getRequiredNamespaces = (chains: string[]): ProposalTypes.RequiredNamespaces => {\n const selectedNamespaces = getNamespacesFromChains(chains);\n\n return Object.fromEntries(\n selectedNamespaces.map((namespace) => [\n namespace,\n {\n chains: chains.filter((chain) => chain.startsWith(namespace)),\n events: getSupportedEventsByNamespace(namespace) as any[],\n methods: getSupportedMethodsByNamespace(namespace),\n },\n ]),\n );\n};\n"
@@ -1,4 +1,4 @@
1
- var I={};M(I,{xamanWallet:()=>P,XAMAN_SUPPORTED_CHAINS:()=>N});module.exports=k(I);var s=require("@swapkit/helpers");var A=require("xumm");var d=require("@swapkit/helpers"),x=require("ts-pattern");var u=require("@swapkit/helpers"),h=async(n)=>{if(!n)throw new u.SwapKitError("wallet_xaman_not_configured");try{let e=await(await n.user)?.account;if(e)return e;throw new u.SwapKitError("wallet_xaman_auth_failed")}catch{throw new u.SwapKitError("wallet_xaman_connection_failed")}};async function g(n,t){let e=await n.payload?.createAndSubscribe(t,(o)=>{if("signed"in o.data)return o.data;return});if(!e)throw new u.SwapKitError("wallet_xaman_transaction_failed");let{created:a}=e;if(n.runtime?.xapp)n.xapp?.openSignRequest(a);else if(typeof window<"u"){let o=a.pushed&&a.next?.no_push_msg_received?a.next.no_push_msg_received:a.next?.always;if(o)window.open(o)}let i=await e.resolved;if(!i||typeof i!=="object"||!("signed"in i)||!i.signed)throw new u.SwapKitError("wallet_xaman_transaction_failed");let m=await n.payload?.get(i.payload_uuidv4);if(!m)throw new u.SwapKitError("wallet_xaman_monitoring_failed");let f=m.response?.txid||"",r=m.response?.account||"";if(!f)throw new u.SwapKitError("wallet_xaman_transaction_failed");return{deepLink:a.next?.always||"",payloadId:a.uuid||"",qrCode:a.refs?.qr_png||"",result:{account:r,reason:void 0,success:!0,transactionId:f},websocketUrl:a.refs?.websocket_status||""}}async function y(n,t){if(!(t.destination&&t.amount&&t.from))throw new u.SwapKitError("wallet_xaman_connection_failed");let a=t.currency&&t.issuer?{currency:t.currency,issuer:t.issuer,value:t.amount}:(Number.parseFloat(t.amount)*1e6).toString(),i={Account:t.from,Amount:a,Destination:t.destination,TransactionType:"Payment",...t.destinationTag!==void 0&&{DestinationTag:t.destinationTag},...t.memo&&{Memos:[{Memo:{MemoData:Buffer.from(t.memo,"utf8").toString("hex").toUpperCase()}}]}};return await g(n,i)}async function X(n,t){if(!(t.from&&t.currency&&t.issuer&&t.limit!==void 0))throw new u.SwapKitError("wallet_xaman_connection_failed");let e={Account:t.from,LimitAmount:{currency:t.currency,issuer:t.issuer,value:t.limit},TransactionType:"TrustSet"};return await g(n,e)}function T({xumm:n,chain:t,address:e}){return x.match(t).with(d.Chain.Ripple,async()=>{let{getRippleToolbox:a}=await import("@swapkit/toolboxes/ripple"),i=await a({}),m=async({assetValue:r,recipient:o,memo:l,destinationTag:w})=>{let p=!r.isGasAsset;if(p&&(!r.ticker||!r.address))throw new d.SwapKitError("wallet_xaman_transaction_failed");let c=await y(n,{amount:r.getValue("string"),destination:o,destinationTag:w,from:e,memo:l,...p&&{currency:r.ticker,issuer:r.address}});if(!(c.result.success&&c.result.transactionId))throw new d.SwapKitError("wallet_xaman_transaction_failed");return c.result.transactionId},f=async(r)=>{let o=await X(n,{...r,from:e});if(!(o.result.success&&o.result.transactionId))throw new d.SwapKitError("wallet_xaman_transaction_failed");return o.result.transactionId};return{...i,address:e,createAndSubscribePayment:y,disconnect:n.logout,getAddress:()=>e,setTrustLine:f,transfer:m}}).otherwise(()=>{throw new d.SwapKitError("wallet_chain_not_supported",{chain:t,wallet:"Xaman"})})}var P=S({connect:({addChain:n,supportedChains:t,walletType:e})=>function(i,m){let f=s.filterSupportedChains({chains:i,supportedChains:t,walletType:e}),{xaman:r}=s.SKConfig.get("apiKeys"),o=m?.apiKey||r;if(!o)throw new s.SwapKitError("wallet_missing_api_key",{wallet:"Xaman"});let l=new A.Xumm(o);return new Promise((w,p)=>{l.on("success",async()=>{try{let c=await h(l),b=f.map(async(_)=>{let W=await T({address:c,chain:_,xumm:l});n({...W,address:c,balance:[],chain:_,disconnect:l.logout,walletType:s.WalletOption.XAMAN})});await Promise.all(b),w(!0)}catch(c){p(c)}}),l.on("error",(c)=>{p(c)}),l.authorize()})},name:"connectXaman",supportedChains:[s.Chain.Ripple],walletType:s.WalletOption.XAMAN}),N=C(P);
1
+ var I={};M(I,{xamanWallet:()=>P,XAMAN_SUPPORTED_CHAINS:()=>N});module.exports=k(I);var s=require("@swapkit/helpers"),A=require("xumm");var d=require("@swapkit/helpers"),x=require("ts-pattern");var u=require("@swapkit/helpers"),h=async(n)=>{if(!n)throw new u.SwapKitError("wallet_xaman_not_configured");try{let e=await(await n.user)?.account;if(e)return e;throw new u.SwapKitError("wallet_xaman_auth_failed")}catch{throw new u.SwapKitError("wallet_xaman_connection_failed")}};async function g(n,t){let e=await n.payload?.createAndSubscribe(t,(o)=>{if("signed"in o.data)return o.data;return});if(!e)throw new u.SwapKitError("wallet_xaman_transaction_failed");let{created:a}=e;if(n.runtime?.xapp)n.xapp?.openSignRequest(a);else if(typeof window<"u"){let o=a.pushed&&a.next?.no_push_msg_received?a.next.no_push_msg_received:a.next?.always;if(o)window.open(o)}let i=await e.resolved;if(!i||typeof i!=="object"||!("signed"in i)||!i.signed)throw new u.SwapKitError("wallet_xaman_transaction_failed");let m=await n.payload?.get(i.payload_uuidv4);if(!m)throw new u.SwapKitError("wallet_xaman_monitoring_failed");let f=m.response?.txid||"",r=m.response?.account||"";if(!f)throw new u.SwapKitError("wallet_xaman_transaction_failed");return{deepLink:a.next?.always||"",payloadId:a.uuid||"",qrCode:a.refs?.qr_png||"",result:{account:r,reason:void 0,success:!0,transactionId:f},websocketUrl:a.refs?.websocket_status||""}}async function y(n,t){if(!(t.destination&&t.amount&&t.from))throw new u.SwapKitError("wallet_xaman_connection_failed");let a=t.currency&&t.issuer?{currency:t.currency,issuer:t.issuer,value:t.amount}:(Number.parseFloat(t.amount)*1e6).toString(),i={Account:t.from,Amount:a,Destination:t.destination,TransactionType:"Payment",...t.destinationTag!==void 0&&{DestinationTag:t.destinationTag},...t.memo&&{Memos:[{Memo:{MemoData:Buffer.from(t.memo,"utf8").toString("hex").toUpperCase()}}]}};return await g(n,i)}async function X(n,t){if(!(t.from&&t.currency&&t.issuer&&t.limit!==void 0))throw new u.SwapKitError("wallet_xaman_connection_failed");let e={Account:t.from,LimitAmount:{currency:t.currency,issuer:t.issuer,value:t.limit},TransactionType:"TrustSet"};return await g(n,e)}function T({xumm:n,chain:t,address:e}){return x.match(t).with(d.Chain.Ripple,async()=>{let{getRippleToolbox:a}=await import("@swapkit/toolboxes/ripple"),i=await a({}),m=async({assetValue:r,recipient:o,memo:l,destinationTag:w})=>{let p=!r.isGasAsset;if(p&&(!r.ticker||!r.address))throw new d.SwapKitError("wallet_xaman_transaction_failed");let c=await y(n,{amount:r.getValue("string"),destination:o,destinationTag:w,from:e,memo:l,...p&&{currency:r.ticker,issuer:r.address}});if(!(c.result.success&&c.result.transactionId))throw new d.SwapKitError("wallet_xaman_transaction_failed");return c.result.transactionId},f=async(r)=>{let o=await X(n,{...r,from:e});if(!(o.result.success&&o.result.transactionId))throw new d.SwapKitError("wallet_xaman_transaction_failed");return o.result.transactionId};return{...i,address:e,createAndSubscribePayment:y,disconnect:n.logout,getAddress:()=>e,setTrustLine:f,transfer:m}}).otherwise(()=>{throw new d.SwapKitError("wallet_chain_not_supported",{chain:t,wallet:"Xaman"})})}var P=S({connect:({addChain:n,supportedChains:t,walletType:e})=>function(i,m){let f=s.filterSupportedChains({chains:i,supportedChains:t,walletType:e}),{xaman:r}=s.SKConfig.get("apiKeys"),o=m?.apiKey||r;if(!o)throw new s.SwapKitError("wallet_missing_api_key",{wallet:"Xaman"});let l=new A.Xumm(o);return new Promise((w,p)=>{l.on("success",async()=>{try{let c=await h(l),b=f.map(async(_)=>{let W=await T({address:c,chain:_,xumm:l});n({...W,address:c,balance:[],chain:_,disconnect:l.logout,walletType:s.WalletOption.XAMAN})});await Promise.all(b),w(!0)}catch(c){p(c)}}),l.on("error",(c)=>{p(c)}),l.authorize()})},name:"connectXaman",supportedChains:[s.Chain.Ripple],walletType:s.WalletOption.XAMAN}),N=C(P);
2
2
 
3
- //# debugId=4A061020C078D77F64756E2164756E21
3
+ //# debugId=58DF9B39A522F30E64756E2164756E21
4
4
  //# sourceMappingURL=index.cjs.map
@@ -2,11 +2,11 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/xaman/index.ts", "../src/xaman/helpers.ts", "../src/xaman/walletMethods.ts"],
4
4
  "sourcesContent": [
5
- "import { Chain, filterSupportedChains, SKConfig, SwapKitError, WalletOption } from \"@swapkit/helpers\";\nimport { createWallet, getWalletSupportedChains } from \"../core\";\nimport { Xumm } from \"xumm\";\nimport { getWalletForChain } from \"./helpers\";\nimport type { XamanConfig } from \"./types\";\nimport { connectXamanWallet as connectXamanWalletMethod } from \"./walletMethods\";\n\nexport const xamanWallet = createWallet({\n connect: ({ addChain, supportedChains: walletSupportedChains, walletType }) =>\n function connectXamanWallet(chains: Chain[], xamanConfigOverwrite?: XamanConfig) {\n const supportedChains = filterSupportedChains({ chains, supportedChains: walletSupportedChains, walletType });\n\n const { xaman: xamanApiKey } = SKConfig.get(\"apiKeys\");\n const apiKey = xamanConfigOverwrite?.apiKey || xamanApiKey;\n\n if (!apiKey) {\n throw new SwapKitError(\"wallet_missing_api_key\", { wallet: \"Xaman\" });\n }\n\n const xumm = new Xumm(apiKey);\n\n return new Promise<boolean>((resolve, reject) => {\n xumm.on(\"success\", async () => {\n try {\n const address = await connectXamanWalletMethod(xumm);\n\n const promises = supportedChains.map(async (chain) => {\n const walletMethods = await getWalletForChain({ address, chain, xumm });\n\n addChain({\n ...walletMethods,\n address,\n balance: [],\n chain,\n disconnect: xumm.logout,\n walletType: WalletOption.XAMAN,\n });\n });\n\n await Promise.all(promises);\n resolve(true);\n } catch (error) {\n reject(error);\n }\n });\n\n xumm.on(\"error\", (error) => {\n reject(error);\n });\n\n xumm.authorize();\n });\n },\n name: \"connectXaman\",\n supportedChains: [Chain.Ripple],\n walletType: WalletOption.XAMAN,\n});\n\nexport const XAMAN_SUPPORTED_CHAINS = getWalletSupportedChains(xamanWallet);\nexport type XamanSupportedChain = (typeof XAMAN_SUPPORTED_CHAINS)[number];\n\nexport type { XamanConfig, XamanPaymentParams, XamanTrustSetParams } from \"./types\";\n",
5
+ "import { Chain, filterSupportedChains, SKConfig, SwapKitError, WalletOption } from \"@swapkit/helpers\";\nimport { Xumm } from \"xumm\";\nimport { createWallet, getWalletSupportedChains } from \"../core\";\nimport { getWalletForChain } from \"./helpers\";\nimport type { XamanConfig } from \"./types\";\nimport { connectXamanWallet as connectXamanWalletMethod } from \"./walletMethods\";\n\nexport const xamanWallet = createWallet({\n connect: ({ addChain, supportedChains: walletSupportedChains, walletType }) =>\n function connectXamanWallet(chains: Chain[], xamanConfigOverwrite?: XamanConfig) {\n const supportedChains = filterSupportedChains({ chains, supportedChains: walletSupportedChains, walletType });\n\n const { xaman: xamanApiKey } = SKConfig.get(\"apiKeys\");\n const apiKey = xamanConfigOverwrite?.apiKey || xamanApiKey;\n\n if (!apiKey) {\n throw new SwapKitError(\"wallet_missing_api_key\", { wallet: \"Xaman\" });\n }\n\n const xumm = new Xumm(apiKey);\n\n return new Promise<boolean>((resolve, reject) => {\n xumm.on(\"success\", async () => {\n try {\n const address = await connectXamanWalletMethod(xumm);\n\n const promises = supportedChains.map(async (chain) => {\n const walletMethods = await getWalletForChain({ address, chain, xumm });\n\n addChain({\n ...walletMethods,\n address,\n balance: [],\n chain,\n disconnect: xumm.logout,\n walletType: WalletOption.XAMAN,\n });\n });\n\n await Promise.all(promises);\n resolve(true);\n } catch (error) {\n reject(error);\n }\n });\n\n xumm.on(\"error\", (error) => {\n reject(error);\n });\n\n xumm.authorize();\n });\n },\n name: \"connectXaman\",\n supportedChains: [Chain.Ripple],\n walletType: WalletOption.XAMAN,\n});\n\nexport const XAMAN_SUPPORTED_CHAINS = getWalletSupportedChains(xamanWallet);\nexport type XamanSupportedChain = (typeof XAMAN_SUPPORTED_CHAINS)[number];\n\nexport type { XamanConfig, XamanPaymentParams, XamanTrustSetParams } from \"./types\";\n",
6
6
  "import { type AssetValue, Chain, SwapKitError } from \"@swapkit/helpers\";\nimport { match } from \"ts-pattern\";\nimport type { Xumm } from \"xumm\";\nimport { sendXamanTransaction, sendXamanTrustSet } from \"./walletMethods\";\n\ninterface GetWalletForChainParams {\n chain: Chain;\n address: string;\n xumm: Xumm;\n}\n\nexport function getWalletForChain({ xumm, chain, address }: GetWalletForChainParams) {\n return match(chain)\n .with(Chain.Ripple, async () => {\n const { getRippleToolbox } = await import(\"@swapkit/toolboxes/ripple\");\n const toolbox = await getRippleToolbox({});\n\n const transfer = async ({\n assetValue,\n recipient,\n memo,\n destinationTag,\n }: {\n assetValue: AssetValue;\n recipient: string;\n memo?: string;\n destinationTag?: number;\n }) => {\n const isTokenTransfer = !assetValue.isGasAsset;\n\n if (isTokenTransfer && (!assetValue.ticker || !assetValue.address)) {\n throw new SwapKitError(\"wallet_xaman_transaction_failed\");\n }\n\n const paymentResult = await sendXamanTransaction(xumm, {\n amount: assetValue.getValue(\"string\"),\n destination: recipient,\n destinationTag,\n from: address,\n memo,\n ...(isTokenTransfer && { currency: assetValue.ticker, issuer: assetValue.address }),\n });\n\n if (!(paymentResult.result.success && paymentResult.result.transactionId)) {\n throw new SwapKitError(\"wallet_xaman_transaction_failed\");\n }\n\n return paymentResult.result.transactionId;\n };\n\n const setTrustLine = async (params: { currency: string; issuer: string; limit: string }) => {\n const trustSetResult = await sendXamanTrustSet(xumm, { ...params, from: address });\n\n if (!(trustSetResult.result.success && trustSetResult.result.transactionId)) {\n throw new SwapKitError(\"wallet_xaman_transaction_failed\");\n }\n\n return trustSetResult.result.transactionId;\n };\n\n return {\n ...toolbox,\n address,\n createAndSubscribePayment: sendXamanTransaction,\n disconnect: xumm.logout,\n getAddress: () => address,\n setTrustLine,\n transfer,\n };\n })\n .otherwise(() => {\n throw new SwapKitError(\"wallet_chain_not_supported\", { chain, wallet: \"Xaman\" });\n });\n}\n",
7
7
  "import { SwapKitError } from \"@swapkit/helpers\";\nimport type { Xumm } from \"xumm\";\nimport type { XamanPaymentParams, XamanTrustSetParams } from \"./types\";\n\nexport const connectXamanWallet = async (xumm: Xumm) => {\n if (!xumm) {\n throw new SwapKitError(\"wallet_xaman_not_configured\");\n }\n\n try {\n const user = await xumm.user;\n const account = await user?.account;\n\n if (account) {\n return account;\n }\n\n throw new SwapKitError(\"wallet_xaman_auth_failed\");\n } catch {\n throw new SwapKitError(\"wallet_xaman_connection_failed\");\n }\n};\n\nasync function submitXamanPayload(\n xumm: Xumm,\n transaction: Parameters<NonNullable<Xumm[\"payload\"]>[\"createAndSubscribe\"]>[0],\n) {\n const subscription = await xumm.payload?.createAndSubscribe(transaction, (event) => {\n if (\"signed\" in event.data) return event.data;\n return undefined;\n });\n\n if (!subscription) {\n throw new SwapKitError(\"wallet_xaman_transaction_failed\");\n }\n\n const { created } = subscription;\n\n if (xumm.runtime?.xapp) {\n xumm.xapp?.openSignRequest(created);\n } else if (typeof window !== \"undefined\") {\n const url =\n created.pushed && created.next?.no_push_msg_received ? created.next.no_push_msg_received : created.next?.always;\n if (url) window.open(url);\n }\n\n const resolved = await subscription.resolved;\n\n if (!resolved || typeof resolved !== \"object\" || !(\"signed\" in resolved) || !resolved.signed) {\n throw new SwapKitError(\"wallet_xaman_transaction_failed\");\n }\n\n const payloadDetails = await xumm.payload?.get((resolved as any).payload_uuidv4);\n\n if (!payloadDetails) {\n throw new SwapKitError(\"wallet_xaman_monitoring_failed\");\n }\n\n const transactionId = payloadDetails.response?.txid || \"\";\n const account = payloadDetails.response?.account || \"\";\n\n if (!transactionId) {\n throw new SwapKitError(\"wallet_xaman_transaction_failed\");\n }\n\n return {\n deepLink: created.next?.always || \"\",\n payloadId: created.uuid || \"\",\n qrCode: created.refs?.qr_png || \"\",\n result: { account, reason: undefined, success: true, transactionId },\n websocketUrl: created.refs?.websocket_status || \"\",\n };\n}\n\nexport async function sendXamanTransaction(xumm: Xumm, params: XamanPaymentParams) {\n if (!(params.destination && params.amount && params.from)) {\n throw new SwapKitError(\"wallet_xaman_connection_failed\");\n }\n\n const isTokenTransfer = params.currency && params.issuer;\n const amount = isTokenTransfer\n ? { currency: params.currency, issuer: params.issuer, value: params.amount }\n : (Number.parseFloat(params.amount) * 1000000).toString();\n\n const transaction = {\n Account: params.from,\n Amount: amount,\n Destination: params.destination,\n TransactionType: \"Payment\" as const,\n ...(params.destinationTag !== undefined && { DestinationTag: params.destinationTag }),\n ...(params.memo && {\n Memos: [{ Memo: { MemoData: Buffer.from(params.memo, \"utf8\").toString(\"hex\").toUpperCase() } }],\n }),\n };\n\n return await submitXamanPayload(xumm, transaction);\n}\n\nexport async function sendXamanTrustSet(xumm: Xumm, params: XamanTrustSetParams) {\n if (!(params.from && params.currency && params.issuer && params.limit !== undefined)) {\n throw new SwapKitError(\"wallet_xaman_connection_failed\");\n }\n\n const transaction = {\n Account: params.from,\n LimitAmount: { currency: params.currency, issuer: params.issuer, value: params.limit },\n TransactionType: \"TrustSet\" as const,\n };\n\n return await submitXamanPayload(xumm, transaction);\n}\n"
8
8
  ],
9
- "mappings": "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",
10
- "debugId": "4A061020C078D77F64756E2164756E21",
9
+ "mappings": "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",
10
+ "debugId": "58DF9B39A522F30E64756E2164756E21",
11
11
  "names": []
12
12
  }
@@ -1,4 +1,4 @@
1
1
  import{G as T,H as S}from"../../chunk-qv7snmdv.js";import{I as P}from"../../chunk-5jj4jvy9.js";import{Chain as k,filterSupportedChains as M,SKConfig as N,SwapKitError as I,WalletOption as x}from"@swapkit/helpers";import{Xumm as K}from"xumm";import{Chain as b,SwapKitError as f}from"@swapkit/helpers";import{match as W}from"ts-pattern";import{SwapKitError as c}from"@swapkit/helpers";var _=async(n)=>{if(!n)throw new c("wallet_xaman_not_configured");try{let e=await(await n.user)?.account;if(e)return e;throw new c("wallet_xaman_auth_failed")}catch{throw new c("wallet_xaman_connection_failed")}};async function h(n,t){let e=await n.payload?.createAndSubscribe(t,(o)=>{if("signed"in o.data)return o.data;return});if(!e)throw new c("wallet_xaman_transaction_failed");let{created:a}=e;if(n.runtime?.xapp)n.xapp?.openSignRequest(a);else if(typeof window<"u"){let o=a.pushed&&a.next?.no_push_msg_received?a.next.no_push_msg_received:a.next?.always;if(o)window.open(o)}let i=await e.resolved;if(!i||typeof i!=="object"||!("signed"in i)||!i.signed)throw new c("wallet_xaman_transaction_failed");let l=await n.payload?.get(i.payload_uuidv4);if(!l)throw new c("wallet_xaman_monitoring_failed");let m=l.response?.txid||"",r=l.response?.account||"";if(!m)throw new c("wallet_xaman_transaction_failed");return{deepLink:a.next?.always||"",payloadId:a.uuid||"",qrCode:a.refs?.qr_png||"",result:{account:r,reason:void 0,success:!0,transactionId:m},websocketUrl:a.refs?.websocket_status||""}}async function w(n,t){if(!(t.destination&&t.amount&&t.from))throw new c("wallet_xaman_connection_failed");let a=t.currency&&t.issuer?{currency:t.currency,issuer:t.issuer,value:t.amount}:(Number.parseFloat(t.amount)*1e6).toString(),i={Account:t.from,Amount:a,Destination:t.destination,TransactionType:"Payment",...t.destinationTag!==void 0&&{DestinationTag:t.destinationTag},...t.memo&&{Memos:[{Memo:{MemoData:Buffer.from(t.memo,"utf8").toString("hex").toUpperCase()}}]}};return await h(n,i)}async function g(n,t){if(!(t.from&&t.currency&&t.issuer&&t.limit!==void 0))throw new c("wallet_xaman_connection_failed");let e={Account:t.from,LimitAmount:{currency:t.currency,issuer:t.issuer,value:t.limit},TransactionType:"TrustSet"};return await h(n,e)}function X({xumm:n,chain:t,address:e}){return W(t).with(b.Ripple,async()=>{let{getRippleToolbox:a}=await import("@swapkit/toolboxes/ripple"),i=await a({}),l=async({assetValue:r,recipient:o,memo:u,destinationTag:p})=>{let d=!r.isGasAsset;if(d&&(!r.ticker||!r.address))throw new f("wallet_xaman_transaction_failed");let s=await w(n,{amount:r.getValue("string"),destination:o,destinationTag:p,from:e,memo:u,...d&&{currency:r.ticker,issuer:r.address}});if(!(s.result.success&&s.result.transactionId))throw new f("wallet_xaman_transaction_failed");return s.result.transactionId},m=async(r)=>{let o=await g(n,{...r,from:e});if(!(o.result.success&&o.result.transactionId))throw new f("wallet_xaman_transaction_failed");return o.result.transactionId};return{...i,address:e,createAndSubscribePayment:w,disconnect:n.logout,getAddress:()=>e,setTrustLine:m,transfer:l}}).otherwise(()=>{throw new f("wallet_chain_not_supported",{chain:t,wallet:"Xaman"})})}var R=T({connect:({addChain:n,supportedChains:t,walletType:e})=>function(i,l){let m=M({chains:i,supportedChains:t,walletType:e}),{xaman:r}=N.get("apiKeys"),o=l?.apiKey||r;if(!o)throw new I("wallet_missing_api_key",{wallet:"Xaman"});let u=new K(o);return new Promise((p,d)=>{u.on("success",async()=>{try{let s=await _(u),C=m.map(async(y)=>{let A=await X({address:s,chain:y,xumm:u});n({...A,address:s,balance:[],chain:y,disconnect:u.logout,walletType:x.XAMAN})});await Promise.all(C),p(!0)}catch(s){d(s)}}),u.on("error",(s)=>{d(s)}),u.authorize()})},name:"connectXaman",supportedChains:[k.Ripple],walletType:x.XAMAN}),B=S(R);export{R as xamanWallet,B as XAMAN_SUPPORTED_CHAINS};
2
2
 
3
- //# debugId=A2E9CE25709B82E164756E2164756E21
3
+ //# debugId=B9A8ABD506A14A1364756E2164756E21
4
4
  //# sourceMappingURL=index.js.map
@@ -2,11 +2,11 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/xaman/index.ts", "../src/xaman/helpers.ts", "../src/xaman/walletMethods.ts"],
4
4
  "sourcesContent": [
5
- "import { Chain, filterSupportedChains, SKConfig, SwapKitError, WalletOption } from \"@swapkit/helpers\";\nimport { createWallet, getWalletSupportedChains } from \"../core\";\nimport { Xumm } from \"xumm\";\nimport { getWalletForChain } from \"./helpers\";\nimport type { XamanConfig } from \"./types\";\nimport { connectXamanWallet as connectXamanWalletMethod } from \"./walletMethods\";\n\nexport const xamanWallet = createWallet({\n connect: ({ addChain, supportedChains: walletSupportedChains, walletType }) =>\n function connectXamanWallet(chains: Chain[], xamanConfigOverwrite?: XamanConfig) {\n const supportedChains = filterSupportedChains({ chains, supportedChains: walletSupportedChains, walletType });\n\n const { xaman: xamanApiKey } = SKConfig.get(\"apiKeys\");\n const apiKey = xamanConfigOverwrite?.apiKey || xamanApiKey;\n\n if (!apiKey) {\n throw new SwapKitError(\"wallet_missing_api_key\", { wallet: \"Xaman\" });\n }\n\n const xumm = new Xumm(apiKey);\n\n return new Promise<boolean>((resolve, reject) => {\n xumm.on(\"success\", async () => {\n try {\n const address = await connectXamanWalletMethod(xumm);\n\n const promises = supportedChains.map(async (chain) => {\n const walletMethods = await getWalletForChain({ address, chain, xumm });\n\n addChain({\n ...walletMethods,\n address,\n balance: [],\n chain,\n disconnect: xumm.logout,\n walletType: WalletOption.XAMAN,\n });\n });\n\n await Promise.all(promises);\n resolve(true);\n } catch (error) {\n reject(error);\n }\n });\n\n xumm.on(\"error\", (error) => {\n reject(error);\n });\n\n xumm.authorize();\n });\n },\n name: \"connectXaman\",\n supportedChains: [Chain.Ripple],\n walletType: WalletOption.XAMAN,\n});\n\nexport const XAMAN_SUPPORTED_CHAINS = getWalletSupportedChains(xamanWallet);\nexport type XamanSupportedChain = (typeof XAMAN_SUPPORTED_CHAINS)[number];\n\nexport type { XamanConfig, XamanPaymentParams, XamanTrustSetParams } from \"./types\";\n",
5
+ "import { Chain, filterSupportedChains, SKConfig, SwapKitError, WalletOption } from \"@swapkit/helpers\";\nimport { Xumm } from \"xumm\";\nimport { createWallet, getWalletSupportedChains } from \"../core\";\nimport { getWalletForChain } from \"./helpers\";\nimport type { XamanConfig } from \"./types\";\nimport { connectXamanWallet as connectXamanWalletMethod } from \"./walletMethods\";\n\nexport const xamanWallet = createWallet({\n connect: ({ addChain, supportedChains: walletSupportedChains, walletType }) =>\n function connectXamanWallet(chains: Chain[], xamanConfigOverwrite?: XamanConfig) {\n const supportedChains = filterSupportedChains({ chains, supportedChains: walletSupportedChains, walletType });\n\n const { xaman: xamanApiKey } = SKConfig.get(\"apiKeys\");\n const apiKey = xamanConfigOverwrite?.apiKey || xamanApiKey;\n\n if (!apiKey) {\n throw new SwapKitError(\"wallet_missing_api_key\", { wallet: \"Xaman\" });\n }\n\n const xumm = new Xumm(apiKey);\n\n return new Promise<boolean>((resolve, reject) => {\n xumm.on(\"success\", async () => {\n try {\n const address = await connectXamanWalletMethod(xumm);\n\n const promises = supportedChains.map(async (chain) => {\n const walletMethods = await getWalletForChain({ address, chain, xumm });\n\n addChain({\n ...walletMethods,\n address,\n balance: [],\n chain,\n disconnect: xumm.logout,\n walletType: WalletOption.XAMAN,\n });\n });\n\n await Promise.all(promises);\n resolve(true);\n } catch (error) {\n reject(error);\n }\n });\n\n xumm.on(\"error\", (error) => {\n reject(error);\n });\n\n xumm.authorize();\n });\n },\n name: \"connectXaman\",\n supportedChains: [Chain.Ripple],\n walletType: WalletOption.XAMAN,\n});\n\nexport const XAMAN_SUPPORTED_CHAINS = getWalletSupportedChains(xamanWallet);\nexport type XamanSupportedChain = (typeof XAMAN_SUPPORTED_CHAINS)[number];\n\nexport type { XamanConfig, XamanPaymentParams, XamanTrustSetParams } from \"./types\";\n",
6
6
  "import { type AssetValue, Chain, SwapKitError } from \"@swapkit/helpers\";\nimport { match } from \"ts-pattern\";\nimport type { Xumm } from \"xumm\";\nimport { sendXamanTransaction, sendXamanTrustSet } from \"./walletMethods\";\n\ninterface GetWalletForChainParams {\n chain: Chain;\n address: string;\n xumm: Xumm;\n}\n\nexport function getWalletForChain({ xumm, chain, address }: GetWalletForChainParams) {\n return match(chain)\n .with(Chain.Ripple, async () => {\n const { getRippleToolbox } = await import(\"@swapkit/toolboxes/ripple\");\n const toolbox = await getRippleToolbox({});\n\n const transfer = async ({\n assetValue,\n recipient,\n memo,\n destinationTag,\n }: {\n assetValue: AssetValue;\n recipient: string;\n memo?: string;\n destinationTag?: number;\n }) => {\n const isTokenTransfer = !assetValue.isGasAsset;\n\n if (isTokenTransfer && (!assetValue.ticker || !assetValue.address)) {\n throw new SwapKitError(\"wallet_xaman_transaction_failed\");\n }\n\n const paymentResult = await sendXamanTransaction(xumm, {\n amount: assetValue.getValue(\"string\"),\n destination: recipient,\n destinationTag,\n from: address,\n memo,\n ...(isTokenTransfer && { currency: assetValue.ticker, issuer: assetValue.address }),\n });\n\n if (!(paymentResult.result.success && paymentResult.result.transactionId)) {\n throw new SwapKitError(\"wallet_xaman_transaction_failed\");\n }\n\n return paymentResult.result.transactionId;\n };\n\n const setTrustLine = async (params: { currency: string; issuer: string; limit: string }) => {\n const trustSetResult = await sendXamanTrustSet(xumm, { ...params, from: address });\n\n if (!(trustSetResult.result.success && trustSetResult.result.transactionId)) {\n throw new SwapKitError(\"wallet_xaman_transaction_failed\");\n }\n\n return trustSetResult.result.transactionId;\n };\n\n return {\n ...toolbox,\n address,\n createAndSubscribePayment: sendXamanTransaction,\n disconnect: xumm.logout,\n getAddress: () => address,\n setTrustLine,\n transfer,\n };\n })\n .otherwise(() => {\n throw new SwapKitError(\"wallet_chain_not_supported\", { chain, wallet: \"Xaman\" });\n });\n}\n",
7
7
  "import { SwapKitError } from \"@swapkit/helpers\";\nimport type { Xumm } from \"xumm\";\nimport type { XamanPaymentParams, XamanTrustSetParams } from \"./types\";\n\nexport const connectXamanWallet = async (xumm: Xumm) => {\n if (!xumm) {\n throw new SwapKitError(\"wallet_xaman_not_configured\");\n }\n\n try {\n const user = await xumm.user;\n const account = await user?.account;\n\n if (account) {\n return account;\n }\n\n throw new SwapKitError(\"wallet_xaman_auth_failed\");\n } catch {\n throw new SwapKitError(\"wallet_xaman_connection_failed\");\n }\n};\n\nasync function submitXamanPayload(\n xumm: Xumm,\n transaction: Parameters<NonNullable<Xumm[\"payload\"]>[\"createAndSubscribe\"]>[0],\n) {\n const subscription = await xumm.payload?.createAndSubscribe(transaction, (event) => {\n if (\"signed\" in event.data) return event.data;\n return undefined;\n });\n\n if (!subscription) {\n throw new SwapKitError(\"wallet_xaman_transaction_failed\");\n }\n\n const { created } = subscription;\n\n if (xumm.runtime?.xapp) {\n xumm.xapp?.openSignRequest(created);\n } else if (typeof window !== \"undefined\") {\n const url =\n created.pushed && created.next?.no_push_msg_received ? created.next.no_push_msg_received : created.next?.always;\n if (url) window.open(url);\n }\n\n const resolved = await subscription.resolved;\n\n if (!resolved || typeof resolved !== \"object\" || !(\"signed\" in resolved) || !resolved.signed) {\n throw new SwapKitError(\"wallet_xaman_transaction_failed\");\n }\n\n const payloadDetails = await xumm.payload?.get((resolved as any).payload_uuidv4);\n\n if (!payloadDetails) {\n throw new SwapKitError(\"wallet_xaman_monitoring_failed\");\n }\n\n const transactionId = payloadDetails.response?.txid || \"\";\n const account = payloadDetails.response?.account || \"\";\n\n if (!transactionId) {\n throw new SwapKitError(\"wallet_xaman_transaction_failed\");\n }\n\n return {\n deepLink: created.next?.always || \"\",\n payloadId: created.uuid || \"\",\n qrCode: created.refs?.qr_png || \"\",\n result: { account, reason: undefined, success: true, transactionId },\n websocketUrl: created.refs?.websocket_status || \"\",\n };\n}\n\nexport async function sendXamanTransaction(xumm: Xumm, params: XamanPaymentParams) {\n if (!(params.destination && params.amount && params.from)) {\n throw new SwapKitError(\"wallet_xaman_connection_failed\");\n }\n\n const isTokenTransfer = params.currency && params.issuer;\n const amount = isTokenTransfer\n ? { currency: params.currency, issuer: params.issuer, value: params.amount }\n : (Number.parseFloat(params.amount) * 1000000).toString();\n\n const transaction = {\n Account: params.from,\n Amount: amount,\n Destination: params.destination,\n TransactionType: \"Payment\" as const,\n ...(params.destinationTag !== undefined && { DestinationTag: params.destinationTag }),\n ...(params.memo && {\n Memos: [{ Memo: { MemoData: Buffer.from(params.memo, \"utf8\").toString(\"hex\").toUpperCase() } }],\n }),\n };\n\n return await submitXamanPayload(xumm, transaction);\n}\n\nexport async function sendXamanTrustSet(xumm: Xumm, params: XamanTrustSetParams) {\n if (!(params.from && params.currency && params.issuer && params.limit !== undefined)) {\n throw new SwapKitError(\"wallet_xaman_connection_failed\");\n }\n\n const transaction = {\n Account: params.from,\n LimitAmount: { currency: params.currency, issuer: params.issuer, value: params.limit },\n TransactionType: \"TrustSet\" as const,\n };\n\n return await submitXamanPayload(xumm, transaction);\n}\n"
8
8
  ],
9
- "mappings": "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",
10
- "debugId": "A2E9CE25709B82E164756E2164756E21",
9
+ "mappings": "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",
10
+ "debugId": "B9A8ABD506A14A1364756E2164756E21",
11
11
  "names": []
12
12
  }
@@ -6,52 +6,53 @@ export declare const keystoreWallet: {
6
6
  connectWallet: (connectParams: {
7
7
  addChain: import("@swapkit/helpers").AddChainType;
8
8
  }) => (chains: Chain[], phrase: string, derivationPathMapOrIndex?: number | {
9
- ADI?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
10
- APT?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
11
- ARB?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
12
- AURORA?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
13
- AVAX?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
14
- BASE?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
15
- BERA?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
16
- BSC?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
17
- BTC?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
18
- BCH?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
19
- BOTANIX?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
20
- ADA?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
21
- FLIP?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
22
- CORE?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
23
- CORN?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
24
- GAIA?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
25
- CRO?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
26
- DASH?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
27
- DOGE?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
28
- ETH?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
29
- GNO?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
30
- HARBOR?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
31
- HYPEREVM?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
32
- KUJI?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
33
- LTC?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
34
- MAYA?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
35
- MEGAETH?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
36
- MONAD?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
37
- NEAR?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
38
- NOBLE?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
39
- OP?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
40
- DOT?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
41
- POL?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
42
- XRD?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
43
- XRP?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
44
- SOL?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
45
- SONIC?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
46
- XLM?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
47
- STRK?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
48
- SUI?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
49
- THOR?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
50
- TON?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
51
- TRON?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
52
- UNI?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
53
- XLAYER?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
54
- ZEC?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
9
+ ADI?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 60, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
10
+ APT?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 60, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
11
+ ARB?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 60, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
12
+ AURORA?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 60, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
13
+ AVAX?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 60, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
14
+ BASE?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 60, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
15
+ BERA?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 60, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
16
+ BSC?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 60, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
17
+ BTC?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 60, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
18
+ BCH?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 60, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
19
+ BOTANIX?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 60, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
20
+ ADA?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 60, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
21
+ FLIP?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 60, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
22
+ CORE?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 60, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
23
+ CORN?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 60, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
24
+ GAIA?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 60, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
25
+ CRO?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 60, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
26
+ DASH?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 60, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
27
+ DOGE?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 60, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
28
+ ETH?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 60, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
29
+ GNO?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 60, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
30
+ HARBOR?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 60, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
31
+ HYPEREVM?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 60, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
32
+ HYPERCORE?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 60, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
33
+ KUJI?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 60, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
34
+ LTC?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 60, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
35
+ MAYA?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 60, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
36
+ MEGAETH?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 60, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
37
+ MONAD?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 60, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
38
+ NEAR?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 60, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
39
+ NOBLE?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 60, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
40
+ OP?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 60, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
41
+ DOT?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 60, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
42
+ POL?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 60, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
43
+ XRD?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 60, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
44
+ XRP?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 60, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
45
+ SOL?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 60, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
46
+ SONIC?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 60, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
47
+ XLM?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 60, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
48
+ STRK?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 60, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
49
+ SUI?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 60, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
50
+ THOR?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 60, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
51
+ TON?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 60, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
52
+ TRON?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 60, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
53
+ UNI?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 60, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
54
+ XLAYER?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 60, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
55
+ ZEC?: [44, 118, 0, 0, 0] | [44, 931, 0, 0, 0] | [number, number, number, number, number] | [44, 637, 0, 0, 0] | [44, 60, 0, 0, 0] | [44, 397, 0, 0, 0] | [0, 0, 0, 0, 0] | [44, 144, 0, 0, 0] | [44, 501, 0, 0, 0] | [44, 607, 0, 0, 0] | [44, 195, 0, 0, 0] | [44, 148, 0, 0, 0] | [44, 784, 0, 0, 0] | [1852, 1815, 0, 0, 0] | [44, 9004, 0, 0, 0] | [number, number, number, number, (number | undefined)?] | [44, 145, 0, 0, 0] | [84, 2, 0, 0, 0] | [44, 3, 0, 0, 0] | [44, 5, 0, 0, 0] | [44, 133, 0, 0, 0] | undefined;
55
56
  } | undefined) => Promise<boolean>;
56
57
  supportedChains: (Chain.Adi | Chain.Aptos | Chain.Arbitrum | Chain.Aurora | Chain.Avalanche | Chain.Base | Chain.Berachain | Chain.BinanceSmartChain | Chain.Bitcoin | Chain.BitcoinCash | Chain.Botanix | Chain.Cardano | Chain.Core | Chain.Corn | Chain.Cosmos | Chain.Cronos | Chain.Dash | Chain.Dogecoin | Chain.Ethereum | Chain.Gnosis | Chain.Hyperevm | Chain.Kujira | Chain.Litecoin | Chain.Maya | Chain.Monad | Chain.Near | Chain.Noble | Chain.Optimism | Chain.Polygon | Chain.Ripple | Chain.Solana | Chain.Sonic | Chain.Stellar | Chain.Sui | Chain.THORChain | Chain.Ton | Chain.Tron | Chain.Unichain | Chain.XLayer | Chain.Zcash)[];
57
58
  };
@@ -1 +1 @@
1
- {"version":3,"file":"keystore.d.ts","sourceRoot":"","sources":["../../src/keystore.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,EAEL,KAAK,mBAAmB,EAQzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAkB,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGrE,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,KAAK,QAAQ,EACb,cAAc,GACf,MAAM,oBAAoB,CAAC;AAkE5B,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BzB,CAAC;AAEH,eAAO,MAAM,yBAAyB,2mBAA2C,CAAC;AAElF,wBAAsB,oBAAoB,CAAC,CAAC,SAAS,KAAK,EAAE,EAAE,EAC5D,MAAM,EACN,MAAM,EACN,wBAAwB,GACzB,EAAE;IACD,MAAM,EAAE,CAAC,CAAC;IACV,MAAM,EAAE,MAAM,CAAC;IACf,wBAAwB,CAAC,EAAE;SAAG,KAAK,IAAI,KAAK,CAAC,CAAC,EAAE,mBAAmB;KAAE,GAAG,MAAM,CAAC;CAChF,cA4CY,GAAG,oCAEf"}
1
+ {"version":3,"file":"keystore.d.ts","sourceRoot":"","sources":["../../src/keystore.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,EAEL,KAAK,mBAAmB,EAQzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAkB,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGrE,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,KAAK,QAAQ,EACb,cAAc,GACf,MAAM,oBAAoB,CAAC;AAkE5B,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BzB,CAAC;AAEH,eAAO,MAAM,yBAAyB,2mBAA2C,CAAC;AAElF,wBAAsB,oBAAoB,CAAC,CAAC,SAAS,KAAK,EAAE,EAAE,EAC5D,MAAM,EACN,MAAM,EACN,wBAAwB,GACzB,EAAE;IACD,MAAM,EAAE,CAAC,CAAC;IACV,MAAM,EAAE,MAAM,CAAC;IACf,wBAAwB,CAAC,EAAE;SAAG,KAAK,IAAI,KAAK,CAAC,CAAC,EAAE,mBAAmB;KAAE,GAAG,MAAM,CAAC;CAChF,cA4CY,GAAG,oCAEf"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/radix/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,EAKN,MAAM,kBAAkB,CAAC;AAG1B,eAAO,MAAM,WAAW;;;;;;;CAuBtB,CAAC;AAEH,eAAO,MAAM,sBAAsB,eAAwC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/radix/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,EAA+D,MAAM,kBAAkB,CAAC;AAGvH,eAAO,MAAM,WAAW;;;;;;;CAuBtB,CAAC;AAEH,eAAO,MAAM,sBAAsB,eAAwC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,wBAAsB,UAAU,CAAC,CAAC,SAAS,YAAY,EAAE,YAAY,EAAE,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAyD/F"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,wBAAsB,UAAU,CAAC,CAAC,SAAS,YAAY,EAAE,YAAY,EAAE,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAsD/F"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/walletconnect/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,EAON,MAAM,kBAAkB,CAAC;AAO1B,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAY1E,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AAExB,eAAO,MAAM,mBAAmB;;;;;;;CAwD9B,CAAC;AAEH,eAAO,MAAM,mBAAmB,oRAAgD,CAAC;AACjF,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC;AA2NzE,iBAAe,gBAAgB,CAC7B,MAAM,EAAE,KAAK,EAAE,EACf,sBAAsB,EAAE,MAAM,EAC9B,oBAAoB,CAAC,EAAE,eAAe,CAAC,OAAO;;;;;;eA+E/C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/walletconnect/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,EAON,MAAM,kBAAkB,CAAC;AAM1B,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAa1E,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AAExB,eAAO,MAAM,mBAAmB;;;;;;;CAwD9B,CAAC;AAEH,eAAO,MAAM,mBAAmB,oRAAgD,CAAC;AACjF,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC;AA2NzE,iBAAe,gBAAgB,CAC7B,MAAM,EAAE,KAAK,EAAE,EACf,sBAAsB,EAAE,MAAM,EAC9B,oBAAoB,CAAC,EAAE,eAAe,CAAC,OAAO;;;;;;eA+E/C"}
package/package.json CHANGED
@@ -7,18 +7,18 @@
7
7
  "@near-wallet-selector/bitget-wallet": "~10.1.0",
8
8
  "@near-wallet-selector/core": "~10.1.0",
9
9
  "@near-wallet-selector/modal-ui-js": "~10.1.0",
10
+ "@noble/hashes": "~2.0.0",
10
11
  "@passkeys/core": "~4.1.0",
11
12
  "@passkeys/react": "~3.0.1",
12
13
  "@radixdlt/babylon-gateway-api-sdk": "~1.10.0",
13
14
  "@radixdlt/radix-dapp-toolkit": "~2.2.0",
14
- "@noble/hashes": "~2.0.0",
15
15
  "@scure/base": "~2.0.0",
16
16
  "@scure/bip39": "~2.0.0",
17
- "@swapkit/helpers": "^4.12.0",
18
- "@swapkit/toolboxes": "^4.11.2",
17
+ "@swapkit/helpers": "^4.12.4",
18
+ "@swapkit/toolboxes": "^4.13.2",
19
19
  "@swapkit/utxo-signer": "^2.1.0",
20
- "@swapkit/wallet-extensions": "^4.4.1",
21
- "@swapkit/wallet-hardware": "^4.6.1",
20
+ "@swapkit/wallet-extensions": "^4.4.3",
21
+ "@swapkit/wallet-hardware": "^4.6.3",
22
22
  "@walletconnect/modal": "~2.7.0",
23
23
  "@walletconnect/sign-client": "~2.23.0",
24
24
  "cosmjs-types": "~0.10.1",
@@ -214,9 +214,9 @@
214
214
  "access": "public"
215
215
  },
216
216
  "repository": {
217
+ "directory": "packages/wallets",
217
218
  "type": "git",
218
- "url": "git+https://github.com/swapkit/wallets.git",
219
- "directory": "packages/wallets"
219
+ "url": "git+https://github.com/swapkit/wallets.git"
220
220
  },
221
221
  "scripts": {
222
222
  "build": "bun run ./build.ts",
@@ -226,5 +226,5 @@
226
226
  "type-check:go": "tsgo"
227
227
  },
228
228
  "type": "module",
229
- "version": "4.6.2"
229
+ "version": "4.6.4"
230
230
  }