@swapkit/wallets 3.0.0-beta.10 → 3.0.0-beta.11

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.
Files changed (43) hide show
  1. package/dist/src/bitget/index.cjs +2 -2
  2. package/dist/src/bitget/index.cjs.map +3 -3
  3. package/dist/src/bitget/index.js +2 -2
  4. package/dist/src/bitget/index.js.map +3 -3
  5. package/dist/src/coinbase/index.js +1 -1
  6. package/dist/src/ctrl/index.js +1 -1
  7. package/dist/src/evm-extensions/index.js +1 -1
  8. package/dist/src/exodus/index.js +1 -1
  9. package/dist/src/index.js +1 -1
  10. package/dist/src/keepkey/index.js +1 -1
  11. package/dist/src/keepkey-bex/index.js +1 -1
  12. package/dist/src/keystore/index.js +1 -1
  13. package/dist/src/ledger/index.cjs +2 -2
  14. package/dist/src/ledger/index.cjs.map +3 -3
  15. package/dist/src/ledger/index.js +2 -2
  16. package/dist/src/ledger/index.js.map +3 -3
  17. package/dist/src/okx/index.cjs +2 -2
  18. package/dist/src/okx/index.cjs.map +3 -3
  19. package/dist/src/okx/index.js +2 -2
  20. package/dist/src/okx/index.js.map +3 -3
  21. package/dist/src/onekey/index.cjs +2 -2
  22. package/dist/src/onekey/index.cjs.map +3 -3
  23. package/dist/src/onekey/index.js +2 -2
  24. package/dist/src/onekey/index.js.map +3 -3
  25. package/dist/src/phantom/index.cjs +2 -2
  26. package/dist/src/phantom/index.cjs.map +3 -3
  27. package/dist/src/phantom/index.js +2 -2
  28. package/dist/src/phantom/index.js.map +3 -3
  29. package/dist/src/polkadotjs/index.js +1 -1
  30. package/dist/src/radix/index.js +1 -1
  31. package/dist/src/talisman/index.js +1 -1
  32. package/dist/src/trezor/index.js +1 -1
  33. package/dist/src/walletconnect/index.js +1 -1
  34. package/package.json +2 -2
  35. package/src/bitget/helpers.ts +1 -1
  36. package/src/ledger/clients/utxo.ts +1 -1
  37. package/src/okx/helpers.ts +1 -1
  38. package/src/onekey/index.ts +1 -1
  39. package/src/phantom/index.ts +1 -1
  40. /package/dist/{chunk-0ttw612a.js → chunk-9cnrfb9p.js} +0 -0
  41. /package/dist/{chunk-0ttw612a.js.map → chunk-9cnrfb9p.js.map} +0 -0
  42. /package/dist/{chunk-8pv8t9qa.js → chunk-bw2b8py6.js} +0 -0
  43. /package/dist/{chunk-8pv8t9qa.js.map → chunk-bw2b8py6.js.map} +0 -0
@@ -1,3 +1,3 @@
1
- var S={};h(S,{onekeyWallet:()=>_,ONEKEY_WALLET_SUPPORTED_CHAINS:()=>A});module.exports=P(S);var e=require("@swapkit/helpers");async function b(t){switch(t){case e.Chain.Bitcoin:{if(!window.$onekey?.btc)throw new e.SwapKitError({errorKey:"wallet_onekey_not_found",info:{chain:t}});let{Psbt:r}=(await import("bitcoinjs-lib")).default,{getUtxoToolbox:s}=await import("@swapkit/toolboxes/utxo"),{signTransaction:d,getAddress:n,AddressPurpose:l,BitcoinNetworkType:a}=await import("sats-connect"),o="",w=()=>new Promise((i)=>i(window.$onekey?.btc)),m={getProvider:w,payload:{purposes:[l.Payment],message:"Address for receiving and sending payments",network:{type:a.Mainnet}},onFinish:(i)=>{if(i.addresses[0]?.address)o=i.addresses[0].address},onCancel:()=>{throw new e.SwapKitError("wallet_connection_rejected_by_user")}};await n(m);async function p(i){let y,f={getProvider:w,payload:{message:"Sign transaction",network:{type:a.Mainnet},psbtBase64:i.toBase64(),broadcast:!1,inputsToSign:[{address:o,signingIndexes:i.txInputs.map((g,k)=>k)}]},onFinish:(g)=>{y=r.fromBase64(g.psbtBase64)},onCancel:()=>{throw new e.SwapKitError("wallet_connection_rejected_by_user")}};if(await d(f),!y)throw new e.SwapKitError("wallet_onekey_sign_transaction_error");return y}return{...await s(t,{signer:{signTransaction:p,getAddress:()=>Promise.resolve(o)}}),address:o}}case e.Chain.Solana:{if(!window.$onekey?.sol)throw new e.SwapKitError({errorKey:"wallet_onekey_not_found",info:{chain:t}});let{getSolanaToolbox:r}=await import("@swapkit/toolboxes/solana"),s=window.$onekey.sol,d=await s.getAddress();return{...r({signer:s}),address:d}}case e.Chain.Arbitrum:case e.Chain.Avalanche:case e.Chain.Base:case e.Chain.BinanceSmartChain:case e.Chain.Ethereum:case e.Chain.Optimism:case e.Chain.Polygon:{let{getProvider:r,getEvmToolbox:s}=await import("@swapkit/toolboxes/evm");if(!window.$onekey?.ethereum)throw new e.SwapKitError({errorKey:"wallet_onekey_not_found",info:{chain:t}});let{BrowserProvider:d}=await import("ethers"),n=new d(window.$onekey.ethereum,"any"),l=e.SKConfig.get("rpcUrls")[t];await n.send("eth_requestAccounts",[]);let a=await r(t,l),o=await n.getSigner(),w=await o.getAddress(),m=await s(t,{provider:a,signer:o});try{if(t!==e.Chain.Ethereum){let p=m.getNetworkParams();await e.addEVMWalletNetwork(n,p)}}catch(p){throw new e.SwapKitError({errorKey:"wallet_failed_to_add_or_switch_network",info:{chain:t,error:p}})}return{address:w,...e.prepareNetworkSwitch({toolbox:m,chain:t,provider:n})}}default:throw new e.SwapKitError({errorKey:"wallet_chain_not_supported",info:{chain:t,wallet:e.WalletOption.ONEKEY}})}}var _=e.createWallet({name:"connectOnekeyWallet",walletType:e.WalletOption.ONEKEY,supportedChains:[e.Chain.Arbitrum,e.Chain.Avalanche,e.Chain.Base,e.Chain.BinanceSmartChain,e.Chain.Bitcoin,e.Chain.Ethereum,e.Chain.Optimism,e.Chain.Polygon,e.Chain.Solana],connect:({addChain:t,walletType:r,supportedChains:s})=>async function d(n){if(!window.$onekey)throw new e.SwapKitError({errorKey:"wallet_onekey_not_found",info:{wallet:e.WalletOption.ONEKEY}});let l=e.filterSupportedChains({chains:n,supportedChains:s,walletType:r});return await Promise.all(l.map(async(a)=>{let o=await b(a),w=await o.getAddress()||"F";t({...o,chain:a,address:w,walletType:r})})),!0}}),A=u(_);
1
+ var S={};h(S,{onekeyWallet:()=>_,ONEKEY_WALLET_SUPPORTED_CHAINS:()=>A});module.exports=P(S);var e=require("@swapkit/helpers");async function b(t){switch(t){case e.Chain.Bitcoin:{if(!window.$onekey?.btc)throw new e.SwapKitError({errorKey:"wallet_onekey_not_found",info:{chain:t}});let{Psbt:r}=await import("bitcoinjs-lib"),{getUtxoToolbox:s}=await import("@swapkit/toolboxes/utxo"),{signTransaction:d,getAddress:n,AddressPurpose:l,BitcoinNetworkType:a}=await import("sats-connect"),o="",w=()=>new Promise((i)=>i(window.$onekey?.btc)),m={getProvider:w,payload:{purposes:[l.Payment],message:"Address for receiving and sending payments",network:{type:a.Mainnet}},onFinish:(i)=>{if(i.addresses[0]?.address)o=i.addresses[0].address},onCancel:()=>{throw new e.SwapKitError("wallet_connection_rejected_by_user")}};await n(m);async function p(i){let y,f={getProvider:w,payload:{message:"Sign transaction",network:{type:a.Mainnet},psbtBase64:i.toBase64(),broadcast:!1,inputsToSign:[{address:o,signingIndexes:i.txInputs.map((g,k)=>k)}]},onFinish:(g)=>{y=r.fromBase64(g.psbtBase64)},onCancel:()=>{throw new e.SwapKitError("wallet_connection_rejected_by_user")}};if(await d(f),!y)throw new e.SwapKitError("wallet_onekey_sign_transaction_error");return y}return{...await s(t,{signer:{signTransaction:p,getAddress:()=>Promise.resolve(o)}}),address:o}}case e.Chain.Solana:{if(!window.$onekey?.sol)throw new e.SwapKitError({errorKey:"wallet_onekey_not_found",info:{chain:t}});let{getSolanaToolbox:r}=await import("@swapkit/toolboxes/solana"),s=window.$onekey.sol,d=await s.getAddress();return{...r({signer:s}),address:d}}case e.Chain.Arbitrum:case e.Chain.Avalanche:case e.Chain.Base:case e.Chain.BinanceSmartChain:case e.Chain.Ethereum:case e.Chain.Optimism:case e.Chain.Polygon:{let{getProvider:r,getEvmToolbox:s}=await import("@swapkit/toolboxes/evm");if(!window.$onekey?.ethereum)throw new e.SwapKitError({errorKey:"wallet_onekey_not_found",info:{chain:t}});let{BrowserProvider:d}=await import("ethers"),n=new d(window.$onekey.ethereum,"any"),l=e.SKConfig.get("rpcUrls")[t];await n.send("eth_requestAccounts",[]);let a=await r(t,l),o=await n.getSigner(),w=await o.getAddress(),m=await s(t,{provider:a,signer:o});try{if(t!==e.Chain.Ethereum){let p=m.getNetworkParams();await e.addEVMWalletNetwork(n,p)}}catch(p){throw new e.SwapKitError({errorKey:"wallet_failed_to_add_or_switch_network",info:{chain:t,error:p}})}return{address:w,...e.prepareNetworkSwitch({toolbox:m,chain:t,provider:n})}}default:throw new e.SwapKitError({errorKey:"wallet_chain_not_supported",info:{chain:t,wallet:e.WalletOption.ONEKEY}})}}var _=e.createWallet({name:"connectOnekeyWallet",walletType:e.WalletOption.ONEKEY,supportedChains:[e.Chain.Arbitrum,e.Chain.Avalanche,e.Chain.Base,e.Chain.BinanceSmartChain,e.Chain.Bitcoin,e.Chain.Ethereum,e.Chain.Optimism,e.Chain.Polygon,e.Chain.Solana],connect:({addChain:t,walletType:r,supportedChains:s})=>async function d(n){if(!window.$onekey)throw new e.SwapKitError({errorKey:"wallet_onekey_not_found",info:{wallet:e.WalletOption.ONEKEY}});let l=e.filterSupportedChains({chains:n,supportedChains:s,walletType:r});return await Promise.all(l.map(async(a)=>{let o=await b(a),w=await o.getAddress()||"F";t({...o,chain:a,address:w,walletType:r})})),!0}}),A=u(_);
2
2
 
3
- //# debugId=662897CF924E0FA264756E2164756E21
3
+ //# debugId=E175D68272618D3C64756E2164756E21
@@ -2,9 +2,9 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/onekey/index.ts"],
4
4
  "sourcesContent": [
5
- "import {\n Chain,\n type NetworkParams,\n SKConfig,\n SwapKitError,\n WalletOption,\n addEVMWalletNetwork,\n createWallet,\n filterSupportedChains,\n prepareNetworkSwitch,\n} from \"@swapkit/helpers\";\nimport type {\n BitcoinProvider,\n GetAddressOptions,\n GetAddressResponse,\n SignTransactionOptions,\n} from \"sats-connect\";\nimport { getWalletSupportedChains } from \"../utils\";\n\nasync function getWalletMethodsForExtension(chain: Chain) {\n switch (chain) {\n case Chain.Bitcoin: {\n if (!window.$onekey?.btc) {\n throw new SwapKitError({\n errorKey: \"wallet_onekey_not_found\",\n info: { chain },\n });\n }\n\n const { Psbt } = (await import(\"bitcoinjs-lib\")).default;\n const { getUtxoToolbox } = await import(\"@swapkit/toolboxes/utxo\");\n const {\n signTransaction: satsSignTransaction,\n getAddress,\n AddressPurpose,\n BitcoinNetworkType,\n } = await import(\"sats-connect\");\n\n let address = \"\";\n\n const getProvider: () => Promise<BitcoinProvider | undefined> = () =>\n new Promise((res) => res(window.$onekey?.btc as BitcoinProvider));\n\n const getAddressOptions: GetAddressOptions = {\n getProvider,\n payload: {\n purposes: [AddressPurpose.Payment],\n message: \"Address for receiving and sending payments\",\n network: { type: BitcoinNetworkType.Mainnet },\n },\n onFinish: (response: GetAddressResponse) => {\n if (response.addresses[0]?.address) {\n address = response.addresses[0].address;\n }\n },\n onCancel: () => {\n throw new SwapKitError(\"wallet_connection_rejected_by_user\");\n },\n };\n\n await getAddress(getAddressOptions);\n\n async function signTransaction(psbt: any) {\n let signedPsbt: any;\n const signPsbtOptions: SignTransactionOptions = {\n getProvider,\n payload: {\n message: \"Sign transaction\",\n network: {\n type: BitcoinNetworkType.Mainnet,\n },\n psbtBase64: psbt.toBase64(),\n broadcast: false,\n inputsToSign: [\n {\n address,\n signingIndexes: psbt.txInputs.map((_: any, index: number) => index),\n },\n ],\n },\n onFinish: (response) => {\n signedPsbt = Psbt.fromBase64(response.psbtBase64);\n },\n onCancel: () => {\n throw new SwapKitError(\"wallet_connection_rejected_by_user\");\n },\n };\n\n await satsSignTransaction(signPsbtOptions);\n if (!signedPsbt) throw new SwapKitError(\"wallet_onekey_sign_transaction_error\");\n return signedPsbt;\n }\n\n const signer = {\n signTransaction,\n getAddress: () => Promise.resolve(address),\n };\n\n const toolbox = await getUtxoToolbox(chain, { signer });\n\n return { ...toolbox, address };\n }\n\n case Chain.Solana: {\n if (!window.$onekey?.sol) {\n throw new SwapKitError({\n errorKey: \"wallet_onekey_not_found\",\n info: { chain },\n });\n }\n\n const { getSolanaToolbox } = await import(\"@swapkit/toolboxes/solana\");\n\n const signer = window.$onekey.sol;\n const address = await signer.getAddress();\n const toolbox = getSolanaToolbox({ signer });\n\n return { ...toolbox, address };\n }\n\n case Chain.Arbitrum:\n case Chain.Avalanche:\n case Chain.Base:\n case Chain.BinanceSmartChain:\n case Chain.Ethereum:\n case Chain.Optimism:\n case Chain.Polygon: {\n const { getProvider, getEvmToolbox } = await import(\"@swapkit/toolboxes/evm\");\n if (!window.$onekey?.ethereum) {\n throw new SwapKitError({\n errorKey: \"wallet_onekey_not_found\",\n info: { chain },\n });\n }\n\n const { BrowserProvider } = await import(\"ethers\");\n const provider = new BrowserProvider(window.$onekey.ethereum, \"any\");\n\n const rpcUrl = SKConfig.get(\"rpcUrls\")[chain];\n\n await provider.send(\"eth_requestAccounts\", []);\n const jsonRpcProvider = await getProvider(chain, rpcUrl);\n const signer = await provider.getSigner();\n const address = await signer.getAddress();\n\n const toolbox = await getEvmToolbox(chain, { provider: jsonRpcProvider, signer });\n try {\n if (chain !== Chain.Ethereum) {\n const networkParams = toolbox.getNetworkParams() as NetworkParams;\n\n await addEVMWalletNetwork(provider, networkParams);\n }\n } catch (error) {\n throw new SwapKitError({\n errorKey: \"wallet_failed_to_add_or_switch_network\",\n info: { chain, error },\n });\n }\n\n return {\n address,\n ...prepareNetworkSwitch({ toolbox, chain, provider }),\n };\n }\n\n default:\n throw new SwapKitError({\n errorKey: \"wallet_chain_not_supported\",\n info: { chain, wallet: WalletOption.ONEKEY },\n });\n }\n}\n\nexport const onekeyWallet = createWallet({\n name: \"connectOnekeyWallet\",\n walletType: WalletOption.ONEKEY,\n supportedChains: [\n Chain.Arbitrum,\n Chain.Avalanche,\n Chain.Base,\n Chain.BinanceSmartChain,\n Chain.Bitcoin,\n Chain.Ethereum,\n Chain.Optimism,\n Chain.Polygon,\n Chain.Solana,\n ],\n connect: ({ addChain, walletType, supportedChains }) =>\n async function connectOnekeyWallet(chains: Chain[]) {\n if (!window.$onekey) {\n throw new SwapKitError({\n errorKey: \"wallet_onekey_not_found\",\n info: { wallet: WalletOption.ONEKEY },\n });\n }\n\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n const walletMethods = await getWalletMethodsForExtension(chain);\n\n const address = (await walletMethods.getAddress()) || \"F\";\n\n addChain({ ...walletMethods, chain, address, walletType });\n }),\n );\n\n return true;\n },\n});\n\nexport const ONEKEY_WALLET_SUPPORTED_CHAINS = getWalletSupportedChains(onekeyWallet);\n"
5
+ "import {\n Chain,\n type NetworkParams,\n SKConfig,\n SwapKitError,\n WalletOption,\n addEVMWalletNetwork,\n createWallet,\n filterSupportedChains,\n prepareNetworkSwitch,\n} from \"@swapkit/helpers\";\nimport type {\n BitcoinProvider,\n GetAddressOptions,\n GetAddressResponse,\n SignTransactionOptions,\n} from \"sats-connect\";\nimport { getWalletSupportedChains } from \"../utils\";\n\nasync function getWalletMethodsForExtension(chain: Chain) {\n switch (chain) {\n case Chain.Bitcoin: {\n if (!window.$onekey?.btc) {\n throw new SwapKitError({\n errorKey: \"wallet_onekey_not_found\",\n info: { chain },\n });\n }\n\n const { Psbt } = await import(\"bitcoinjs-lib\");\n const { getUtxoToolbox } = await import(\"@swapkit/toolboxes/utxo\");\n const {\n signTransaction: satsSignTransaction,\n getAddress,\n AddressPurpose,\n BitcoinNetworkType,\n } = await import(\"sats-connect\");\n\n let address = \"\";\n\n const getProvider: () => Promise<BitcoinProvider | undefined> = () =>\n new Promise((res) => res(window.$onekey?.btc as BitcoinProvider));\n\n const getAddressOptions: GetAddressOptions = {\n getProvider,\n payload: {\n purposes: [AddressPurpose.Payment],\n message: \"Address for receiving and sending payments\",\n network: { type: BitcoinNetworkType.Mainnet },\n },\n onFinish: (response: GetAddressResponse) => {\n if (response.addresses[0]?.address) {\n address = response.addresses[0].address;\n }\n },\n onCancel: () => {\n throw new SwapKitError(\"wallet_connection_rejected_by_user\");\n },\n };\n\n await getAddress(getAddressOptions);\n\n async function signTransaction(psbt: any) {\n let signedPsbt: any;\n const signPsbtOptions: SignTransactionOptions = {\n getProvider,\n payload: {\n message: \"Sign transaction\",\n network: {\n type: BitcoinNetworkType.Mainnet,\n },\n psbtBase64: psbt.toBase64(),\n broadcast: false,\n inputsToSign: [\n {\n address,\n signingIndexes: psbt.txInputs.map((_: any, index: number) => index),\n },\n ],\n },\n onFinish: (response) => {\n signedPsbt = Psbt.fromBase64(response.psbtBase64);\n },\n onCancel: () => {\n throw new SwapKitError(\"wallet_connection_rejected_by_user\");\n },\n };\n\n await satsSignTransaction(signPsbtOptions);\n if (!signedPsbt) throw new SwapKitError(\"wallet_onekey_sign_transaction_error\");\n return signedPsbt;\n }\n\n const signer = {\n signTransaction,\n getAddress: () => Promise.resolve(address),\n };\n\n const toolbox = await getUtxoToolbox(chain, { signer });\n\n return { ...toolbox, address };\n }\n\n case Chain.Solana: {\n if (!window.$onekey?.sol) {\n throw new SwapKitError({\n errorKey: \"wallet_onekey_not_found\",\n info: { chain },\n });\n }\n\n const { getSolanaToolbox } = await import(\"@swapkit/toolboxes/solana\");\n\n const signer = window.$onekey.sol;\n const address = await signer.getAddress();\n const toolbox = getSolanaToolbox({ signer });\n\n return { ...toolbox, address };\n }\n\n case Chain.Arbitrum:\n case Chain.Avalanche:\n case Chain.Base:\n case Chain.BinanceSmartChain:\n case Chain.Ethereum:\n case Chain.Optimism:\n case Chain.Polygon: {\n const { getProvider, getEvmToolbox } = await import(\"@swapkit/toolboxes/evm\");\n if (!window.$onekey?.ethereum) {\n throw new SwapKitError({\n errorKey: \"wallet_onekey_not_found\",\n info: { chain },\n });\n }\n\n const { BrowserProvider } = await import(\"ethers\");\n const provider = new BrowserProvider(window.$onekey.ethereum, \"any\");\n\n const rpcUrl = SKConfig.get(\"rpcUrls\")[chain];\n\n await provider.send(\"eth_requestAccounts\", []);\n const jsonRpcProvider = await getProvider(chain, rpcUrl);\n const signer = await provider.getSigner();\n const address = await signer.getAddress();\n\n const toolbox = await getEvmToolbox(chain, { provider: jsonRpcProvider, signer });\n try {\n if (chain !== Chain.Ethereum) {\n const networkParams = toolbox.getNetworkParams() as NetworkParams;\n\n await addEVMWalletNetwork(provider, networkParams);\n }\n } catch (error) {\n throw new SwapKitError({\n errorKey: \"wallet_failed_to_add_or_switch_network\",\n info: { chain, error },\n });\n }\n\n return {\n address,\n ...prepareNetworkSwitch({ toolbox, chain, provider }),\n };\n }\n\n default:\n throw new SwapKitError({\n errorKey: \"wallet_chain_not_supported\",\n info: { chain, wallet: WalletOption.ONEKEY },\n });\n }\n}\n\nexport const onekeyWallet = createWallet({\n name: \"connectOnekeyWallet\",\n walletType: WalletOption.ONEKEY,\n supportedChains: [\n Chain.Arbitrum,\n Chain.Avalanche,\n Chain.Base,\n Chain.BinanceSmartChain,\n Chain.Bitcoin,\n Chain.Ethereum,\n Chain.Optimism,\n Chain.Polygon,\n Chain.Solana,\n ],\n connect: ({ addChain, walletType, supportedChains }) =>\n async function connectOnekeyWallet(chains: Chain[]) {\n if (!window.$onekey) {\n throw new SwapKitError({\n errorKey: \"wallet_onekey_not_found\",\n info: { wallet: WalletOption.ONEKEY },\n });\n }\n\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n const walletMethods = await getWalletMethodsForExtension(chain);\n\n const address = (await walletMethods.getAddress()) || \"F\";\n\n addChain({ ...walletMethods, chain, address, walletType });\n }),\n );\n\n return true;\n },\n});\n\nexport const ONEKEY_WALLET_SUPPORTED_CHAINS = getWalletSupportedChains(onekeyWallet);\n"
6
6
  ],
7
- "mappings": "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",
8
- "debugId": "662897CF924E0FA264756E2164756E21",
7
+ "mappings": "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",
8
+ "debugId": "E175D68272618D3C64756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,3 +1,3 @@
1
- import{a as k}from"../../chunk-0ttw612a.js";import{c as l,d as p}from"../../chunk-p1kdg37m.js";import{Chain as e,SKConfig as b,SwapKitError as r,WalletOption as u,addEVMWalletNetwork as A,createWallet as S,filterSupportedChains as E,prepareNetworkSwitch as O}from"@swapkit/helpers";async function B(t){switch(t){case e.Bitcoin:{if(!window.$onekey?.btc)throw new r({errorKey:"wallet_onekey_not_found",info:{chain:t}});let{Psbt:s}=(await import("bitcoinjs-lib")).default,{getUtxoToolbox:a}=await import("@swapkit/toolboxes/utxo"),{signTransaction:w,getAddress:n,AddressPurpose:m,BitcoinNetworkType:i}=await import("sats-connect"),o="",c=()=>new Promise((d)=>d(window.$onekey?.btc)),g={getProvider:c,payload:{purposes:[m.Payment],message:"Address for receiving and sending payments",network:{type:i.Mainnet}},onFinish:(d)=>{if(d.addresses[0]?.address)o=d.addresses[0].address},onCancel:()=>{throw new r("wallet_connection_rejected_by_user")}};await n(g);async function y(d){let _,P={getProvider:c,payload:{message:"Sign transaction",network:{type:i.Mainnet},psbtBase64:d.toBase64(),broadcast:!1,inputsToSign:[{address:o,signingIndexes:d.txInputs.map((f,h)=>h)}]},onFinish:(f)=>{_=s.fromBase64(f.psbtBase64)},onCancel:()=>{throw new r("wallet_connection_rejected_by_user")}};if(await w(P),!_)throw new r("wallet_onekey_sign_transaction_error");return _}return{...await a(t,{signer:{signTransaction:y,getAddress:()=>Promise.resolve(o)}}),address:o}}case e.Solana:{if(!window.$onekey?.sol)throw new r({errorKey:"wallet_onekey_not_found",info:{chain:t}});let{getSolanaToolbox:s}=await import("@swapkit/toolboxes/solana"),a=window.$onekey.sol,w=await a.getAddress();return{...s({signer:a}),address:w}}case e.Arbitrum:case e.Avalanche:case e.Base:case e.BinanceSmartChain:case e.Ethereum:case e.Optimism:case e.Polygon:{let{getProvider:s,getEvmToolbox:a}=await import("@swapkit/toolboxes/evm");if(!window.$onekey?.ethereum)throw new r({errorKey:"wallet_onekey_not_found",info:{chain:t}});let{BrowserProvider:w}=await import("ethers"),n=new w(window.$onekey.ethereum,"any"),m=b.get("rpcUrls")[t];await n.send("eth_requestAccounts",[]);let i=await s(t,m),o=await n.getSigner(),c=await o.getAddress(),g=await a(t,{provider:i,signer:o});try{if(t!==e.Ethereum){let y=g.getNetworkParams();await A(n,y)}}catch(y){throw new r({errorKey:"wallet_failed_to_add_or_switch_network",info:{chain:t,error:y}})}return{address:c,...O({toolbox:g,chain:t,provider:n})}}default:throw new r({errorKey:"wallet_chain_not_supported",info:{chain:t,wallet:u.ONEKEY}})}}var v=S({name:"connectOnekeyWallet",walletType:u.ONEKEY,supportedChains:[e.Arbitrum,e.Avalanche,e.Base,e.BinanceSmartChain,e.Bitcoin,e.Ethereum,e.Optimism,e.Polygon,e.Solana],connect:({addChain:t,walletType:s,supportedChains:a})=>async function w(n){if(!window.$onekey)throw new r({errorKey:"wallet_onekey_not_found",info:{wallet:u.ONEKEY}});let m=E({chains:n,supportedChains:a,walletType:s});return await Promise.all(m.map(async(i)=>{let o=await B(i),c=await o.getAddress()||"F";t({...o,chain:i,address:c,walletType:s})})),!0}}),N=k(v);export{v as onekeyWallet,N as ONEKEY_WALLET_SUPPORTED_CHAINS};
1
+ import{a as k}from"../../chunk-9cnrfb9p.js";import{c as l,d as p}from"../../chunk-p1kdg37m.js";import{Chain as e,SKConfig as b,SwapKitError as r,WalletOption as u,addEVMWalletNetwork as A,createWallet as S,filterSupportedChains as E,prepareNetworkSwitch as O}from"@swapkit/helpers";async function B(t){switch(t){case e.Bitcoin:{if(!window.$onekey?.btc)throw new r({errorKey:"wallet_onekey_not_found",info:{chain:t}});let{Psbt:s}=await import("bitcoinjs-lib"),{getUtxoToolbox:a}=await import("@swapkit/toolboxes/utxo"),{signTransaction:w,getAddress:n,AddressPurpose:m,BitcoinNetworkType:i}=await import("sats-connect"),o="",c=()=>new Promise((d)=>d(window.$onekey?.btc)),g={getProvider:c,payload:{purposes:[m.Payment],message:"Address for receiving and sending payments",network:{type:i.Mainnet}},onFinish:(d)=>{if(d.addresses[0]?.address)o=d.addresses[0].address},onCancel:()=>{throw new r("wallet_connection_rejected_by_user")}};await n(g);async function y(d){let _,P={getProvider:c,payload:{message:"Sign transaction",network:{type:i.Mainnet},psbtBase64:d.toBase64(),broadcast:!1,inputsToSign:[{address:o,signingIndexes:d.txInputs.map((f,h)=>h)}]},onFinish:(f)=>{_=s.fromBase64(f.psbtBase64)},onCancel:()=>{throw new r("wallet_connection_rejected_by_user")}};if(await w(P),!_)throw new r("wallet_onekey_sign_transaction_error");return _}return{...await a(t,{signer:{signTransaction:y,getAddress:()=>Promise.resolve(o)}}),address:o}}case e.Solana:{if(!window.$onekey?.sol)throw new r({errorKey:"wallet_onekey_not_found",info:{chain:t}});let{getSolanaToolbox:s}=await import("@swapkit/toolboxes/solana"),a=window.$onekey.sol,w=await a.getAddress();return{...s({signer:a}),address:w}}case e.Arbitrum:case e.Avalanche:case e.Base:case e.BinanceSmartChain:case e.Ethereum:case e.Optimism:case e.Polygon:{let{getProvider:s,getEvmToolbox:a}=await import("@swapkit/toolboxes/evm");if(!window.$onekey?.ethereum)throw new r({errorKey:"wallet_onekey_not_found",info:{chain:t}});let{BrowserProvider:w}=await import("ethers"),n=new w(window.$onekey.ethereum,"any"),m=b.get("rpcUrls")[t];await n.send("eth_requestAccounts",[]);let i=await s(t,m),o=await n.getSigner(),c=await o.getAddress(),g=await a(t,{provider:i,signer:o});try{if(t!==e.Ethereum){let y=g.getNetworkParams();await A(n,y)}}catch(y){throw new r({errorKey:"wallet_failed_to_add_or_switch_network",info:{chain:t,error:y}})}return{address:c,...O({toolbox:g,chain:t,provider:n})}}default:throw new r({errorKey:"wallet_chain_not_supported",info:{chain:t,wallet:u.ONEKEY}})}}var v=S({name:"connectOnekeyWallet",walletType:u.ONEKEY,supportedChains:[e.Arbitrum,e.Avalanche,e.Base,e.BinanceSmartChain,e.Bitcoin,e.Ethereum,e.Optimism,e.Polygon,e.Solana],connect:({addChain:t,walletType:s,supportedChains:a})=>async function w(n){if(!window.$onekey)throw new r({errorKey:"wallet_onekey_not_found",info:{wallet:u.ONEKEY}});let m=E({chains:n,supportedChains:a,walletType:s});return await Promise.all(m.map(async(i)=>{let o=await B(i),c=await o.getAddress()||"F";t({...o,chain:i,address:c,walletType:s})})),!0}}),N=k(v);export{v as onekeyWallet,N as ONEKEY_WALLET_SUPPORTED_CHAINS};
2
2
 
3
- //# debugId=AA9B9A9503E61FF864756E2164756E21
3
+ //# debugId=6FE71A965F54F3FD64756E2164756E21
@@ -2,9 +2,9 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/onekey/index.ts"],
4
4
  "sourcesContent": [
5
- "import {\n Chain,\n type NetworkParams,\n SKConfig,\n SwapKitError,\n WalletOption,\n addEVMWalletNetwork,\n createWallet,\n filterSupportedChains,\n prepareNetworkSwitch,\n} from \"@swapkit/helpers\";\nimport type {\n BitcoinProvider,\n GetAddressOptions,\n GetAddressResponse,\n SignTransactionOptions,\n} from \"sats-connect\";\nimport { getWalletSupportedChains } from \"../utils\";\n\nasync function getWalletMethodsForExtension(chain: Chain) {\n switch (chain) {\n case Chain.Bitcoin: {\n if (!window.$onekey?.btc) {\n throw new SwapKitError({\n errorKey: \"wallet_onekey_not_found\",\n info: { chain },\n });\n }\n\n const { Psbt } = (await import(\"bitcoinjs-lib\")).default;\n const { getUtxoToolbox } = await import(\"@swapkit/toolboxes/utxo\");\n const {\n signTransaction: satsSignTransaction,\n getAddress,\n AddressPurpose,\n BitcoinNetworkType,\n } = await import(\"sats-connect\");\n\n let address = \"\";\n\n const getProvider: () => Promise<BitcoinProvider | undefined> = () =>\n new Promise((res) => res(window.$onekey?.btc as BitcoinProvider));\n\n const getAddressOptions: GetAddressOptions = {\n getProvider,\n payload: {\n purposes: [AddressPurpose.Payment],\n message: \"Address for receiving and sending payments\",\n network: { type: BitcoinNetworkType.Mainnet },\n },\n onFinish: (response: GetAddressResponse) => {\n if (response.addresses[0]?.address) {\n address = response.addresses[0].address;\n }\n },\n onCancel: () => {\n throw new SwapKitError(\"wallet_connection_rejected_by_user\");\n },\n };\n\n await getAddress(getAddressOptions);\n\n async function signTransaction(psbt: any) {\n let signedPsbt: any;\n const signPsbtOptions: SignTransactionOptions = {\n getProvider,\n payload: {\n message: \"Sign transaction\",\n network: {\n type: BitcoinNetworkType.Mainnet,\n },\n psbtBase64: psbt.toBase64(),\n broadcast: false,\n inputsToSign: [\n {\n address,\n signingIndexes: psbt.txInputs.map((_: any, index: number) => index),\n },\n ],\n },\n onFinish: (response) => {\n signedPsbt = Psbt.fromBase64(response.psbtBase64);\n },\n onCancel: () => {\n throw new SwapKitError(\"wallet_connection_rejected_by_user\");\n },\n };\n\n await satsSignTransaction(signPsbtOptions);\n if (!signedPsbt) throw new SwapKitError(\"wallet_onekey_sign_transaction_error\");\n return signedPsbt;\n }\n\n const signer = {\n signTransaction,\n getAddress: () => Promise.resolve(address),\n };\n\n const toolbox = await getUtxoToolbox(chain, { signer });\n\n return { ...toolbox, address };\n }\n\n case Chain.Solana: {\n if (!window.$onekey?.sol) {\n throw new SwapKitError({\n errorKey: \"wallet_onekey_not_found\",\n info: { chain },\n });\n }\n\n const { getSolanaToolbox } = await import(\"@swapkit/toolboxes/solana\");\n\n const signer = window.$onekey.sol;\n const address = await signer.getAddress();\n const toolbox = getSolanaToolbox({ signer });\n\n return { ...toolbox, address };\n }\n\n case Chain.Arbitrum:\n case Chain.Avalanche:\n case Chain.Base:\n case Chain.BinanceSmartChain:\n case Chain.Ethereum:\n case Chain.Optimism:\n case Chain.Polygon: {\n const { getProvider, getEvmToolbox } = await import(\"@swapkit/toolboxes/evm\");\n if (!window.$onekey?.ethereum) {\n throw new SwapKitError({\n errorKey: \"wallet_onekey_not_found\",\n info: { chain },\n });\n }\n\n const { BrowserProvider } = await import(\"ethers\");\n const provider = new BrowserProvider(window.$onekey.ethereum, \"any\");\n\n const rpcUrl = SKConfig.get(\"rpcUrls\")[chain];\n\n await provider.send(\"eth_requestAccounts\", []);\n const jsonRpcProvider = await getProvider(chain, rpcUrl);\n const signer = await provider.getSigner();\n const address = await signer.getAddress();\n\n const toolbox = await getEvmToolbox(chain, { provider: jsonRpcProvider, signer });\n try {\n if (chain !== Chain.Ethereum) {\n const networkParams = toolbox.getNetworkParams() as NetworkParams;\n\n await addEVMWalletNetwork(provider, networkParams);\n }\n } catch (error) {\n throw new SwapKitError({\n errorKey: \"wallet_failed_to_add_or_switch_network\",\n info: { chain, error },\n });\n }\n\n return {\n address,\n ...prepareNetworkSwitch({ toolbox, chain, provider }),\n };\n }\n\n default:\n throw new SwapKitError({\n errorKey: \"wallet_chain_not_supported\",\n info: { chain, wallet: WalletOption.ONEKEY },\n });\n }\n}\n\nexport const onekeyWallet = createWallet({\n name: \"connectOnekeyWallet\",\n walletType: WalletOption.ONEKEY,\n supportedChains: [\n Chain.Arbitrum,\n Chain.Avalanche,\n Chain.Base,\n Chain.BinanceSmartChain,\n Chain.Bitcoin,\n Chain.Ethereum,\n Chain.Optimism,\n Chain.Polygon,\n Chain.Solana,\n ],\n connect: ({ addChain, walletType, supportedChains }) =>\n async function connectOnekeyWallet(chains: Chain[]) {\n if (!window.$onekey) {\n throw new SwapKitError({\n errorKey: \"wallet_onekey_not_found\",\n info: { wallet: WalletOption.ONEKEY },\n });\n }\n\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n const walletMethods = await getWalletMethodsForExtension(chain);\n\n const address = (await walletMethods.getAddress()) || \"F\";\n\n addChain({ ...walletMethods, chain, address, walletType });\n }),\n );\n\n return true;\n },\n});\n\nexport const ONEKEY_WALLET_SUPPORTED_CHAINS = getWalletSupportedChains(onekeyWallet);\n"
5
+ "import {\n Chain,\n type NetworkParams,\n SKConfig,\n SwapKitError,\n WalletOption,\n addEVMWalletNetwork,\n createWallet,\n filterSupportedChains,\n prepareNetworkSwitch,\n} from \"@swapkit/helpers\";\nimport type {\n BitcoinProvider,\n GetAddressOptions,\n GetAddressResponse,\n SignTransactionOptions,\n} from \"sats-connect\";\nimport { getWalletSupportedChains } from \"../utils\";\n\nasync function getWalletMethodsForExtension(chain: Chain) {\n switch (chain) {\n case Chain.Bitcoin: {\n if (!window.$onekey?.btc) {\n throw new SwapKitError({\n errorKey: \"wallet_onekey_not_found\",\n info: { chain },\n });\n }\n\n const { Psbt } = await import(\"bitcoinjs-lib\");\n const { getUtxoToolbox } = await import(\"@swapkit/toolboxes/utxo\");\n const {\n signTransaction: satsSignTransaction,\n getAddress,\n AddressPurpose,\n BitcoinNetworkType,\n } = await import(\"sats-connect\");\n\n let address = \"\";\n\n const getProvider: () => Promise<BitcoinProvider | undefined> = () =>\n new Promise((res) => res(window.$onekey?.btc as BitcoinProvider));\n\n const getAddressOptions: GetAddressOptions = {\n getProvider,\n payload: {\n purposes: [AddressPurpose.Payment],\n message: \"Address for receiving and sending payments\",\n network: { type: BitcoinNetworkType.Mainnet },\n },\n onFinish: (response: GetAddressResponse) => {\n if (response.addresses[0]?.address) {\n address = response.addresses[0].address;\n }\n },\n onCancel: () => {\n throw new SwapKitError(\"wallet_connection_rejected_by_user\");\n },\n };\n\n await getAddress(getAddressOptions);\n\n async function signTransaction(psbt: any) {\n let signedPsbt: any;\n const signPsbtOptions: SignTransactionOptions = {\n getProvider,\n payload: {\n message: \"Sign transaction\",\n network: {\n type: BitcoinNetworkType.Mainnet,\n },\n psbtBase64: psbt.toBase64(),\n broadcast: false,\n inputsToSign: [\n {\n address,\n signingIndexes: psbt.txInputs.map((_: any, index: number) => index),\n },\n ],\n },\n onFinish: (response) => {\n signedPsbt = Psbt.fromBase64(response.psbtBase64);\n },\n onCancel: () => {\n throw new SwapKitError(\"wallet_connection_rejected_by_user\");\n },\n };\n\n await satsSignTransaction(signPsbtOptions);\n if (!signedPsbt) throw new SwapKitError(\"wallet_onekey_sign_transaction_error\");\n return signedPsbt;\n }\n\n const signer = {\n signTransaction,\n getAddress: () => Promise.resolve(address),\n };\n\n const toolbox = await getUtxoToolbox(chain, { signer });\n\n return { ...toolbox, address };\n }\n\n case Chain.Solana: {\n if (!window.$onekey?.sol) {\n throw new SwapKitError({\n errorKey: \"wallet_onekey_not_found\",\n info: { chain },\n });\n }\n\n const { getSolanaToolbox } = await import(\"@swapkit/toolboxes/solana\");\n\n const signer = window.$onekey.sol;\n const address = await signer.getAddress();\n const toolbox = getSolanaToolbox({ signer });\n\n return { ...toolbox, address };\n }\n\n case Chain.Arbitrum:\n case Chain.Avalanche:\n case Chain.Base:\n case Chain.BinanceSmartChain:\n case Chain.Ethereum:\n case Chain.Optimism:\n case Chain.Polygon: {\n const { getProvider, getEvmToolbox } = await import(\"@swapkit/toolboxes/evm\");\n if (!window.$onekey?.ethereum) {\n throw new SwapKitError({\n errorKey: \"wallet_onekey_not_found\",\n info: { chain },\n });\n }\n\n const { BrowserProvider } = await import(\"ethers\");\n const provider = new BrowserProvider(window.$onekey.ethereum, \"any\");\n\n const rpcUrl = SKConfig.get(\"rpcUrls\")[chain];\n\n await provider.send(\"eth_requestAccounts\", []);\n const jsonRpcProvider = await getProvider(chain, rpcUrl);\n const signer = await provider.getSigner();\n const address = await signer.getAddress();\n\n const toolbox = await getEvmToolbox(chain, { provider: jsonRpcProvider, signer });\n try {\n if (chain !== Chain.Ethereum) {\n const networkParams = toolbox.getNetworkParams() as NetworkParams;\n\n await addEVMWalletNetwork(provider, networkParams);\n }\n } catch (error) {\n throw new SwapKitError({\n errorKey: \"wallet_failed_to_add_or_switch_network\",\n info: { chain, error },\n });\n }\n\n return {\n address,\n ...prepareNetworkSwitch({ toolbox, chain, provider }),\n };\n }\n\n default:\n throw new SwapKitError({\n errorKey: \"wallet_chain_not_supported\",\n info: { chain, wallet: WalletOption.ONEKEY },\n });\n }\n}\n\nexport const onekeyWallet = createWallet({\n name: \"connectOnekeyWallet\",\n walletType: WalletOption.ONEKEY,\n supportedChains: [\n Chain.Arbitrum,\n Chain.Avalanche,\n Chain.Base,\n Chain.BinanceSmartChain,\n Chain.Bitcoin,\n Chain.Ethereum,\n Chain.Optimism,\n Chain.Polygon,\n Chain.Solana,\n ],\n connect: ({ addChain, walletType, supportedChains }) =>\n async function connectOnekeyWallet(chains: Chain[]) {\n if (!window.$onekey) {\n throw new SwapKitError({\n errorKey: \"wallet_onekey_not_found\",\n info: { wallet: WalletOption.ONEKEY },\n });\n }\n\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n const walletMethods = await getWalletMethodsForExtension(chain);\n\n const address = (await walletMethods.getAddress()) || \"F\";\n\n addChain({ ...walletMethods, chain, address, walletType });\n }),\n );\n\n return true;\n },\n});\n\nexport const ONEKEY_WALLET_SUPPORTED_CHAINS = getWalletSupportedChains(onekeyWallet);\n"
6
6
  ],
7
- "mappings": "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",
8
- "debugId": "AA9B9A9503E61FF864756E2164756E21",
7
+ "mappings": "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",
8
+ "debugId": "6FE71A965F54F3FD64756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,3 +1,3 @@
1
- var A={};x(A,{phantomWallet:()=>u,PHANTOM_SUPPORTED_CHAINS:()=>S});module.exports=T(A);var t=require("@swapkit/helpers");var u=t.createWallet({name:"connectPhantom",walletType:t.WalletOption.PHANTOM,supportedChains:[t.Chain.Bitcoin,t.Chain.Ethereum,t.Chain.Solana],connect:({addChain:s,supportedChains:i,walletType:n})=>async function e(a){let r=t.filterSupportedChains({chains:a,supportedChains:i,walletType:n});try{return await Promise.all(r.map(async(o)=>{let{address:w,...l}=await C(o);s({...l,chain:o,address:w,walletType:n})})),!0}catch(o){if(o instanceof t.SwapKitError)throw o;throw new t.SwapKitError("wallet_connection_rejected_by_user",o)}}}),S=m(u);async function C(s){let i=window?.phantom;switch(s){case t.Chain.Bitcoin:{let n=i?.bitcoin;if(!n?.isPhantom)throw new t.SwapKitError("wallet_phantom_not_found");let{getUtxoToolbox:e}=await import("@swapkit/toolboxes/utxo"),[{address:a}]=await n.requestAccounts();return{...await e(s),address:a}}case t.Chain.Ethereum:{let{getEvmToolbox:n}=await import("@swapkit/toolboxes/evm"),{BrowserProvider:e}=await import("ethers"),a=new e(i?.ethereum,"any"),[r]=await a.send("eth_requestAccounts",[]),o=await a.getSigner();return{...await n(s,{signer:o,provider:a}),address:r}}case t.Chain.Solana:{let{getSolanaToolbox:n}=await import("@swapkit/toolboxes/solana"),e=i?.solana;if(!e?.isPhantom)throw new t.SwapKitError("wallet_phantom_not_found");let r=(await e.connect()).publicKey.toString(),o=await n();return{...o,transfer:async({recipient:l,assetValue:_,isProgramDerivedAddress:p})=>{let{PublicKey:f}=(await import("@solana/web3.js")).default,P=await o.getAddressValidator();if(!(p||P(l)))throw new t.SwapKitError("core_transaction_invalid_recipient_address");let b=new f(r),h=await o.getConnection(),d=await o.createTransaction({recipient:l,assetValue:_,sender:r,isProgramDerivedAddress:p});if(!d)throw new t.SwapKitError("core_transaction_invalid_sender_address");let y=await h.getLatestBlockhash();d.recentBlockhash=y.blockhash,d.feePayer=b;let g=await e.signTransaction(d);return await h.sendRawTransaction(g.serialize())},address:r}}default:throw new t.SwapKitError("wallet_chain_not_supported",{wallet:t.WalletOption.PHANTOM,chain:s})}}
1
+ var A={};x(A,{phantomWallet:()=>m,PHANTOM_SUPPORTED_CHAINS:()=>S});module.exports=T(A);var t=require("@swapkit/helpers");var m=t.createWallet({name:"connectPhantom",walletType:t.WalletOption.PHANTOM,supportedChains:[t.Chain.Bitcoin,t.Chain.Ethereum,t.Chain.Solana],connect:({addChain:s,supportedChains:i,walletType:n})=>async function e(a){let r=t.filterSupportedChains({chains:a,supportedChains:i,walletType:n});try{return await Promise.all(r.map(async(o)=>{let{address:w,...l}=await C(o);s({...l,chain:o,address:w,walletType:n})})),!0}catch(o){if(o instanceof t.SwapKitError)throw o;throw new t.SwapKitError("wallet_connection_rejected_by_user",o)}}}),S=u(m);async function C(s){let i=window?.phantom;switch(s){case t.Chain.Bitcoin:{let n=i?.bitcoin;if(!n?.isPhantom)throw new t.SwapKitError("wallet_phantom_not_found");let{getUtxoToolbox:e}=await import("@swapkit/toolboxes/utxo"),[{address:a}]=await n.requestAccounts();return{...await e(s),address:a}}case t.Chain.Ethereum:{let{getEvmToolbox:n}=await import("@swapkit/toolboxes/evm"),{BrowserProvider:e}=await import("ethers"),a=new e(i?.ethereum,"any"),[r]=await a.send("eth_requestAccounts",[]),o=await a.getSigner();return{...await n(s,{signer:o,provider:a}),address:r}}case t.Chain.Solana:{let{getSolanaToolbox:n}=await import("@swapkit/toolboxes/solana"),e=i?.solana;if(!e?.isPhantom)throw new t.SwapKitError("wallet_phantom_not_found");let r=(await e.connect()).publicKey.toString(),o=await n();return{...o,transfer:async({recipient:l,assetValue:_,isProgramDerivedAddress:p})=>{let{PublicKey:f}=await import("@solana/web3.js"),P=await o.getAddressValidator();if(!(p||P(l)))throw new t.SwapKitError("core_transaction_invalid_recipient_address");let b=new f(r),h=await o.getConnection(),d=await o.createTransaction({recipient:l,assetValue:_,sender:r,isProgramDerivedAddress:p});if(!d)throw new t.SwapKitError("core_transaction_invalid_sender_address");let y=await h.getLatestBlockhash();d.recentBlockhash=y.blockhash,d.feePayer=b;let g=await e.signTransaction(d);return await h.sendRawTransaction(g.serialize())},address:r}}default:throw new t.SwapKitError("wallet_chain_not_supported",{wallet:t.WalletOption.PHANTOM,chain:s})}}
2
2
 
3
- //# debugId=BF108C83548747C364756E2164756E21
3
+ //# debugId=F7EA870FCBB97FB864756E2164756E21
@@ -2,9 +2,9 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/phantom/index.ts"],
4
4
  "sourcesContent": [
5
- "import {\n type AssetValue,\n Chain,\n type GenericTransferParams,\n SwapKitError,\n WalletOption,\n createWallet,\n filterSupportedChains,\n} from \"@swapkit/helpers\";\nimport { getWalletSupportedChains } from \"../utils\";\n\nexport const phantomWallet = createWallet({\n name: \"connectPhantom\",\n walletType: WalletOption.PHANTOM,\n supportedChains: [Chain.Bitcoin, Chain.Ethereum, Chain.Solana],\n connect: ({ addChain, supportedChains, walletType }) =>\n async function connectPhantom(chains: Chain[]) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n\n try {\n await Promise.all(\n filteredChains.map(async (chain) => {\n const { address, ...methods } = await getWalletMethods(chain);\n\n addChain({ ...methods, chain, address, walletType });\n }),\n );\n\n return true;\n } catch (error) {\n if (error instanceof SwapKitError) throw error;\n\n throw new SwapKitError(\"wallet_connection_rejected_by_user\", error);\n }\n },\n});\n\nexport const PHANTOM_SUPPORTED_CHAINS = getWalletSupportedChains(phantomWallet);\nexport type PhantomSupportedChain = (typeof PHANTOM_SUPPORTED_CHAINS)[number];\n\nasync function getWalletMethods(chain: PhantomSupportedChain) {\n const phantom: any = window?.phantom;\n\n switch (chain) {\n case Chain.Bitcoin: {\n const provider = phantom?.bitcoin;\n if (!provider?.isPhantom) {\n throw new SwapKitError(\"wallet_phantom_not_found\");\n }\n\n const { getUtxoToolbox } = await import(\"@swapkit/toolboxes/utxo\");\n const [{ address }] = await provider.requestAccounts();\n const toolbox = await getUtxoToolbox(chain);\n\n return { ...toolbox, address };\n }\n\n case Chain.Ethereum: {\n const { getEvmToolbox } = await import(\"@swapkit/toolboxes/evm\");\n const { BrowserProvider } = await import(\"ethers\");\n\n const provider = new BrowserProvider(phantom?.ethereum, \"any\");\n const [address] = await provider.send(\"eth_requestAccounts\", []);\n\n const signer = await provider.getSigner();\n const toolbox = await getEvmToolbox(chain, { signer, provider });\n\n return { ...toolbox, address };\n }\n\n case Chain.Solana: {\n const { getSolanaToolbox } = await import(\"@swapkit/toolboxes/solana\");\n const provider = phantom?.solana;\n if (!provider?.isPhantom) {\n throw new SwapKitError(\"wallet_phantom_not_found\");\n }\n\n const providerConnection = await provider.connect();\n const address: string = providerConnection.publicKey.toString();\n const toolbox = await getSolanaToolbox();\n\n const transfer = async ({\n recipient,\n assetValue,\n isProgramDerivedAddress,\n }: GenericTransferParams & { assetValue: AssetValue; isProgramDerivedAddress?: boolean }) => {\n const { PublicKey } = (await import(\"@solana/web3.js\")).default;\n const validateAddress = await toolbox.getAddressValidator();\n\n if (!(isProgramDerivedAddress || validateAddress(recipient))) {\n throw new SwapKitError(\"core_transaction_invalid_recipient_address\");\n }\n\n const fromPubkey = new PublicKey(address);\n const connection = await toolbox.getConnection();\n\n const transaction = await toolbox.createTransaction({\n recipient,\n assetValue,\n sender: address,\n isProgramDerivedAddress,\n });\n\n if (!transaction) {\n throw new SwapKitError(\"core_transaction_invalid_sender_address\");\n }\n\n const blockHash = await connection.getLatestBlockhash();\n transaction.recentBlockhash = blockHash.blockhash;\n transaction.feePayer = fromPubkey;\n\n const signedTransaction = await provider.signTransaction(transaction);\n\n const txid = await connection.sendRawTransaction(signedTransaction.serialize());\n\n return txid;\n };\n\n return { ...toolbox, transfer, address };\n }\n\n default: {\n throw new SwapKitError(\"wallet_chain_not_supported\", { wallet: WalletOption.PHANTOM, chain });\n }\n }\n}\n"
5
+ "import {\n type AssetValue,\n Chain,\n type GenericTransferParams,\n SwapKitError,\n WalletOption,\n createWallet,\n filterSupportedChains,\n} from \"@swapkit/helpers\";\nimport { getWalletSupportedChains } from \"../utils\";\n\nexport const phantomWallet = createWallet({\n name: \"connectPhantom\",\n walletType: WalletOption.PHANTOM,\n supportedChains: [Chain.Bitcoin, Chain.Ethereum, Chain.Solana],\n connect: ({ addChain, supportedChains, walletType }) =>\n async function connectPhantom(chains: Chain[]) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n\n try {\n await Promise.all(\n filteredChains.map(async (chain) => {\n const { address, ...methods } = await getWalletMethods(chain);\n\n addChain({ ...methods, chain, address, walletType });\n }),\n );\n\n return true;\n } catch (error) {\n if (error instanceof SwapKitError) throw error;\n\n throw new SwapKitError(\"wallet_connection_rejected_by_user\", error);\n }\n },\n});\n\nexport const PHANTOM_SUPPORTED_CHAINS = getWalletSupportedChains(phantomWallet);\nexport type PhantomSupportedChain = (typeof PHANTOM_SUPPORTED_CHAINS)[number];\n\nasync function getWalletMethods(chain: PhantomSupportedChain) {\n const phantom: any = window?.phantom;\n\n switch (chain) {\n case Chain.Bitcoin: {\n const provider = phantom?.bitcoin;\n if (!provider?.isPhantom) {\n throw new SwapKitError(\"wallet_phantom_not_found\");\n }\n\n const { getUtxoToolbox } = await import(\"@swapkit/toolboxes/utxo\");\n const [{ address }] = await provider.requestAccounts();\n const toolbox = await getUtxoToolbox(chain);\n\n return { ...toolbox, address };\n }\n\n case Chain.Ethereum: {\n const { getEvmToolbox } = await import(\"@swapkit/toolboxes/evm\");\n const { BrowserProvider } = await import(\"ethers\");\n\n const provider = new BrowserProvider(phantom?.ethereum, \"any\");\n const [address] = await provider.send(\"eth_requestAccounts\", []);\n\n const signer = await provider.getSigner();\n const toolbox = await getEvmToolbox(chain, { signer, provider });\n\n return { ...toolbox, address };\n }\n\n case Chain.Solana: {\n const { getSolanaToolbox } = await import(\"@swapkit/toolboxes/solana\");\n const provider = phantom?.solana;\n if (!provider?.isPhantom) {\n throw new SwapKitError(\"wallet_phantom_not_found\");\n }\n\n const providerConnection = await provider.connect();\n const address: string = providerConnection.publicKey.toString();\n const toolbox = await getSolanaToolbox();\n\n const transfer = async ({\n recipient,\n assetValue,\n isProgramDerivedAddress,\n }: GenericTransferParams & { assetValue: AssetValue; isProgramDerivedAddress?: boolean }) => {\n const { PublicKey } = await import(\"@solana/web3.js\");\n const validateAddress = await toolbox.getAddressValidator();\n\n if (!(isProgramDerivedAddress || validateAddress(recipient))) {\n throw new SwapKitError(\"core_transaction_invalid_recipient_address\");\n }\n\n const fromPubkey = new PublicKey(address);\n const connection = await toolbox.getConnection();\n\n const transaction = await toolbox.createTransaction({\n recipient,\n assetValue,\n sender: address,\n isProgramDerivedAddress,\n });\n\n if (!transaction) {\n throw new SwapKitError(\"core_transaction_invalid_sender_address\");\n }\n\n const blockHash = await connection.getLatestBlockhash();\n transaction.recentBlockhash = blockHash.blockhash;\n transaction.feePayer = fromPubkey;\n\n const signedTransaction = await provider.signTransaction(transaction);\n\n const txid = await connection.sendRawTransaction(signedTransaction.serialize());\n\n return txid;\n };\n\n return { ...toolbox, transfer, address };\n }\n\n default: {\n throw new SwapKitError(\"wallet_chain_not_supported\", { wallet: WalletOption.PHANTOM, chain });\n }\n }\n}\n"
6
6
  ],
7
- "mappings": "uFAQO,IARP,8BAWO,IAAM,EAAgB,eAAa,CACxC,KAAM,iBACN,WAAY,eAAa,QACzB,gBAAiB,CAAC,QAAM,QAAS,QAAM,SAAU,QAAM,MAAM,EAC7D,QAAS,EAAG,WAAU,kBAAiB,gBACrC,eAAe,CAAc,CAAC,EAAiB,CAC7C,IAAM,EAAiB,wBAAsB,CAAE,SAAQ,kBAAiB,YAAW,CAAC,EAEpF,GAAI,CASF,OARA,MAAM,QAAQ,IACZ,EAAe,IAAI,MAAO,IAAU,CAClC,IAAQ,aAAY,GAAY,MAAM,EAAiB,CAAK,EAE5D,EAAS,IAAK,EAAS,QAAO,UAAS,YAAW,CAAC,EACpD,CACH,EAEO,GACP,MAAO,EAAO,CACd,GAAI,aAAiB,eAAc,MAAM,EAEzC,MAAM,IAAI,eAAa,qCAAsC,CAAK,GAG1E,CAAC,EAEY,EAA2B,EAAyB,CAAa,EAG9E,eAAe,CAAgB,CAAC,EAA8B,CAC5D,IAAM,EAAe,QAAQ,QAE7B,OAAQ,QACD,QAAM,QAAS,CAClB,IAAM,EAAW,GAAS,QAC1B,IAAK,GAAU,UACb,MAAM,IAAI,eAAa,0BAA0B,EAGnD,IAAQ,kBAAmB,KAAa,qCAC/B,YAAa,MAAM,EAAS,gBAAgB,EAGrD,MAAO,IAFS,MAAM,EAAe,CAAK,EAErB,SAAQ,CAC/B,MAEK,QAAM,SAAU,CACnB,IAAQ,iBAAkB,KAAa,mCAC/B,mBAAoB,KAAa,kBAEnC,EAAW,IAAI,EAAgB,GAAS,SAAU,KAAK,GACtD,GAAW,MAAM,EAAS,KAAK,sBAAuB,CAAC,CAAC,EAEzD,EAAS,MAAM,EAAS,UAAU,EAGxC,MAAO,IAFS,MAAM,EAAc,EAAO,CAAE,SAAQ,UAAS,CAAC,EAE1C,SAAQ,CAC/B,MAEK,QAAM,OAAQ,CACjB,IAAQ,oBAAqB,KAAa,qCACpC,EAAW,GAAS,OAC1B,IAAK,GAAU,UACb,MAAM,IAAI,eAAa,0BAA0B,EAInD,IAAM,GADqB,MAAM,EAAS,QAAQ,GACP,UAAU,SAAS,EACxD,EAAU,MAAM,EAAiB,EAuCvC,MAAO,IAAK,EAAS,SArCJ,OACf,YACA,aACA,6BAC2F,CAC3F,IAAQ,cAAe,KAAa,4BAAoB,QAClD,EAAkB,MAAM,EAAQ,oBAAoB,EAE1D,KAAM,GAA2B,EAAgB,CAAS,GACxD,MAAM,IAAI,eAAa,4CAA4C,EAGrE,IAAM,EAAa,IAAI,EAAU,CAAO,EAClC,EAAa,MAAM,EAAQ,cAAc,EAEzC,EAAc,MAAM,EAAQ,kBAAkB,CAClD,YACA,aACA,OAAQ,EACR,yBACF,CAAC,EAED,IAAK,EACH,MAAM,IAAI,eAAa,yCAAyC,EAGlE,IAAM,EAAY,MAAM,EAAW,mBAAmB,EACtD,EAAY,gBAAkB,EAAU,UACxC,EAAY,SAAW,EAEvB,IAAM,EAAoB,MAAM,EAAS,gBAAgB,CAAW,EAIpE,OAFa,MAAM,EAAW,mBAAmB,EAAkB,UAAU,CAAC,GAKjD,SAAQ,CACzC,SAGE,MAAM,IAAI,eAAa,6BAA8B,CAAE,OAAQ,eAAa,QAAS,OAAM,CAAC",
8
- "debugId": "BF108C83548747C364756E2164756E21",
7
+ "mappings": "uFAQO,IARP,8BAWO,IAAM,EAAgB,eAAa,CACxC,KAAM,iBACN,WAAY,eAAa,QACzB,gBAAiB,CAAC,QAAM,QAAS,QAAM,SAAU,QAAM,MAAM,EAC7D,QAAS,EAAG,WAAU,kBAAiB,gBACrC,eAAe,CAAc,CAAC,EAAiB,CAC7C,IAAM,EAAiB,wBAAsB,CAAE,SAAQ,kBAAiB,YAAW,CAAC,EAEpF,GAAI,CASF,OARA,MAAM,QAAQ,IACZ,EAAe,IAAI,MAAO,IAAU,CAClC,IAAQ,aAAY,GAAY,MAAM,EAAiB,CAAK,EAE5D,EAAS,IAAK,EAAS,QAAO,UAAS,YAAW,CAAC,EACpD,CACH,EAEO,GACP,MAAO,EAAO,CACd,GAAI,aAAiB,eAAc,MAAM,EAEzC,MAAM,IAAI,eAAa,qCAAsC,CAAK,GAG1E,CAAC,EAEY,EAA2B,EAAyB,CAAa,EAG9E,eAAe,CAAgB,CAAC,EAA8B,CAC5D,IAAM,EAAe,QAAQ,QAE7B,OAAQ,QACD,QAAM,QAAS,CAClB,IAAM,EAAW,GAAS,QAC1B,IAAK,GAAU,UACb,MAAM,IAAI,eAAa,0BAA0B,EAGnD,IAAQ,kBAAmB,KAAa,qCAC/B,YAAa,MAAM,EAAS,gBAAgB,EAGrD,MAAO,IAFS,MAAM,EAAe,CAAK,EAErB,SAAQ,CAC/B,MAEK,QAAM,SAAU,CACnB,IAAQ,iBAAkB,KAAa,mCAC/B,mBAAoB,KAAa,kBAEnC,EAAW,IAAI,EAAgB,GAAS,SAAU,KAAK,GACtD,GAAW,MAAM,EAAS,KAAK,sBAAuB,CAAC,CAAC,EAEzD,EAAS,MAAM,EAAS,UAAU,EAGxC,MAAO,IAFS,MAAM,EAAc,EAAO,CAAE,SAAQ,UAAS,CAAC,EAE1C,SAAQ,CAC/B,MAEK,QAAM,OAAQ,CACjB,IAAQ,oBAAqB,KAAa,qCACpC,EAAW,GAAS,OAC1B,IAAK,GAAU,UACb,MAAM,IAAI,eAAa,0BAA0B,EAInD,IAAM,GADqB,MAAM,EAAS,QAAQ,GACP,UAAU,SAAS,EACxD,EAAU,MAAM,EAAiB,EAuCvC,MAAO,IAAK,EAAS,SArCJ,OACf,YACA,aACA,6BAC2F,CAC3F,IAAQ,aAAc,KAAa,2BAC7B,EAAkB,MAAM,EAAQ,oBAAoB,EAE1D,KAAM,GAA2B,EAAgB,CAAS,GACxD,MAAM,IAAI,eAAa,4CAA4C,EAGrE,IAAM,EAAa,IAAI,EAAU,CAAO,EAClC,EAAa,MAAM,EAAQ,cAAc,EAEzC,EAAc,MAAM,EAAQ,kBAAkB,CAClD,YACA,aACA,OAAQ,EACR,yBACF,CAAC,EAED,IAAK,EACH,MAAM,IAAI,eAAa,yCAAyC,EAGlE,IAAM,EAAY,MAAM,EAAW,mBAAmB,EACtD,EAAY,gBAAkB,EAAU,UACxC,EAAY,SAAW,EAEvB,IAAM,EAAoB,MAAM,EAAS,gBAAgB,CAAW,EAIpE,OAFa,MAAM,EAAW,mBAAmB,EAAkB,UAAU,CAAC,GAKjD,SAAQ,CACzC,SAGE,MAAM,IAAI,eAAa,6BAA8B,CAAE,OAAQ,eAAa,QAAS,OAAM,CAAC",
8
+ "debugId": "F7EA870FCBB97FB864756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,3 +1,3 @@
1
- import{a as f}from"../../chunk-0ttw612a.js";import{c as l,d}from"../../chunk-p1kdg37m.js";import{Chain as i,SwapKitError as r,WalletOption as _,createWallet as S,filterSupportedChains as C}from"@swapkit/helpers";var A=S({name:"connectPhantom",walletType:_.PHANTOM,supportedChains:[i.Bitcoin,i.Ethereum,i.Solana],connect:({addChain:s,supportedChains:c,walletType:o})=>async function n(e){let a=C({chains:e,supportedChains:c,walletType:o});try{return await Promise.all(a.map(async(t)=>{let{address:h,...w}=await v(t);s({...w,chain:t,address:h,walletType:o})})),!0}catch(t){if(t instanceof r)throw t;throw new r("wallet_connection_rejected_by_user",t)}}}),N=f(A);async function v(s){let c=window?.phantom;switch(s){case i.Bitcoin:{let o=c?.bitcoin;if(!o?.isPhantom)throw new r("wallet_phantom_not_found");let{getUtxoToolbox:n}=await import("@swapkit/toolboxes/utxo"),[{address:e}]=await o.requestAccounts();return{...await n(s),address:e}}case i.Ethereum:{let{getEvmToolbox:o}=await import("@swapkit/toolboxes/evm"),{BrowserProvider:n}=await import("ethers"),e=new n(c?.ethereum,"any"),[a]=await e.send("eth_requestAccounts",[]),t=await e.getSigner();return{...await o(s,{signer:t,provider:e}),address:a}}case i.Solana:{let{getSolanaToolbox:o}=await import("@swapkit/toolboxes/solana"),n=c?.solana;if(!n?.isPhantom)throw new r("wallet_phantom_not_found");let a=(await n.connect()).publicKey.toString(),t=await o();return{...t,transfer:async({recipient:w,assetValue:P,isProgramDerivedAddress:u})=>{let{PublicKey:b}=(await import("@solana/web3.js")).default,y=await t.getAddressValidator();if(!(u||y(w)))throw new r("core_transaction_invalid_recipient_address");let g=new b(a),m=await t.getConnection(),p=await t.createTransaction({recipient:w,assetValue:P,sender:a,isProgramDerivedAddress:u});if(!p)throw new r("core_transaction_invalid_sender_address");let T=await m.getLatestBlockhash();p.recentBlockhash=T.blockhash,p.feePayer=g;let x=await n.signTransaction(p);return await m.sendRawTransaction(x.serialize())},address:a}}default:throw new r("wallet_chain_not_supported",{wallet:_.PHANTOM,chain:s})}}export{A as phantomWallet,N as PHANTOM_SUPPORTED_CHAINS};
1
+ import{a as f}from"../../chunk-9cnrfb9p.js";import{c as l,d}from"../../chunk-p1kdg37m.js";import{Chain as i,SwapKitError as r,WalletOption as _,createWallet as S,filterSupportedChains as C}from"@swapkit/helpers";var A=S({name:"connectPhantom",walletType:_.PHANTOM,supportedChains:[i.Bitcoin,i.Ethereum,i.Solana],connect:({addChain:s,supportedChains:c,walletType:o})=>async function n(e){let a=C({chains:e,supportedChains:c,walletType:o});try{return await Promise.all(a.map(async(t)=>{let{address:h,...w}=await v(t);s({...w,chain:t,address:h,walletType:o})})),!0}catch(t){if(t instanceof r)throw t;throw new r("wallet_connection_rejected_by_user",t)}}}),N=f(A);async function v(s){let c=window?.phantom;switch(s){case i.Bitcoin:{let o=c?.bitcoin;if(!o?.isPhantom)throw new r("wallet_phantom_not_found");let{getUtxoToolbox:n}=await import("@swapkit/toolboxes/utxo"),[{address:e}]=await o.requestAccounts();return{...await n(s),address:e}}case i.Ethereum:{let{getEvmToolbox:o}=await import("@swapkit/toolboxes/evm"),{BrowserProvider:n}=await import("ethers"),e=new n(c?.ethereum,"any"),[a]=await e.send("eth_requestAccounts",[]),t=await e.getSigner();return{...await o(s,{signer:t,provider:e}),address:a}}case i.Solana:{let{getSolanaToolbox:o}=await import("@swapkit/toolboxes/solana"),n=c?.solana;if(!n?.isPhantom)throw new r("wallet_phantom_not_found");let a=(await n.connect()).publicKey.toString(),t=await o();return{...t,transfer:async({recipient:w,assetValue:P,isProgramDerivedAddress:m})=>{let{PublicKey:b}=await import("@solana/web3.js"),y=await t.getAddressValidator();if(!(m||y(w)))throw new r("core_transaction_invalid_recipient_address");let g=new b(a),u=await t.getConnection(),p=await t.createTransaction({recipient:w,assetValue:P,sender:a,isProgramDerivedAddress:m});if(!p)throw new r("core_transaction_invalid_sender_address");let T=await u.getLatestBlockhash();p.recentBlockhash=T.blockhash,p.feePayer=g;let x=await n.signTransaction(p);return await u.sendRawTransaction(x.serialize())},address:a}}default:throw new r("wallet_chain_not_supported",{wallet:_.PHANTOM,chain:s})}}export{A as phantomWallet,N as PHANTOM_SUPPORTED_CHAINS};
2
2
 
3
- //# debugId=13C91BB5D8EE130464756E2164756E21
3
+ //# debugId=6EBF999D5EECFD6764756E2164756E21
@@ -2,9 +2,9 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/phantom/index.ts"],
4
4
  "sourcesContent": [
5
- "import {\n type AssetValue,\n Chain,\n type GenericTransferParams,\n SwapKitError,\n WalletOption,\n createWallet,\n filterSupportedChains,\n} from \"@swapkit/helpers\";\nimport { getWalletSupportedChains } from \"../utils\";\n\nexport const phantomWallet = createWallet({\n name: \"connectPhantom\",\n walletType: WalletOption.PHANTOM,\n supportedChains: [Chain.Bitcoin, Chain.Ethereum, Chain.Solana],\n connect: ({ addChain, supportedChains, walletType }) =>\n async function connectPhantom(chains: Chain[]) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n\n try {\n await Promise.all(\n filteredChains.map(async (chain) => {\n const { address, ...methods } = await getWalletMethods(chain);\n\n addChain({ ...methods, chain, address, walletType });\n }),\n );\n\n return true;\n } catch (error) {\n if (error instanceof SwapKitError) throw error;\n\n throw new SwapKitError(\"wallet_connection_rejected_by_user\", error);\n }\n },\n});\n\nexport const PHANTOM_SUPPORTED_CHAINS = getWalletSupportedChains(phantomWallet);\nexport type PhantomSupportedChain = (typeof PHANTOM_SUPPORTED_CHAINS)[number];\n\nasync function getWalletMethods(chain: PhantomSupportedChain) {\n const phantom: any = window?.phantom;\n\n switch (chain) {\n case Chain.Bitcoin: {\n const provider = phantom?.bitcoin;\n if (!provider?.isPhantom) {\n throw new SwapKitError(\"wallet_phantom_not_found\");\n }\n\n const { getUtxoToolbox } = await import(\"@swapkit/toolboxes/utxo\");\n const [{ address }] = await provider.requestAccounts();\n const toolbox = await getUtxoToolbox(chain);\n\n return { ...toolbox, address };\n }\n\n case Chain.Ethereum: {\n const { getEvmToolbox } = await import(\"@swapkit/toolboxes/evm\");\n const { BrowserProvider } = await import(\"ethers\");\n\n const provider = new BrowserProvider(phantom?.ethereum, \"any\");\n const [address] = await provider.send(\"eth_requestAccounts\", []);\n\n const signer = await provider.getSigner();\n const toolbox = await getEvmToolbox(chain, { signer, provider });\n\n return { ...toolbox, address };\n }\n\n case Chain.Solana: {\n const { getSolanaToolbox } = await import(\"@swapkit/toolboxes/solana\");\n const provider = phantom?.solana;\n if (!provider?.isPhantom) {\n throw new SwapKitError(\"wallet_phantom_not_found\");\n }\n\n const providerConnection = await provider.connect();\n const address: string = providerConnection.publicKey.toString();\n const toolbox = await getSolanaToolbox();\n\n const transfer = async ({\n recipient,\n assetValue,\n isProgramDerivedAddress,\n }: GenericTransferParams & { assetValue: AssetValue; isProgramDerivedAddress?: boolean }) => {\n const { PublicKey } = (await import(\"@solana/web3.js\")).default;\n const validateAddress = await toolbox.getAddressValidator();\n\n if (!(isProgramDerivedAddress || validateAddress(recipient))) {\n throw new SwapKitError(\"core_transaction_invalid_recipient_address\");\n }\n\n const fromPubkey = new PublicKey(address);\n const connection = await toolbox.getConnection();\n\n const transaction = await toolbox.createTransaction({\n recipient,\n assetValue,\n sender: address,\n isProgramDerivedAddress,\n });\n\n if (!transaction) {\n throw new SwapKitError(\"core_transaction_invalid_sender_address\");\n }\n\n const blockHash = await connection.getLatestBlockhash();\n transaction.recentBlockhash = blockHash.blockhash;\n transaction.feePayer = fromPubkey;\n\n const signedTransaction = await provider.signTransaction(transaction);\n\n const txid = await connection.sendRawTransaction(signedTransaction.serialize());\n\n return txid;\n };\n\n return { ...toolbox, transfer, address };\n }\n\n default: {\n throw new SwapKitError(\"wallet_chain_not_supported\", { wallet: WalletOption.PHANTOM, chain });\n }\n }\n}\n"
5
+ "import {\n type AssetValue,\n Chain,\n type GenericTransferParams,\n SwapKitError,\n WalletOption,\n createWallet,\n filterSupportedChains,\n} from \"@swapkit/helpers\";\nimport { getWalletSupportedChains } from \"../utils\";\n\nexport const phantomWallet = createWallet({\n name: \"connectPhantom\",\n walletType: WalletOption.PHANTOM,\n supportedChains: [Chain.Bitcoin, Chain.Ethereum, Chain.Solana],\n connect: ({ addChain, supportedChains, walletType }) =>\n async function connectPhantom(chains: Chain[]) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n\n try {\n await Promise.all(\n filteredChains.map(async (chain) => {\n const { address, ...methods } = await getWalletMethods(chain);\n\n addChain({ ...methods, chain, address, walletType });\n }),\n );\n\n return true;\n } catch (error) {\n if (error instanceof SwapKitError) throw error;\n\n throw new SwapKitError(\"wallet_connection_rejected_by_user\", error);\n }\n },\n});\n\nexport const PHANTOM_SUPPORTED_CHAINS = getWalletSupportedChains(phantomWallet);\nexport type PhantomSupportedChain = (typeof PHANTOM_SUPPORTED_CHAINS)[number];\n\nasync function getWalletMethods(chain: PhantomSupportedChain) {\n const phantom: any = window?.phantom;\n\n switch (chain) {\n case Chain.Bitcoin: {\n const provider = phantom?.bitcoin;\n if (!provider?.isPhantom) {\n throw new SwapKitError(\"wallet_phantom_not_found\");\n }\n\n const { getUtxoToolbox } = await import(\"@swapkit/toolboxes/utxo\");\n const [{ address }] = await provider.requestAccounts();\n const toolbox = await getUtxoToolbox(chain);\n\n return { ...toolbox, address };\n }\n\n case Chain.Ethereum: {\n const { getEvmToolbox } = await import(\"@swapkit/toolboxes/evm\");\n const { BrowserProvider } = await import(\"ethers\");\n\n const provider = new BrowserProvider(phantom?.ethereum, \"any\");\n const [address] = await provider.send(\"eth_requestAccounts\", []);\n\n const signer = await provider.getSigner();\n const toolbox = await getEvmToolbox(chain, { signer, provider });\n\n return { ...toolbox, address };\n }\n\n case Chain.Solana: {\n const { getSolanaToolbox } = await import(\"@swapkit/toolboxes/solana\");\n const provider = phantom?.solana;\n if (!provider?.isPhantom) {\n throw new SwapKitError(\"wallet_phantom_not_found\");\n }\n\n const providerConnection = await provider.connect();\n const address: string = providerConnection.publicKey.toString();\n const toolbox = await getSolanaToolbox();\n\n const transfer = async ({\n recipient,\n assetValue,\n isProgramDerivedAddress,\n }: GenericTransferParams & { assetValue: AssetValue; isProgramDerivedAddress?: boolean }) => {\n const { PublicKey } = await import(\"@solana/web3.js\");\n const validateAddress = await toolbox.getAddressValidator();\n\n if (!(isProgramDerivedAddress || validateAddress(recipient))) {\n throw new SwapKitError(\"core_transaction_invalid_recipient_address\");\n }\n\n const fromPubkey = new PublicKey(address);\n const connection = await toolbox.getConnection();\n\n const transaction = await toolbox.createTransaction({\n recipient,\n assetValue,\n sender: address,\n isProgramDerivedAddress,\n });\n\n if (!transaction) {\n throw new SwapKitError(\"core_transaction_invalid_sender_address\");\n }\n\n const blockHash = await connection.getLatestBlockhash();\n transaction.recentBlockhash = blockHash.blockhash;\n transaction.feePayer = fromPubkey;\n\n const signedTransaction = await provider.signTransaction(transaction);\n\n const txid = await connection.sendRawTransaction(signedTransaction.serialize());\n\n return txid;\n };\n\n return { ...toolbox, transfer, address };\n }\n\n default: {\n throw new SwapKitError(\"wallet_chain_not_supported\", { wallet: WalletOption.PHANTOM, chain });\n }\n }\n}\n"
6
6
  ],
7
- "mappings": "4FAAA,cAEE,kBAEA,kBACA,kBACA,2BACA,yBAIK,IAAM,EAAgB,EAAa,CACxC,KAAM,iBACN,WAAY,EAAa,QACzB,gBAAiB,CAAC,EAAM,QAAS,EAAM,SAAU,EAAM,MAAM,EAC7D,QAAS,EAAG,WAAU,kBAAiB,gBACrC,eAAe,CAAc,CAAC,EAAiB,CAC7C,IAAM,EAAiB,EAAsB,CAAE,SAAQ,kBAAiB,YAAW,CAAC,EAEpF,GAAI,CASF,OARA,MAAM,QAAQ,IACZ,EAAe,IAAI,MAAO,IAAU,CAClC,IAAQ,aAAY,GAAY,MAAM,EAAiB,CAAK,EAE5D,EAAS,IAAK,EAAS,QAAO,UAAS,YAAW,CAAC,EACpD,CACH,EAEO,GACP,MAAO,EAAO,CACd,GAAI,aAAiB,EAAc,MAAM,EAEzC,MAAM,IAAI,EAAa,qCAAsC,CAAK,GAG1E,CAAC,EAEY,EAA2B,EAAyB,CAAa,EAG9E,eAAe,CAAgB,CAAC,EAA8B,CAC5D,IAAM,EAAe,QAAQ,QAE7B,OAAQ,QACD,EAAM,QAAS,CAClB,IAAM,EAAW,GAAS,QAC1B,IAAK,GAAU,UACb,MAAM,IAAI,EAAa,0BAA0B,EAGnD,IAAQ,kBAAmB,KAAa,qCAC/B,YAAa,MAAM,EAAS,gBAAgB,EAGrD,MAAO,IAFS,MAAM,EAAe,CAAK,EAErB,SAAQ,CAC/B,MAEK,EAAM,SAAU,CACnB,IAAQ,iBAAkB,KAAa,mCAC/B,mBAAoB,KAAa,kBAEnC,EAAW,IAAI,EAAgB,GAAS,SAAU,KAAK,GACtD,GAAW,MAAM,EAAS,KAAK,sBAAuB,CAAC,CAAC,EAEzD,EAAS,MAAM,EAAS,UAAU,EAGxC,MAAO,IAFS,MAAM,EAAc,EAAO,CAAE,SAAQ,UAAS,CAAC,EAE1C,SAAQ,CAC/B,MAEK,EAAM,OAAQ,CACjB,IAAQ,oBAAqB,KAAa,qCACpC,EAAW,GAAS,OAC1B,IAAK,GAAU,UACb,MAAM,IAAI,EAAa,0BAA0B,EAInD,IAAM,GADqB,MAAM,EAAS,QAAQ,GACP,UAAU,SAAS,EACxD,EAAU,MAAM,EAAiB,EAuCvC,MAAO,IAAK,EAAS,SArCJ,OACf,YACA,aACA,6BAC2F,CAC3F,IAAQ,cAAe,KAAa,4BAAoB,QAClD,EAAkB,MAAM,EAAQ,oBAAoB,EAE1D,KAAM,GAA2B,EAAgB,CAAS,GACxD,MAAM,IAAI,EAAa,4CAA4C,EAGrE,IAAM,EAAa,IAAI,EAAU,CAAO,EAClC,EAAa,MAAM,EAAQ,cAAc,EAEzC,EAAc,MAAM,EAAQ,kBAAkB,CAClD,YACA,aACA,OAAQ,EACR,yBACF,CAAC,EAED,IAAK,EACH,MAAM,IAAI,EAAa,yCAAyC,EAGlE,IAAM,EAAY,MAAM,EAAW,mBAAmB,EACtD,EAAY,gBAAkB,EAAU,UACxC,EAAY,SAAW,EAEvB,IAAM,EAAoB,MAAM,EAAS,gBAAgB,CAAW,EAIpE,OAFa,MAAM,EAAW,mBAAmB,EAAkB,UAAU,CAAC,GAKjD,SAAQ,CACzC,SAGE,MAAM,IAAI,EAAa,6BAA8B,CAAE,OAAQ,EAAa,QAAS,OAAM,CAAC",
8
- "debugId": "13C91BB5D8EE130464756E2164756E21",
7
+ "mappings": "4FAAA,cAEE,kBAEA,kBACA,kBACA,2BACA,yBAIK,IAAM,EAAgB,EAAa,CACxC,KAAM,iBACN,WAAY,EAAa,QACzB,gBAAiB,CAAC,EAAM,QAAS,EAAM,SAAU,EAAM,MAAM,EAC7D,QAAS,EAAG,WAAU,kBAAiB,gBACrC,eAAe,CAAc,CAAC,EAAiB,CAC7C,IAAM,EAAiB,EAAsB,CAAE,SAAQ,kBAAiB,YAAW,CAAC,EAEpF,GAAI,CASF,OARA,MAAM,QAAQ,IACZ,EAAe,IAAI,MAAO,IAAU,CAClC,IAAQ,aAAY,GAAY,MAAM,EAAiB,CAAK,EAE5D,EAAS,IAAK,EAAS,QAAO,UAAS,YAAW,CAAC,EACpD,CACH,EAEO,GACP,MAAO,EAAO,CACd,GAAI,aAAiB,EAAc,MAAM,EAEzC,MAAM,IAAI,EAAa,qCAAsC,CAAK,GAG1E,CAAC,EAEY,EAA2B,EAAyB,CAAa,EAG9E,eAAe,CAAgB,CAAC,EAA8B,CAC5D,IAAM,EAAe,QAAQ,QAE7B,OAAQ,QACD,EAAM,QAAS,CAClB,IAAM,EAAW,GAAS,QAC1B,IAAK,GAAU,UACb,MAAM,IAAI,EAAa,0BAA0B,EAGnD,IAAQ,kBAAmB,KAAa,qCAC/B,YAAa,MAAM,EAAS,gBAAgB,EAGrD,MAAO,IAFS,MAAM,EAAe,CAAK,EAErB,SAAQ,CAC/B,MAEK,EAAM,SAAU,CACnB,IAAQ,iBAAkB,KAAa,mCAC/B,mBAAoB,KAAa,kBAEnC,EAAW,IAAI,EAAgB,GAAS,SAAU,KAAK,GACtD,GAAW,MAAM,EAAS,KAAK,sBAAuB,CAAC,CAAC,EAEzD,EAAS,MAAM,EAAS,UAAU,EAGxC,MAAO,IAFS,MAAM,EAAc,EAAO,CAAE,SAAQ,UAAS,CAAC,EAE1C,SAAQ,CAC/B,MAEK,EAAM,OAAQ,CACjB,IAAQ,oBAAqB,KAAa,qCACpC,EAAW,GAAS,OAC1B,IAAK,GAAU,UACb,MAAM,IAAI,EAAa,0BAA0B,EAInD,IAAM,GADqB,MAAM,EAAS,QAAQ,GACP,UAAU,SAAS,EACxD,EAAU,MAAM,EAAiB,EAuCvC,MAAO,IAAK,EAAS,SArCJ,OACf,YACA,aACA,6BAC2F,CAC3F,IAAQ,aAAc,KAAa,2BAC7B,EAAkB,MAAM,EAAQ,oBAAoB,EAE1D,KAAM,GAA2B,EAAgB,CAAS,GACxD,MAAM,IAAI,EAAa,4CAA4C,EAGrE,IAAM,EAAa,IAAI,EAAU,CAAO,EAClC,EAAa,MAAM,EAAQ,cAAc,EAEzC,EAAc,MAAM,EAAQ,kBAAkB,CAClD,YACA,aACA,OAAQ,EACR,yBACF,CAAC,EAED,IAAK,EACH,MAAM,IAAI,EAAa,yCAAyC,EAGlE,IAAM,EAAY,MAAM,EAAW,mBAAmB,EACtD,EAAY,gBAAkB,EAAU,UACxC,EAAY,SAAW,EAEvB,IAAM,EAAoB,MAAM,EAAS,gBAAgB,CAAW,EAIpE,OAFa,MAAM,EAAW,mBAAmB,EAAkB,UAAU,CAAC,GAKjD,SAAQ,CACzC,SAGE,MAAM,IAAI,EAAa,6BAA8B,CAAE,OAAQ,EAAa,QAAS,OAAM,CAAC",
8
+ "debugId": "6EBF999D5EECFD6764756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,3 +1,3 @@
1
- import{a as c}from"../../chunk-0ttw612a.js";import{c as u,d as f}from"../../chunk-p1kdg37m.js";import{Chain as i,SwapKitError as l,WalletOption as d,createWallet as _,filterSupportedChains as P}from"@swapkit/helpers";var h=_({name:"connectPolkadotJs",walletType:d.POLKADOT_JS,supportedChains:[i.Polkadot],connect:({addChain:t,supportedChains:s,walletType:r})=>async function a(n){let e=P({chains:n,supportedChains:s,walletType:r});return await Promise.all(e.map(async(o)=>{let{address:w,...p}=await m(o);t({...p,chain:o,address:w,walletType:r})})),!0}}),g=c(h);async function m(t){switch(t){case i.Polkadot:{let{getSubstrateToolbox:s}=await import("@swapkit/toolboxes/substrate"),a=await window?.injectedWeb3?.["polkadot-js"]?.enable?.("polkadot-js");if(!a)throw new l({errorKey:"wallet_polkadot_not_found",info:{chain:t}});let n=await s(t,{signer:a.signer}),[e]=await a.accounts.get();if(!e?.address)throw new l({errorKey:"wallet_missing_params",info:{wallet:d.POLKADOT_JS,address:e?.address}});let o=n.convertAddress(e.address,0);return{...n,getAddress:()=>o,address:o}}default:throw new l({errorKey:"wallet_chain_not_supported",info:{chain:t,wallet:d.POLKADOT_JS}})}}export{h as polkadotWallet,g as POLKADOT_SUPPORTED_CHAINS};
1
+ import{a as c}from"../../chunk-9cnrfb9p.js";import{c as u,d as f}from"../../chunk-p1kdg37m.js";import{Chain as i,SwapKitError as l,WalletOption as d,createWallet as _,filterSupportedChains as P}from"@swapkit/helpers";var h=_({name:"connectPolkadotJs",walletType:d.POLKADOT_JS,supportedChains:[i.Polkadot],connect:({addChain:t,supportedChains:s,walletType:r})=>async function a(n){let e=P({chains:n,supportedChains:s,walletType:r});return await Promise.all(e.map(async(o)=>{let{address:w,...p}=await m(o);t({...p,chain:o,address:w,walletType:r})})),!0}}),g=c(h);async function m(t){switch(t){case i.Polkadot:{let{getSubstrateToolbox:s}=await import("@swapkit/toolboxes/substrate"),a=await window?.injectedWeb3?.["polkadot-js"]?.enable?.("polkadot-js");if(!a)throw new l({errorKey:"wallet_polkadot_not_found",info:{chain:t}});let n=await s(t,{signer:a.signer}),[e]=await a.accounts.get();if(!e?.address)throw new l({errorKey:"wallet_missing_params",info:{wallet:d.POLKADOT_JS,address:e?.address}});let o=n.convertAddress(e.address,0);return{...n,getAddress:()=>o,address:o}}default:throw new l({errorKey:"wallet_chain_not_supported",info:{chain:t,wallet:d.POLKADOT_JS}})}}export{h as polkadotWallet,g as POLKADOT_SUPPORTED_CHAINS};
2
2
 
3
3
  //# debugId=E7C0639453A120E464756E2164756E21
@@ -1,3 +1,3 @@
1
- import{a as q}from"../../chunk-0ttw612a.js";import{c as Z,d as _}from"../../chunk-p1kdg37m.js";import{AssetValue as N,Chain as G,SKConfig as X,SwapKitError as S,WalletOption as x,createWallet as B,filterSupportedChains as C}from"@swapkit/helpers";var h=B({name:"connectRadixWallet",walletType:x.RADIX_WALLET,supportedChains:[G.Radix],connect:({addChain:L,supportedChains:K,walletType:H})=>async function V(M){let O=C({chains:M,supportedChains:K,walletType:H});if(!X.get("integrations").radix)throw new S("wallet_radix_not_found");return await Promise.all(O.map(async(z)=>{let j=await E();L({...j,chain:z,walletType:H})})),!0}}),f=q(h);async function k(L){let{GatewayApiClient:K}=await import("@radixdlt/babylon-gateway-api-sdk"),{applicationName:H}=X.get("integrations").radix,V=K.initialize({networkId:1,applicationName:H}),M=!0,O,U=[],z=await v(V);while(M){let j={address:L,limit_per_page:100,cursor:O,at_ledger_state:{state_version:z}},Q=await V.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:j});if(U=U.concat(Q.items),Q.next_cursor)O=Q.next_cursor;else M=!1}return U}async function v(L){return L.status.getCurrent().then((K)=>K.ledger_state.state_version)}async function D(L){let{GatewayApiClient:K}=await import("@radixdlt/babylon-gateway-api-sdk"),H=await k(L),{applicationName:V}=X.get("integrations").radix,M=K.initialize({networkId:1,applicationName:V}),O=[],U=50,z=[];for(let j=0;j<H.length;j+=50)z.push(H.slice(j,j+50));for(let j of z){let Q=j.map((J)=>J.resource_address),Y=await M.state.getEntityDetailsVaultAggregated(Q),T=new Map;for(let J of Y)if(J.details!==void 0){let W=J.metadata?.items.find((I)=>I.key==="symbol"),$=W?.value.typed.type==="String"?W.value.typed.value:"?";if(J.details.type==="FungibleResource")T.set(J.address,{decimals:J.details.divisibility,symbol:$})}for(let J of j)if(J.aggregation_level==="Global"){let W=T.get(J.resource_address)||{decimals:0,symbol:"?"},$=N.from({asset:W.symbol!==G.Radix?`${G.Radix}.${W.symbol}-${J.resource_address}`:"XRD.XRD",value:J.amount});O.push($)}}return O}async function E(){let{RadixDappToolkit:L}=await import("@radixdlt/radix-dapp-toolkit"),K=X.get("integrations").radix,H=L({...K,networkId:K.network.networkId});function V(z){return new Promise((j)=>setTimeout(j,z))}await V(400);function M(){return H.walletApi.getWalletData()?.accounts?.[0]?.address}let O=async()=>{let{DataRequestBuilder:z}=await import("@radixdlt/radix-dapp-toolkit");H.walletApi.setRequestData(z.accounts().exactly(1));let j=await H.walletApi.sendRequest();if(!j)throw new Error("wallet_radix_no_account");let Q=j.unwrapOr(null)?.accounts[0]?.address;if(!Q)throw new Error("wallet_radix_no_account");return Q},U=M()||await O();return{radixDappToolkit:H,address:U,getAddress:M,getBalance:()=>D(U),transfer:(z)=>{throw new Error("Not implemented")},signAndBroadcast:async({manifest:z,message:j})=>{let Y=(await H.walletApi.sendTransaction({transactionManifest:z,message:j})).unwrapOr(null)?.transactionIntentHash;if(!Y)throw new Error("wallet_radix_transaction_failed");return Y}}}export{h as radixWallet,f as RADIX_SUPPORTED_CHAINS};
1
+ import{a as q}from"../../chunk-9cnrfb9p.js";import{c as Z,d as _}from"../../chunk-p1kdg37m.js";import{AssetValue as N,Chain as G,SKConfig as X,SwapKitError as S,WalletOption as x,createWallet as B,filterSupportedChains as C}from"@swapkit/helpers";var h=B({name:"connectRadixWallet",walletType:x.RADIX_WALLET,supportedChains:[G.Radix],connect:({addChain:L,supportedChains:K,walletType:H})=>async function V(M){let O=C({chains:M,supportedChains:K,walletType:H});if(!X.get("integrations").radix)throw new S("wallet_radix_not_found");return await Promise.all(O.map(async(z)=>{let j=await E();L({...j,chain:z,walletType:H})})),!0}}),f=q(h);async function k(L){let{GatewayApiClient:K}=await import("@radixdlt/babylon-gateway-api-sdk"),{applicationName:H}=X.get("integrations").radix,V=K.initialize({networkId:1,applicationName:H}),M=!0,O,U=[],z=await v(V);while(M){let j={address:L,limit_per_page:100,cursor:O,at_ledger_state:{state_version:z}},Q=await V.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:j});if(U=U.concat(Q.items),Q.next_cursor)O=Q.next_cursor;else M=!1}return U}async function v(L){return L.status.getCurrent().then((K)=>K.ledger_state.state_version)}async function D(L){let{GatewayApiClient:K}=await import("@radixdlt/babylon-gateway-api-sdk"),H=await k(L),{applicationName:V}=X.get("integrations").radix,M=K.initialize({networkId:1,applicationName:V}),O=[],U=50,z=[];for(let j=0;j<H.length;j+=50)z.push(H.slice(j,j+50));for(let j of z){let Q=j.map((J)=>J.resource_address),Y=await M.state.getEntityDetailsVaultAggregated(Q),T=new Map;for(let J of Y)if(J.details!==void 0){let W=J.metadata?.items.find((I)=>I.key==="symbol"),$=W?.value.typed.type==="String"?W.value.typed.value:"?";if(J.details.type==="FungibleResource")T.set(J.address,{decimals:J.details.divisibility,symbol:$})}for(let J of j)if(J.aggregation_level==="Global"){let W=T.get(J.resource_address)||{decimals:0,symbol:"?"},$=N.from({asset:W.symbol!==G.Radix?`${G.Radix}.${W.symbol}-${J.resource_address}`:"XRD.XRD",value:J.amount});O.push($)}}return O}async function E(){let{RadixDappToolkit:L}=await import("@radixdlt/radix-dapp-toolkit"),K=X.get("integrations").radix,H=L({...K,networkId:K.network.networkId});function V(z){return new Promise((j)=>setTimeout(j,z))}await V(400);function M(){return H.walletApi.getWalletData()?.accounts?.[0]?.address}let O=async()=>{let{DataRequestBuilder:z}=await import("@radixdlt/radix-dapp-toolkit");H.walletApi.setRequestData(z.accounts().exactly(1));let j=await H.walletApi.sendRequest();if(!j)throw new Error("wallet_radix_no_account");let Q=j.unwrapOr(null)?.accounts[0]?.address;if(!Q)throw new Error("wallet_radix_no_account");return Q},U=M()||await O();return{radixDappToolkit:H,address:U,getAddress:M,getBalance:()=>D(U),transfer:(z)=>{throw new Error("Not implemented")},signAndBroadcast:async({manifest:z,message:j})=>{let Y=(await H.walletApi.sendTransaction({transactionManifest:z,message:j})).unwrapOr(null)?.transactionIntentHash;if(!Y)throw new Error("wallet_radix_transaction_failed");return Y}}}export{h as radixWallet,f as RADIX_SUPPORTED_CHAINS};
2
2
 
3
3
  //# debugId=2DC5F9112118385264756E2164756E21
@@ -1,3 +1,3 @@
1
- import{a as p}from"../../chunk-0ttw612a.js";import{c as d,d as m}from"../../chunk-p1kdg37m.js";import{Chain as t,SwapKitError as s,WalletOption as l,createWallet as h,filterSupportedChains as f,prepareNetworkSwitch as u,switchEVMWalletNetwork as _}from"@swapkit/helpers";var A=h({name:"connectTalisman",walletType:l.TALISMAN,supportedChains:[t.Ethereum,t.Arbitrum,t.Avalanche,t.Base,t.Polygon,t.BinanceSmartChain,t.Optimism,t.Polkadot,t.Chainflip],connect:({addChain:e,supportedChains:a,walletType:r})=>async function c(o){let i=f({chains:o,supportedChains:a,walletType:r});return await Promise.all(i.map(async(n)=>{let w=await S(n);e({...w,chain:n,walletType:r})})),!0}}),C=p(A);async function E({walletProvider:e,chain:a}){let{getEvmToolbox:r}=await import("@swapkit/toolboxes/evm"),{BrowserProvider:c}=await import("ethers");if(!e)throw new s({errorKey:"wallet_provider_not_found",info:{wallet:l.TALISMAN,chain:a}});let o=new c(e,"any"),i=await o.getSigner(),n=await r(a,{provider:o,signer:i});try{if(a!==t.Ethereum)await _(o,a,n.getNetworkParams())}catch(w){throw new s({errorKey:"wallet_failed_to_add_or_switch_network",info:{wallet:l.TALISMAN,chain:a}})}return u({toolbox:n,chain:a,provider:o})}async function S(e){switch(e){case t.Ethereum:case t.Arbitrum:case t.Optimism:case t.Polygon:case t.Avalanche:case t.BinanceSmartChain:case t.Base:{if(!(window.talismanEth&&("send"in window.talismanEth)))throw new s({errorKey:"wallet_talisman_not_found",info:{chain:e}});let a=await E({chain:e,walletProvider:window.talismanEth}),r=(await window.talismanEth.send("eth_requestAccounts",[]))[0];return{...a,address:r}}case t.Polkadot:case t.Chainflip:{let{getSubstrateToolbox:a,SubstrateNetwork:r}=await import("@swapkit/toolboxes/substrate"),o=await window?.injectedWeb3?.talisman?.enable?.("talisman");if(!o)throw new s({errorKey:"wallet_talisman_not_enabled",info:{chain:e}});let i=await a(e,{signer:o.signer}),n=await o.accounts.get();if(!n[0]?.address)throw new s({errorKey:"wallet_missing_params",info:{wallet:l.TALISMAN,accounts:n,address:n[0]?.address}});let w=i.convertAddress(n[0].address,r[e].prefix);return{...i,address:w}}default:throw new s({errorKey:"wallet_chain_not_supported",info:{chain:e,wallet:l.TALISMAN}})}}export{A as talismanWallet,C as TALISMAN_SUPPORTED_CHAINS};
1
+ import{a as p}from"../../chunk-9cnrfb9p.js";import{c as d,d as m}from"../../chunk-p1kdg37m.js";import{Chain as t,SwapKitError as s,WalletOption as l,createWallet as h,filterSupportedChains as f,prepareNetworkSwitch as u,switchEVMWalletNetwork as _}from"@swapkit/helpers";var A=h({name:"connectTalisman",walletType:l.TALISMAN,supportedChains:[t.Ethereum,t.Arbitrum,t.Avalanche,t.Base,t.Polygon,t.BinanceSmartChain,t.Optimism,t.Polkadot,t.Chainflip],connect:({addChain:e,supportedChains:a,walletType:r})=>async function c(o){let i=f({chains:o,supportedChains:a,walletType:r});return await Promise.all(i.map(async(n)=>{let w=await S(n);e({...w,chain:n,walletType:r})})),!0}}),C=p(A);async function E({walletProvider:e,chain:a}){let{getEvmToolbox:r}=await import("@swapkit/toolboxes/evm"),{BrowserProvider:c}=await import("ethers");if(!e)throw new s({errorKey:"wallet_provider_not_found",info:{wallet:l.TALISMAN,chain:a}});let o=new c(e,"any"),i=await o.getSigner(),n=await r(a,{provider:o,signer:i});try{if(a!==t.Ethereum)await _(o,a,n.getNetworkParams())}catch(w){throw new s({errorKey:"wallet_failed_to_add_or_switch_network",info:{wallet:l.TALISMAN,chain:a}})}return u({toolbox:n,chain:a,provider:o})}async function S(e){switch(e){case t.Ethereum:case t.Arbitrum:case t.Optimism:case t.Polygon:case t.Avalanche:case t.BinanceSmartChain:case t.Base:{if(!(window.talismanEth&&("send"in window.talismanEth)))throw new s({errorKey:"wallet_talisman_not_found",info:{chain:e}});let a=await E({chain:e,walletProvider:window.talismanEth}),r=(await window.talismanEth.send("eth_requestAccounts",[]))[0];return{...a,address:r}}case t.Polkadot:case t.Chainflip:{let{getSubstrateToolbox:a,SubstrateNetwork:r}=await import("@swapkit/toolboxes/substrate"),o=await window?.injectedWeb3?.talisman?.enable?.("talisman");if(!o)throw new s({errorKey:"wallet_talisman_not_enabled",info:{chain:e}});let i=await a(e,{signer:o.signer}),n=await o.accounts.get();if(!n[0]?.address)throw new s({errorKey:"wallet_missing_params",info:{wallet:l.TALISMAN,accounts:n,address:n[0]?.address}});let w=i.convertAddress(n[0].address,r[e].prefix);return{...i,address:w}}default:throw new s({errorKey:"wallet_chain_not_supported",info:{chain:e,wallet:l.TALISMAN}})}}export{A as talismanWallet,C as TALISMAN_SUPPORTED_CHAINS};
2
2
 
3
3
  //# debugId=962A7B2CAE25081964756E2164756E21
@@ -1,3 +1,3 @@
1
- import{a as K}from"../../chunk-0ttw612a.js";import{c as N,d as V}from"../../chunk-p1kdg37m.js";import{Chain as j,FeeOption as E,SKConfig as S,SwapKitError as M,WalletOption as f,createWallet as y,derivationPathToString as P,filterSupportedChains as b}from"@swapkit/helpers";function w(q){switch(q[0]){case 84:return{input:"SPENDWITNESS",output:"PAYTOWITNESS"};case 49:return{input:"SPENDP2SHWITNESS",output:"PAYTOP2SHWITNESS"};case 44:return{input:"SPENDADDRESS",output:"PAYTOADDRESS"};default:return null}}async function g({chain:q,derivationPath:Q}){switch(q){case j.BinanceSmartChain:case j.Avalanche:case j.Arbitrum:case j.Optimism:case j.Polygon:case j.Base:case j.Ethereum:{let{getProvider:H,getEvmToolbox:X}=await import("@swapkit/toolboxes/evm"),{getEVMSigner:Y}=await import("../../chunk-ta4bdjpy.js"),Z=await H(q),I=await Y({chain:q,derivationPath:Q,provider:Z}),D=await I.getAddress();return{...await X(q,{provider:Z,signer:I}),address:D}}case j.Bitcoin:case j.BitcoinCash:case j.Dash:case j.Dogecoin:case j.Litecoin:{let{toCashAddress:H,getUtxoToolbox:X}=await import("@swapkit/toolboxes/utxo"),Y=w(Q);if(!Y)throw new M({errorKey:"wallet_trezor_derivation_path_not_supported",info:{derivationPath:Q}});let Z=q.toLowerCase(),D=await(async($=Q)=>{let F=(await import("@trezor/connect-web")).default,{success:_,payload:G}=await F.getAddress({path:P($),coin:Z});if(!_)throw new M({errorKey:"wallet_trezor_failed_to_get_address",info:{chain:q,error:G.error||"Unknown error"}});if(q===j.BitcoinCash)return(await X(q)).stripPrefix(G.address);return G.address})(),k=async($,F,_="")=>{let G=(await import("@trezor/connect-web")).default,A=Q.map((B,J)=>J<3?(B|2147483648)>>>0:B),L=await X(q),R=await G.signTransaction({coin:Z,inputs:F.map(({hash:B,index:J,value:U})=>({address_n:A,prev_hash:B,prev_index:J,amount:U,script_type:Y.input})),outputs:$.txOutputs.map((B)=>{let J=q===j.BitcoinCash&&B.address?L.stripPrefix(H(B.address)):B.address,U=J===D;if(!B.address)return{amount:"0",op_return_data:Buffer.from(_).toString("hex"),script_type:"PAYTOOPRETURN"};return U?{amount:B.value,address_n:A,script_type:Y.output}:{amount:B.value,address:J,script_type:"PAYTOADDRESS"}})});if(R.success)return R.payload.serializedTx;throw new M({errorKey:"wallet_trezor_failed_to_sign_transaction",info:{chain:q,error:R.payload.error}})},W=async({recipient:$,feeOptionKey:F,feeRate:_,memo:G,...A})=>{if(!(D&&$))throw new M({errorKey:"wallet_missing_params",info:{wallet:f.TREZOR,memo:G,address:D,recipient:$}});let L=await X(q),R=_||(await L.getFeeRates())[F||E.Fast],B=q===j.BitcoinCash?L.buildTx:L.createTransaction,{psbt:J,inputs:U}=await B({...A,memo:G,recipient:$,feeRate:R,sender:D,fetchTxHex:!0}),O=await k(J,U,G);return await L.broadcastTx(O)};return{...await X(q),address:D,transfer:W,signTransaction:k}}default:throw new M({errorKey:"wallet_chain_not_supported",info:{chain:q,wallet:f.TREZOR}})}}var v=y({name:"connectTrezor",walletType:f.TREZOR,supportedChains:[j.Arbitrum,j.Avalanche,j.Base,j.BinanceSmartChain,j.Bitcoin,j.BitcoinCash,j.Dash,j.Dogecoin,j.Ethereum,j.Litecoin,j.Optimism,j.Polygon],connect:({addChain:q,supportedChains:Q,walletType:H})=>async function X(Y,Z){let[I]=b({chains:Y,supportedChains:Q,walletType:H});if(!I)throw new M({errorKey:"wallet_chain_not_supported",info:{chain:I,wallet:f.TREZOR}});let D=(await import("@trezor/connect-web")).default,{success:k}=await D.getDeviceState();if(!k){let z=S.get("integrations").trezor||{appUrl:"",email:""};D.init({lazyLoad:!0,manifest:z})}let W=await g({chain:I,derivationPath:Z});return q({...W,chain:I,walletType:H}),!0}}),C=K(v);export{v as trezorWallet,C as TREZOR_SUPPORTED_CHAINS};
1
+ import{a as K}from"../../chunk-9cnrfb9p.js";import{c as N,d as V}from"../../chunk-p1kdg37m.js";import{Chain as j,FeeOption as E,SKConfig as S,SwapKitError as M,WalletOption as f,createWallet as y,derivationPathToString as P,filterSupportedChains as b}from"@swapkit/helpers";function w(q){switch(q[0]){case 84:return{input:"SPENDWITNESS",output:"PAYTOWITNESS"};case 49:return{input:"SPENDP2SHWITNESS",output:"PAYTOP2SHWITNESS"};case 44:return{input:"SPENDADDRESS",output:"PAYTOADDRESS"};default:return null}}async function g({chain:q,derivationPath:Q}){switch(q){case j.BinanceSmartChain:case j.Avalanche:case j.Arbitrum:case j.Optimism:case j.Polygon:case j.Base:case j.Ethereum:{let{getProvider:H,getEvmToolbox:X}=await import("@swapkit/toolboxes/evm"),{getEVMSigner:Y}=await import("../../chunk-ta4bdjpy.js"),Z=await H(q),I=await Y({chain:q,derivationPath:Q,provider:Z}),D=await I.getAddress();return{...await X(q,{provider:Z,signer:I}),address:D}}case j.Bitcoin:case j.BitcoinCash:case j.Dash:case j.Dogecoin:case j.Litecoin:{let{toCashAddress:H,getUtxoToolbox:X}=await import("@swapkit/toolboxes/utxo"),Y=w(Q);if(!Y)throw new M({errorKey:"wallet_trezor_derivation_path_not_supported",info:{derivationPath:Q}});let Z=q.toLowerCase(),D=await(async($=Q)=>{let F=(await import("@trezor/connect-web")).default,{success:_,payload:G}=await F.getAddress({path:P($),coin:Z});if(!_)throw new M({errorKey:"wallet_trezor_failed_to_get_address",info:{chain:q,error:G.error||"Unknown error"}});if(q===j.BitcoinCash)return(await X(q)).stripPrefix(G.address);return G.address})(),k=async($,F,_="")=>{let G=(await import("@trezor/connect-web")).default,A=Q.map((B,J)=>J<3?(B|2147483648)>>>0:B),L=await X(q),R=await G.signTransaction({coin:Z,inputs:F.map(({hash:B,index:J,value:U})=>({address_n:A,prev_hash:B,prev_index:J,amount:U,script_type:Y.input})),outputs:$.txOutputs.map((B)=>{let J=q===j.BitcoinCash&&B.address?L.stripPrefix(H(B.address)):B.address,U=J===D;if(!B.address)return{amount:"0",op_return_data:Buffer.from(_).toString("hex"),script_type:"PAYTOOPRETURN"};return U?{amount:B.value,address_n:A,script_type:Y.output}:{amount:B.value,address:J,script_type:"PAYTOADDRESS"}})});if(R.success)return R.payload.serializedTx;throw new M({errorKey:"wallet_trezor_failed_to_sign_transaction",info:{chain:q,error:R.payload.error}})},W=async({recipient:$,feeOptionKey:F,feeRate:_,memo:G,...A})=>{if(!(D&&$))throw new M({errorKey:"wallet_missing_params",info:{wallet:f.TREZOR,memo:G,address:D,recipient:$}});let L=await X(q),R=_||(await L.getFeeRates())[F||E.Fast],B=q===j.BitcoinCash?L.buildTx:L.createTransaction,{psbt:J,inputs:U}=await B({...A,memo:G,recipient:$,feeRate:R,sender:D,fetchTxHex:!0}),O=await k(J,U,G);return await L.broadcastTx(O)};return{...await X(q),address:D,transfer:W,signTransaction:k}}default:throw new M({errorKey:"wallet_chain_not_supported",info:{chain:q,wallet:f.TREZOR}})}}var v=y({name:"connectTrezor",walletType:f.TREZOR,supportedChains:[j.Arbitrum,j.Avalanche,j.Base,j.BinanceSmartChain,j.Bitcoin,j.BitcoinCash,j.Dash,j.Dogecoin,j.Ethereum,j.Litecoin,j.Optimism,j.Polygon],connect:({addChain:q,supportedChains:Q,walletType:H})=>async function X(Y,Z){let[I]=b({chains:Y,supportedChains:Q,walletType:H});if(!I)throw new M({errorKey:"wallet_chain_not_supported",info:{chain:I,wallet:f.TREZOR}});let D=(await import("@trezor/connect-web")).default,{success:k}=await D.getDeviceState();if(!k){let z=S.get("integrations").trezor||{appUrl:"",email:""};D.init({lazyLoad:!0,manifest:z})}let W=await g({chain:I,derivationPath:Z});return q({...W,chain:I,walletType:H}),!0}}),C=K(v);export{v as trezorWallet,C as TREZOR_SUPPORTED_CHAINS};
2
2
 
3
3
  //# debugId=241FF615860C5C4564756E2164756E21
@@ -1,3 +1,3 @@
1
- import{a as jr}from"../../chunk-0ttw612a.js";import{c as Y,d as J}from"../../chunk-p1kdg37m.js";import{Chain as N,ChainId as Vr,SKConfig as fr,SwapKitError as G,WalletOption as c,createWallet as er,filterSupportedChains as kr}from"@swapkit/helpers";var A="wss://relay.walletconnect.com",F="eip155:1",O="eip155:56",l="eip155:43114",X="cosmos:thorchain",L="cosmos:cosmoshub-4",o="cosmos:kaiyo-1",T="cosmos:mayachain-mainnet-v1",D="eip155:42161",E="eip155:10",S="eip155:137",rr="eip155:8453",sr="debug",ur={name:"THORSwap",description:"THORSwap multi-chain dex aggregator powered by THORChain",url:"https://app.thorswap.finance/",icons:["https://static.thorswap.net/logo.png"]},R;((t)=>{t.ETH_SEND_TRANSACTION="eth_sendTransaction";t.ETH_SIGN="eth_sign";t.PERSONAL_SIGN="personal_sign";t.ETH_SIGN_TYPED_DATA="eth_signTypedData"})(R||={});var w;((s)=>{s.ETH_CHAIN_CHANGED="chainChanged";s.ETH_ACCOUNTS_CHANGED="accountsChanged"})(w||={});var V;((p)=>{p.COSMOS_SIGN_DIRECT="cosmos_signDirect";p.COSMOS_SIGN_AMINO="cosmos_signAmino";p.COSMOS_GET_ACCOUNTS="cosmos_getAccounts"})(V||={});var Zr;((r)=>{})(Zr||={});var i;((s)=>{s.SOL_SIGN_TRANSACTION="solana_signTransaction";s.SOL_SIGN_MESSAGE="solana_signMessage"})(i||={});var P;((r)=>{})(P||={});var g;((s)=>{s.POLKADOT_SIGN_TRANSACTION="polkadot_signTransaction";s.POLKADOT_SIGN_MESSAGE="polkadot_signMessage"})(g||={});var x;((r)=>{})(x||={});var d;((I)=>{I.NEAR_SIGN_IN="near_signIn";I.NEAR_SIGN_OUT="near_signOut";I.NEAR_GET_ACCOUNTS="near_getAccounts";I.NEAR_SIGN_AND_SEND_TRANSACTION="near_signAndSendTransaction";I.NEAR_SIGN_AND_SEND_TRANSACTIONS="near_signAndSendTransactions"})(d||={});var n;((r)=>{})(n||={});import{SwapKitError as Nr,WalletOption as vr}from"@swapkit/helpers";import{AbstractSigner as $r}from"ethers";import{Chain as C}from"@swapkit/helpers";var e=(r,u)=>{return(u.find((t)=>t.startsWith(z(r)))||"")?.split(":")?.[2]||""},z=(r)=>{switch(r){case C.Avalanche:return l;case C.Base:return rr;case C.BinanceSmartChain:return O;case C.Ethereum:return F;case C.THORChain:return X;case C.Arbitrum:return D;case C.Optimism:return E;case C.Polygon:return S;case C.Maya:return T;case C.Cosmos:return L;case C.Kujira:return o;default:return""}};class _ extends $r{address;chain;walletconnect;provider;constructor({chain:r,provider:u,walletconnect:s}){super(u);this.chain=r,this.walletconnect=s,this.provider=u,this.address=""}getAddress=async()=>{if(!this.walletconnect)throw new Nr("wallet_walletconnect_connection_not_established");if(!this.address)this.address=e(this.chain,this.walletconnect.accounts);return this.address};signMessage=async(r)=>{let u=await this.walletconnect?.client.request({chainId:z(this.chain),topic:this.walletconnect.session.topic,request:{method:"eth_sign",params:[r]}});return u.startsWith("0x")?u:`0x${u}`};signTransaction=()=>{throw new Error("Not implemented: signTransaction")};signTypedData=()=>{throw new Error("Not implemented: signTypedData")};sendTransaction=async({from:r,to:u,value:s,data:p})=>{let{toHexString:t}=await import("@swapkit/toolboxes/evm"),I={from:r,to:u,value:t(BigInt(s||0)),data:p};return await this.walletconnect?.client.request({chainId:z(this.chain),topic:this.walletconnect.session.topic,request:{method:"eth_sendTransaction",params:[I]}})};connect=(r)=>{if(!r)throw new Nr({errorKey:"wallet_provider_not_found",info:{wallet:vr.WALLETCONNECT,chain:this.chain}});return new _({chain:this.chain,walletconnect:this.walletconnect,provider:r})}}var pr=async({chain:r,walletconnect:u,provider:s})=>new _({chain:r,walletconnect:u,provider:s});import{SwapKitError as tr}from"@swapkit/helpers";var br=(r)=>{let u=[];for(let s of r){let[p]=s.split(":");if(p&&!u.includes(p))u.push(p)}return u},qr=(r)=>{switch(r){case"eip155":return Object.values(R);case"cosmos":return Object.values(V);case"solana":return Object.values(i);case"polkadot":return Object.values(g);case"near":return Object.values(d);default:throw new tr({errorKey:"wallet_walletconnect_namespace_not_supported",info:{namespace:r}})}},Rr=(r)=>{switch(r){case"eip155":return Object.values(w);case"cosmos":return[];case"solana":return Object.values(P);case"polkadot":return Object.values(x);case"near":return Object.values(n);default:throw new tr({errorKey:"wallet_walletconnect_namespace_not_supported",info:{namespace:r}})}},Ir=(r)=>{let u=br(r);return Object.fromEntries(u.map((s)=>[s,{methods:qr(s),chains:r.filter((p)=>p.startsWith(s)),events:Rr(s)}]))};var mr=er({name:"connectWalletconnect",walletType:c.WALLETCONNECT,supportedChains:[N.Arbitrum,N.Avalanche,N.Base,N.BinanceSmartChain,N.Cosmos,N.Ethereum,N.Kujira,N.Maya,N.Optimism,N.Polygon,N.THORChain],connect:({addChain:r,supportedChains:u,walletType:s})=>async function p(t,I){let f=kr({chains:t,supportedChains:u,walletType:s}),{walletConnectProjectId:y}=fr.get("apiKeys");if(!y)throw new G("wallet_walletconnect_project_id_not_specified");let j=await Wr(f,y,I);if(!j)throw new G("wallet_walletconnect_connection_not_established");let{session:Q,accounts:Z}=j;return await Promise.all(f.map(async(K)=>{let v=e(K,Z),k=await Mr({session:Q,address:v,chain:K,walletconnect:j});r({...k,address:v,chain:K,disconnect:j.disconnect,walletType:c.WALLETCONNECT})})),!0}}),Er=jr(mr);async function Mr({chain:r,walletconnect:u,address:s,session:p}){switch(r){case N.Arbitrum:case N.Avalanche:case N.Base:case N.BinanceSmartChain:case N.Ethereum:case N.Optimism:case N.Polygon:{let{getProvider:t,getEvmToolbox:I}=await import("@swapkit/toolboxes/evm"),f=await t(r),y=await pr({walletconnect:u,chain:r,provider:f});return await I(r,{provider:f,signer:y})}case N.THORChain:{let{SignMode:t}=await import("cosmjs-types/cosmos/tx/signing/v1beta1/signing.js"),{TxRaw:I}=await import("cosmjs-types/cosmos/tx/v1beta1/tx.js"),{encodePubkey:f,makeAuthInfoBytes:y}=(await import("@cosmjs/proto-signing")).default,{makeSignDoc:j}=(await import("@cosmjs/amino")).default,{getCosmosToolbox:Q,buildAminoMsg:Z,buildEncodedTxBody:K,createStargateClient:v,fromBase64:k,getDefaultChainFee:Cr,parseAminoMessageForDirectSigning:yr}=await import("@swapkit/toolboxes/cosmos"),m=await Q(N.THORChain);async function hr(h){let b=await m.getAccount(h);if(r!==N.THORChain)return b;let[{address:B,algo:W,pubkey:q}]=await u?.client.request({chainId:X,topic:p.topic,request:{method:"cosmos_getAccounts",params:{}}});return{...b,address:B,pubkey:{type:W,value:q}}}let M=Cr(r),Br=(h)=>u?.client.request({chainId:X,topic:p.topic,request:{method:"cosmos_signAmino",params:{signerAddress:s,signDoc:h}}});async function U({assetValue:h,memo:$,...b}){let B=await m.getAccount(s);if(!B)throw new G({errorKey:"wallet_missing_params",info:{account:B}});if(!B.pubkey)throw new G({errorKey:"wallet_missing_params",info:{account:B,pubkey:B?.pubkey}});let{accountNumber:W,sequence:q=0}=B,H=[Z({assetValue:h,memo:$,sender:s,...b})],Yr=Vr.THORChain,Jr=j(H,M,Yr,$,W?.toString(),q?.toString()||"0"),a=await Br(Jr),Kr=await K({chain:N.THORChain,msgs:H.map(yr),memo:$||""}),zr=f(B.pubkey),Gr=y([{pubkey:zr,sequence:q}],M.amount,Number.parseInt(M.gas),void 0,void 0,t.SIGN_MODE_LEGACY_AMINO_JSON),Qr=I.fromPartial({bodyBytes:Kr,authInfoBytes:Gr,signatures:[k(typeof a.signature==="string"?a.signature:a.signature.signature)]}),Xr=I.encode(Qr).finish();return(await(await v(fr.get("rpcUrls")[N.THORChain])).broadcastTx(Xr)).transactionHash}return{...m,transfer:(h)=>U(h),deposit:(h)=>U(h),getAccount:hr}}default:throw new G({errorKey:"wallet_chain_not_supported",info:{chain:r,wallet:c.WALLETCONNECT}})}}async function Wr(r,u,s){let p;try{if(!u)throw new G("wallet_walletconnect_project_id_not_specified");let t=Ir(r.map(z)),{WalletConnectModalSign:I}=await import("@walletconnect/modal-sign-html"),f=new I({logger:sr,relayUrl:A,projectId:u,metadata:s?.metadata||ur,...s?.core}),y=await f.getSession();if(y)await f.disconnect({topic:y.topic,reason:{code:0,message:"Resetting session"}});let j=await f.connect({requiredNamespaces:t}),Q=Object.values(j.namespaces).flatMap((K)=>K.accounts);return{session:j,accounts:Q,client:f,disconnect:async()=>{await f.disconnect({topic:j.topic,reason:{code:0,message:"User disconnected"}})}}}catch(t){console.error(t)}finally{if(p)p.closeModal()}return}export{mr as walletconnectWallet,Er as WC_SUPPORTED_CHAINS,X as THORCHAIN_MAINNET_ID,S as POLYGON_MAINNET_ID,E as OPTIMISM_MAINNET_ID,T as MAYACHAIN_MAINNET_ID,o as KUJIRA_MAINNET_ID,F as ETHEREUM_MAINNET_ID,i as DEFAULT_SOLANA_METHODS,P as DEFAULT_SOLANA_EVENTS,A as DEFAULT_RELAY_URL,g as DEFAULT_POLKADOT_METHODS,x as DEFAULT_POLKADOT_EVENTS,d as DEFAULT_NEAR_METHODS,n as DEFAULT_NEAR_EVENTS,sr as DEFAULT_LOGGER,w as DEFAULT_EIP_155_EVENTS,R as DEFAULT_EIP155_METHODS,V as DEFAULT_COSMOS_METHODS,Zr as DEFAULT_COSMOS_EVENTS,ur as DEFAULT_APP_METADATA,L as COSMOS_HUB_MAINNET_ID,O as BSC_MAINNET_ID,rr as BASE_MAINNET_ID,l as AVALANCHE_MAINNET_ID,D as ARBITRUM_ONE_MAINNET_ID};
1
+ import{a as jr}from"../../chunk-9cnrfb9p.js";import{c as Y,d as J}from"../../chunk-p1kdg37m.js";import{Chain as N,ChainId as Vr,SKConfig as fr,SwapKitError as G,WalletOption as c,createWallet as er,filterSupportedChains as kr}from"@swapkit/helpers";var A="wss://relay.walletconnect.com",F="eip155:1",O="eip155:56",l="eip155:43114",X="cosmos:thorchain",L="cosmos:cosmoshub-4",o="cosmos:kaiyo-1",T="cosmos:mayachain-mainnet-v1",D="eip155:42161",E="eip155:10",S="eip155:137",rr="eip155:8453",sr="debug",ur={name:"THORSwap",description:"THORSwap multi-chain dex aggregator powered by THORChain",url:"https://app.thorswap.finance/",icons:["https://static.thorswap.net/logo.png"]},R;((t)=>{t.ETH_SEND_TRANSACTION="eth_sendTransaction";t.ETH_SIGN="eth_sign";t.PERSONAL_SIGN="personal_sign";t.ETH_SIGN_TYPED_DATA="eth_signTypedData"})(R||={});var w;((s)=>{s.ETH_CHAIN_CHANGED="chainChanged";s.ETH_ACCOUNTS_CHANGED="accountsChanged"})(w||={});var V;((p)=>{p.COSMOS_SIGN_DIRECT="cosmos_signDirect";p.COSMOS_SIGN_AMINO="cosmos_signAmino";p.COSMOS_GET_ACCOUNTS="cosmos_getAccounts"})(V||={});var Zr;((r)=>{})(Zr||={});var i;((s)=>{s.SOL_SIGN_TRANSACTION="solana_signTransaction";s.SOL_SIGN_MESSAGE="solana_signMessage"})(i||={});var P;((r)=>{})(P||={});var g;((s)=>{s.POLKADOT_SIGN_TRANSACTION="polkadot_signTransaction";s.POLKADOT_SIGN_MESSAGE="polkadot_signMessage"})(g||={});var x;((r)=>{})(x||={});var d;((I)=>{I.NEAR_SIGN_IN="near_signIn";I.NEAR_SIGN_OUT="near_signOut";I.NEAR_GET_ACCOUNTS="near_getAccounts";I.NEAR_SIGN_AND_SEND_TRANSACTION="near_signAndSendTransaction";I.NEAR_SIGN_AND_SEND_TRANSACTIONS="near_signAndSendTransactions"})(d||={});var n;((r)=>{})(n||={});import{SwapKitError as Nr,WalletOption as vr}from"@swapkit/helpers";import{AbstractSigner as $r}from"ethers";import{Chain as C}from"@swapkit/helpers";var e=(r,u)=>{return(u.find((t)=>t.startsWith(z(r)))||"")?.split(":")?.[2]||""},z=(r)=>{switch(r){case C.Avalanche:return l;case C.Base:return rr;case C.BinanceSmartChain:return O;case C.Ethereum:return F;case C.THORChain:return X;case C.Arbitrum:return D;case C.Optimism:return E;case C.Polygon:return S;case C.Maya:return T;case C.Cosmos:return L;case C.Kujira:return o;default:return""}};class _ extends $r{address;chain;walletconnect;provider;constructor({chain:r,provider:u,walletconnect:s}){super(u);this.chain=r,this.walletconnect=s,this.provider=u,this.address=""}getAddress=async()=>{if(!this.walletconnect)throw new Nr("wallet_walletconnect_connection_not_established");if(!this.address)this.address=e(this.chain,this.walletconnect.accounts);return this.address};signMessage=async(r)=>{let u=await this.walletconnect?.client.request({chainId:z(this.chain),topic:this.walletconnect.session.topic,request:{method:"eth_sign",params:[r]}});return u.startsWith("0x")?u:`0x${u}`};signTransaction=()=>{throw new Error("Not implemented: signTransaction")};signTypedData=()=>{throw new Error("Not implemented: signTypedData")};sendTransaction=async({from:r,to:u,value:s,data:p})=>{let{toHexString:t}=await import("@swapkit/toolboxes/evm"),I={from:r,to:u,value:t(BigInt(s||0)),data:p};return await this.walletconnect?.client.request({chainId:z(this.chain),topic:this.walletconnect.session.topic,request:{method:"eth_sendTransaction",params:[I]}})};connect=(r)=>{if(!r)throw new Nr({errorKey:"wallet_provider_not_found",info:{wallet:vr.WALLETCONNECT,chain:this.chain}});return new _({chain:this.chain,walletconnect:this.walletconnect,provider:r})}}var pr=async({chain:r,walletconnect:u,provider:s})=>new _({chain:r,walletconnect:u,provider:s});import{SwapKitError as tr}from"@swapkit/helpers";var br=(r)=>{let u=[];for(let s of r){let[p]=s.split(":");if(p&&!u.includes(p))u.push(p)}return u},qr=(r)=>{switch(r){case"eip155":return Object.values(R);case"cosmos":return Object.values(V);case"solana":return Object.values(i);case"polkadot":return Object.values(g);case"near":return Object.values(d);default:throw new tr({errorKey:"wallet_walletconnect_namespace_not_supported",info:{namespace:r}})}},Rr=(r)=>{switch(r){case"eip155":return Object.values(w);case"cosmos":return[];case"solana":return Object.values(P);case"polkadot":return Object.values(x);case"near":return Object.values(n);default:throw new tr({errorKey:"wallet_walletconnect_namespace_not_supported",info:{namespace:r}})}},Ir=(r)=>{let u=br(r);return Object.fromEntries(u.map((s)=>[s,{methods:qr(s),chains:r.filter((p)=>p.startsWith(s)),events:Rr(s)}]))};var mr=er({name:"connectWalletconnect",walletType:c.WALLETCONNECT,supportedChains:[N.Arbitrum,N.Avalanche,N.Base,N.BinanceSmartChain,N.Cosmos,N.Ethereum,N.Kujira,N.Maya,N.Optimism,N.Polygon,N.THORChain],connect:({addChain:r,supportedChains:u,walletType:s})=>async function p(t,I){let f=kr({chains:t,supportedChains:u,walletType:s}),{walletConnectProjectId:y}=fr.get("apiKeys");if(!y)throw new G("wallet_walletconnect_project_id_not_specified");let j=await Wr(f,y,I);if(!j)throw new G("wallet_walletconnect_connection_not_established");let{session:Q,accounts:Z}=j;return await Promise.all(f.map(async(K)=>{let v=e(K,Z),k=await Mr({session:Q,address:v,chain:K,walletconnect:j});r({...k,address:v,chain:K,disconnect:j.disconnect,walletType:c.WALLETCONNECT})})),!0}}),Er=jr(mr);async function Mr({chain:r,walletconnect:u,address:s,session:p}){switch(r){case N.Arbitrum:case N.Avalanche:case N.Base:case N.BinanceSmartChain:case N.Ethereum:case N.Optimism:case N.Polygon:{let{getProvider:t,getEvmToolbox:I}=await import("@swapkit/toolboxes/evm"),f=await t(r),y=await pr({walletconnect:u,chain:r,provider:f});return await I(r,{provider:f,signer:y})}case N.THORChain:{let{SignMode:t}=await import("cosmjs-types/cosmos/tx/signing/v1beta1/signing.js"),{TxRaw:I}=await import("cosmjs-types/cosmos/tx/v1beta1/tx.js"),{encodePubkey:f,makeAuthInfoBytes:y}=(await import("@cosmjs/proto-signing")).default,{makeSignDoc:j}=(await import("@cosmjs/amino")).default,{getCosmosToolbox:Q,buildAminoMsg:Z,buildEncodedTxBody:K,createStargateClient:v,fromBase64:k,getDefaultChainFee:Cr,parseAminoMessageForDirectSigning:yr}=await import("@swapkit/toolboxes/cosmos"),m=await Q(N.THORChain);async function hr(h){let b=await m.getAccount(h);if(r!==N.THORChain)return b;let[{address:B,algo:W,pubkey:q}]=await u?.client.request({chainId:X,topic:p.topic,request:{method:"cosmos_getAccounts",params:{}}});return{...b,address:B,pubkey:{type:W,value:q}}}let M=Cr(r),Br=(h)=>u?.client.request({chainId:X,topic:p.topic,request:{method:"cosmos_signAmino",params:{signerAddress:s,signDoc:h}}});async function U({assetValue:h,memo:$,...b}){let B=await m.getAccount(s);if(!B)throw new G({errorKey:"wallet_missing_params",info:{account:B}});if(!B.pubkey)throw new G({errorKey:"wallet_missing_params",info:{account:B,pubkey:B?.pubkey}});let{accountNumber:W,sequence:q=0}=B,H=[Z({assetValue:h,memo:$,sender:s,...b})],Yr=Vr.THORChain,Jr=j(H,M,Yr,$,W?.toString(),q?.toString()||"0"),a=await Br(Jr),Kr=await K({chain:N.THORChain,msgs:H.map(yr),memo:$||""}),zr=f(B.pubkey),Gr=y([{pubkey:zr,sequence:q}],M.amount,Number.parseInt(M.gas),void 0,void 0,t.SIGN_MODE_LEGACY_AMINO_JSON),Qr=I.fromPartial({bodyBytes:Kr,authInfoBytes:Gr,signatures:[k(typeof a.signature==="string"?a.signature:a.signature.signature)]}),Xr=I.encode(Qr).finish();return(await(await v(fr.get("rpcUrls")[N.THORChain])).broadcastTx(Xr)).transactionHash}return{...m,transfer:(h)=>U(h),deposit:(h)=>U(h),getAccount:hr}}default:throw new G({errorKey:"wallet_chain_not_supported",info:{chain:r,wallet:c.WALLETCONNECT}})}}async function Wr(r,u,s){let p;try{if(!u)throw new G("wallet_walletconnect_project_id_not_specified");let t=Ir(r.map(z)),{WalletConnectModalSign:I}=await import("@walletconnect/modal-sign-html"),f=new I({logger:sr,relayUrl:A,projectId:u,metadata:s?.metadata||ur,...s?.core}),y=await f.getSession();if(y)await f.disconnect({topic:y.topic,reason:{code:0,message:"Resetting session"}});let j=await f.connect({requiredNamespaces:t}),Q=Object.values(j.namespaces).flatMap((K)=>K.accounts);return{session:j,accounts:Q,client:f,disconnect:async()=>{await f.disconnect({topic:j.topic,reason:{code:0,message:"User disconnected"}})}}}catch(t){console.error(t)}finally{if(p)p.closeModal()}return}export{mr as walletconnectWallet,Er as WC_SUPPORTED_CHAINS,X as THORCHAIN_MAINNET_ID,S as POLYGON_MAINNET_ID,E as OPTIMISM_MAINNET_ID,T as MAYACHAIN_MAINNET_ID,o as KUJIRA_MAINNET_ID,F as ETHEREUM_MAINNET_ID,i as DEFAULT_SOLANA_METHODS,P as DEFAULT_SOLANA_EVENTS,A as DEFAULT_RELAY_URL,g as DEFAULT_POLKADOT_METHODS,x as DEFAULT_POLKADOT_EVENTS,d as DEFAULT_NEAR_METHODS,n as DEFAULT_NEAR_EVENTS,sr as DEFAULT_LOGGER,w as DEFAULT_EIP_155_EVENTS,R as DEFAULT_EIP155_METHODS,V as DEFAULT_COSMOS_METHODS,Zr as DEFAULT_COSMOS_EVENTS,ur as DEFAULT_APP_METADATA,L as COSMOS_HUB_MAINNET_ID,O as BSC_MAINNET_ID,rr as BASE_MAINNET_ID,l as AVALANCHE_MAINNET_ID,D as ARBITRUM_ONE_MAINNET_ID};
2
2
 
3
3
  //# debugId=28A6E31B556131D864756E2164756E21
package/package.json CHANGED
@@ -27,7 +27,7 @@
27
27
  "@scure/bip39": "1.5.4",
28
28
  "@solana/web3.js": "1.98.2",
29
29
  "@swapkit/helpers": "3.0.0-beta.9",
30
- "@swapkit/toolboxes": "1.0.0-beta.10",
30
+ "@swapkit/toolboxes": "1.0.0-beta.11",
31
31
  "@trezor/connect-web": "9.5.4",
32
32
  "@walletconnect/modal-sign-html": "2.7.0",
33
33
  "bitcoinjs-lib": "6.1.7",
@@ -152,5 +152,5 @@
152
152
  "type-check:go": "tsgo"
153
153
  },
154
154
  "type": "module",
155
- "version": "3.0.0-beta.10"
155
+ "version": "3.0.0-beta.11"
156
156
  }
@@ -38,7 +38,7 @@ export async function getWalletMethods(chain: Chain) {
38
38
  }
39
39
  const { unisat: wallet } = bitget;
40
40
 
41
- const { Psbt } = (await import("bitcoinjs-lib")).default;
41
+ const { Psbt } = await import("bitcoinjs-lib");
42
42
  const { getUtxoToolbox } = await import("@swapkit/toolboxes/utxo");
43
43
  const [address] = await wallet.requestAccounts();
44
44
 
@@ -22,7 +22,7 @@ const signUTXOTransaction = async (
22
22
  { psbt, inputUtxos, btcApp, derivationPath }: Params,
23
23
  options?: Partial<CreateTransactionArg>,
24
24
  ) => {
25
- const { Transaction } = (await import("bitcoinjs-lib")).default;
25
+ const { Transaction } = await import("bitcoinjs-lib");
26
26
 
27
27
  const inputs = inputUtxos.map((item) => {
28
28
  const utxoTx = Transaction.fromHex(item.txHex || "");
@@ -81,7 +81,7 @@ export async function getWalletMethods(chain: Chain) {
81
81
  if (!(window.okxwallet && "bitcoin" in window.okxwallet)) {
82
82
  throw new Error("No bitcoin okxwallet found");
83
83
  }
84
- const { Psbt } = (await import("bitcoinjs-lib")).default;
84
+ const { Psbt } = await import("bitcoinjs-lib");
85
85
  const { getUtxoToolbox } = await import("@swapkit/toolboxes/utxo");
86
86
 
87
87
  const { bitcoin: wallet } = window.okxwallet;
@@ -27,7 +27,7 @@ async function getWalletMethodsForExtension(chain: Chain) {
27
27
  });
28
28
  }
29
29
 
30
- const { Psbt } = (await import("bitcoinjs-lib")).default;
30
+ const { Psbt } = await import("bitcoinjs-lib");
31
31
  const { getUtxoToolbox } = await import("@swapkit/toolboxes/utxo");
32
32
  const {
33
33
  signTransaction: satsSignTransaction,
@@ -84,7 +84,7 @@ async function getWalletMethods(chain: PhantomSupportedChain) {
84
84
  assetValue,
85
85
  isProgramDerivedAddress,
86
86
  }: GenericTransferParams & { assetValue: AssetValue; isProgramDerivedAddress?: boolean }) => {
87
- const { PublicKey } = (await import("@solana/web3.js")).default;
87
+ const { PublicKey } = await import("@solana/web3.js");
88
88
  const validateAddress = await toolbox.getAddressValidator();
89
89
 
90
90
  if (!(isProgramDerivedAddress || validateAddress(recipient))) {
File without changes
File without changes