@swapkit/wallets 4.0.0-beta.69 → 4.0.0-beta.70

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- var B={};S(B,{getWeb3WalletMethods:()=>p,evmWallet:()=>O,EVM_EXTENSIONS_SUPPORTED_CHAINS:()=>A});module.exports=M(B);var t=require("@swapkit/helpers"),w=require("@swapkit/wallet-core"),g=(a)=>{switch(a){case t.WalletOption.COINBASE_WEB:return window.coinbaseWalletExtension;case t.WalletOption.TRUSTWALLET_WEB:return window.trustwallet;default:return window.ethereum}},p=async({address:a,walletProvider:c,chain:o,provider:n})=>{if(!c)throw new t.SwapKitError("wallet_evm_extensions_not_found");let{getEvmToolbox:e}=await import("@swapkit/toolboxes/evm"),i=await n.getSigner(),s=await e(o,{provider:n,signer:i});if(o!==t.Chain.Ethereum){if((await n.getNetwork()).chainId.toString()!==t.ChainToHexChainId[o])try{let r=s.getNetworkParams();await t.switchEVMWalletNetwork(n,o,r)}catch(r){throw new t.SwapKitError("wallet_evm_extensions_failed_to_switch_network",{chain:o})}}return t.prepareNetworkSwitch({toolbox:{...s,getBalance:()=>s.getBalance(a)},chain:o,provider:n})},O=w.createWallet({name:"connectEVMWallet",supportedChains:[...t.EVMChains],connect:({addChain:a,supportedChains:c})=>async function o(n,e=t.WalletOption.METAMASK,i){let s=t.filterSupportedChains({chains:n,supportedChains:c,walletType:e}),{BrowserProvider:E}=await import("ethers");return await Promise.all(s.map(async(r)=>{if(e===t.WalletOption.EIP6963){if(!i)throw new t.SwapKitError("wallet_evm_extensions_no_provider");let d=new E(i,"any");await d.send("eth_requestAccounts",[]);let _=await(await d.getSigner()).getAddress(),m=await p({address:_,chain:r,provider:d,walletProvider:i});a({...m,address:_,chain:r,walletType:e});return}let l=new E(g(e),"any");await l.send("eth_requestAccounts",[]);let W=await(await l.getSigner()).getAddress(),h=await p({address:W,chain:r,walletProvider:g(e),provider:l});a({...h,address:W,chain:r,disconnect:()=>l.send("wallet_revokePermissions",[{eth_accounts:{}}]),walletType:e})})),!0}}),A=w.getWalletSupportedChains(O);
1
+ var C={};A(C,{getWeb3WalletMethods:()=>p,evmWallet:()=>O,EVM_EXTENSIONS_SUPPORTED_CHAINS:()=>B});module.exports=S(C);var t=require("@swapkit/helpers"),l=require("@swapkit/wallet-core"),g=(a)=>{switch(a){case t.WalletOption.COINBASE_WEB:return window.coinbaseWalletExtension;case t.WalletOption.TRUSTWALLET_WEB:return window.trustwallet;default:return window.ethereum}},p=async({address:a,walletProvider:w,chain:o,provider:n})=>{if(!w)throw new t.SwapKitError("wallet_evm_extensions_not_found");let{getEvmToolbox:e}=await import("@swapkit/toolboxes/evm"),s=await n.getSigner(),i=await e(o,{provider:n,signer:s});if(o!==t.Chain.Ethereum){if((await n.getNetwork()).chainId.toString()!==t.ChainToHexChainId[o])try{let r=i.getNetworkParams();await t.switchEVMWalletNetwork(n,o,r)}catch(r){throw new t.SwapKitError("wallet_evm_extensions_failed_to_switch_network",{chain:o})}}return t.prepareNetworkSwitch({toolbox:{...i,getBalance:()=>i.getBalance(a)},chain:o,provider:n})},O=l.createWallet({name:"connectEVMWallet",supportedChains:[...t.EVMChains],connect:({addChain:a,supportedChains:w})=>async function o(n,e=t.WalletOption.METAMASK,s){let i=t.filterSupportedChains({chains:n,supportedChains:w,walletType:e}),{BrowserProvider:c}=await import("ethers");return await Promise.all(i.map(async(r)=>{if(e===t.WalletOption.EIP6963){if(!s)throw new t.SwapKitError("wallet_evm_extensions_no_provider");await s.request({method:"eth_requestAccounts"});let d=new c(s,"any");await d.send("eth_requestAccounts",[]);let h=await(await d.getSigner()).getAddress(),M=await p({address:h,chain:r,provider:d,walletProvider:s});a({...M,address:h,chain:r,walletType:e});return}let W=g(e);await W.request({method:"eth_requestAccounts"});let E=new c(W,"any"),u=await(await E.getSigner()).getAddress(),_=await p({address:u,chain:r,walletProvider:g(e),provider:E});a({..._,address:u,chain:r,disconnect:()=>E.send("wallet_revokePermissions",[{eth_accounts:{}}]),walletType:e})})),!0}}),B=l.getWalletSupportedChains(O);
2
2
 
3
- //# debugId=79DE271476C5C98064756E2164756E21
3
+ //# debugId=19BF8D1EFF146F9464756E2164756E21
4
4
  //# sourceMappingURL=index.cjs.map
@@ -2,9 +2,9 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/evm-extensions/index.ts"],
4
4
  "sourcesContent": [
5
- "import {\n Chain,\n ChainToHexChainId,\n type EVMChain,\n EVMChains,\n SwapKitError,\n WalletOption,\n filterSupportedChains,\n prepareNetworkSwitch,\n switchEVMWalletNetwork,\n} from \"@swapkit/helpers\";\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\nimport type { BrowserProvider, Eip1193Provider } from \"ethers\";\n\nexport type EVMWalletOptions =\n | WalletOption.BRAVE\n | WalletOption.OKX_MOBILE\n | WalletOption.METAMASK\n | WalletOption.TRUSTWALLET_WEB\n | WalletOption.COINBASE_WEB\n | WalletOption.EIP6963;\n\nconst getWalletForType = (\n walletType:\n | WalletOption.BRAVE\n | WalletOption.OKX_MOBILE\n | WalletOption.METAMASK\n | WalletOption.TRUSTWALLET_WEB\n | WalletOption.COINBASE_WEB,\n) => {\n switch (walletType) {\n case WalletOption.COINBASE_WEB:\n return window.coinbaseWalletExtension;\n case WalletOption.TRUSTWALLET_WEB:\n return window.trustwallet;\n default:\n return window.ethereum;\n }\n};\n\nexport const getWeb3WalletMethods = async ({\n address,\n walletProvider,\n chain,\n provider,\n}: {\n address: string;\n walletProvider?: Eip1193Provider;\n chain: EVMChain;\n provider: BrowserProvider;\n}) => {\n if (!walletProvider) throw new SwapKitError(\"wallet_evm_extensions_not_found\");\n const { getEvmToolbox } = await import(\"@swapkit/toolboxes/evm\");\n\n const signer = await provider.getSigner();\n const toolbox = await getEvmToolbox(chain, { provider, signer });\n\n if (chain !== Chain.Ethereum) {\n const currentNetwork = await provider.getNetwork();\n if (currentNetwork.chainId.toString() !== ChainToHexChainId[chain]) {\n try {\n const networkParams = toolbox.getNetworkParams();\n await switchEVMWalletNetwork(provider, chain, networkParams);\n } catch (_error) {\n throw new SwapKitError(\"wallet_evm_extensions_failed_to_switch_network\", { chain });\n }\n }\n }\n\n return prepareNetworkSwitch({\n toolbox: { ...toolbox, getBalance: () => toolbox.getBalance(address) },\n chain,\n provider,\n });\n};\n\nexport const evmWallet = createWallet({\n name: \"connectEVMWallet\",\n supportedChains: [...EVMChains] as EVMChain[],\n connect: ({ addChain, supportedChains }) =>\n async function connectEVMWallet(\n chains: Chain[],\n walletType: EVMWalletOptions = WalletOption.METAMASK,\n eip1193Provider?: Eip1193Provider,\n ) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n const { BrowserProvider } = await import(\"ethers\");\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n if (walletType === WalletOption.EIP6963) {\n if (!eip1193Provider) throw new SwapKitError(\"wallet_evm_extensions_no_provider\");\n\n const provider = new BrowserProvider(eip1193Provider, \"any\");\n await provider.send(\"eth_requestAccounts\", []);\n const signer = await provider.getSigner();\n const address = await signer.getAddress();\n\n const walletMethods = await getWeb3WalletMethods({\n address,\n chain,\n provider,\n walletProvider: eip1193Provider,\n });\n\n addChain({ ...walletMethods, address, chain, walletType });\n return;\n }\n\n const web3provider = new BrowserProvider(getWalletForType(walletType), \"any\");\n await web3provider.send(\"eth_requestAccounts\", []);\n const signer = await web3provider.getSigner();\n const address = await signer.getAddress();\n\n const walletMethods = await getWeb3WalletMethods({\n address,\n chain,\n walletProvider: getWalletForType(walletType),\n provider: web3provider,\n });\n\n const disconnect = () =>\n web3provider.send(\"wallet_revokePermissions\", [{ eth_accounts: {} }]);\n\n addChain({ ...walletMethods, address, chain, disconnect, walletType });\n }),\n );\n\n return true;\n },\n});\n\nexport const EVM_EXTENSIONS_SUPPORTED_CHAINS = getWalletSupportedChains(evmWallet);\n"
5
+ "import {\n Chain,\n ChainToHexChainId,\n type EVMChain,\n EVMChains,\n SwapKitError,\n WalletOption,\n filterSupportedChains,\n prepareNetworkSwitch,\n switchEVMWalletNetwork,\n} from \"@swapkit/helpers\";\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\nimport type { BrowserProvider, Eip1193Provider } from \"ethers\";\n\nexport type EVMWalletOptions =\n | WalletOption.BRAVE\n | WalletOption.OKX_MOBILE\n | WalletOption.METAMASK\n | WalletOption.TRUSTWALLET_WEB\n | WalletOption.COINBASE_WEB\n | WalletOption.EIP6963;\n\nconst getWalletForType = (\n walletType:\n | WalletOption.BRAVE\n | WalletOption.OKX_MOBILE\n | WalletOption.METAMASK\n | WalletOption.TRUSTWALLET_WEB\n | WalletOption.COINBASE_WEB,\n) => {\n switch (walletType) {\n case WalletOption.COINBASE_WEB:\n return window.coinbaseWalletExtension;\n case WalletOption.TRUSTWALLET_WEB:\n return window.trustwallet;\n default:\n return window.ethereum;\n }\n};\n\nexport const getWeb3WalletMethods = async ({\n address,\n walletProvider,\n chain,\n provider,\n}: {\n address: string;\n walletProvider?: Eip1193Provider;\n chain: EVMChain;\n provider: BrowserProvider;\n}) => {\n if (!walletProvider) throw new SwapKitError(\"wallet_evm_extensions_not_found\");\n const { getEvmToolbox } = await import(\"@swapkit/toolboxes/evm\");\n\n const signer = await provider.getSigner();\n const toolbox = await getEvmToolbox(chain, { provider, signer });\n\n if (chain !== Chain.Ethereum) {\n const currentNetwork = await provider.getNetwork();\n if (currentNetwork.chainId.toString() !== ChainToHexChainId[chain]) {\n try {\n const networkParams = toolbox.getNetworkParams();\n await switchEVMWalletNetwork(provider, chain, networkParams);\n } catch (_error) {\n throw new SwapKitError(\"wallet_evm_extensions_failed_to_switch_network\", { chain });\n }\n }\n }\n\n return prepareNetworkSwitch({\n toolbox: { ...toolbox, getBalance: () => toolbox.getBalance(address) },\n chain,\n provider,\n });\n};\n\nexport const evmWallet = createWallet({\n name: \"connectEVMWallet\",\n supportedChains: [...EVMChains] as EVMChain[],\n connect: ({ addChain, supportedChains }) =>\n async function connectEVMWallet(\n chains: Chain[],\n walletType: EVMWalletOptions = WalletOption.METAMASK,\n eip1193Provider?: Eip1193Provider,\n ) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n const { BrowserProvider } = await import(\"ethers\");\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n if (walletType === WalletOption.EIP6963) {\n if (!eip1193Provider) throw new SwapKitError(\"wallet_evm_extensions_no_provider\");\n\n await eip1193Provider.request({ method: \"eth_requestAccounts\" });\n\n const provider = new BrowserProvider(eip1193Provider, \"any\");\n await provider.send(\"eth_requestAccounts\", []);\n const signer = await provider.getSigner();\n const address = await signer.getAddress();\n\n const walletMethods = await getWeb3WalletMethods({\n address,\n chain,\n provider,\n walletProvider: eip1193Provider,\n });\n\n addChain({ ...walletMethods, address, chain, walletType });\n return;\n }\n const walletProvider = getWalletForType(walletType);\n\n await walletProvider.request({ method: \"eth_requestAccounts\" });\n\n const web3provider = new BrowserProvider(walletProvider, \"any\");\n const signer = await web3provider.getSigner();\n const address = await signer.getAddress();\n\n const walletMethods = await getWeb3WalletMethods({\n address,\n chain,\n walletProvider: getWalletForType(walletType),\n provider: web3provider,\n });\n\n const disconnect = () =>\n web3provider.send(\"wallet_revokePermissions\", [{ eth_accounts: {} }]);\n\n addChain({ ...walletMethods, address, chain, disconnect, walletType });\n }),\n );\n\n return true;\n },\n});\n\nexport const EVM_EXTENSIONS_SUPPORTED_CHAINS = getWalletSupportedChains(evmWallet);\n"
6
6
  ],
7
- "mappings": "qHAUO,IAVP,8BAWA,kCAWM,EAAmB,CACvB,IAMG,CACH,OAAQ,QACD,eAAa,aAChB,OAAO,OAAO,6BACX,eAAa,gBAChB,OAAO,OAAO,oBAEd,OAAO,OAAO,WAIP,EAAuB,OAClC,UACA,iBACA,QACA,cAMI,CACJ,IAAK,EAAgB,MAAM,IAAI,eAAa,iCAAiC,EAC7E,IAAQ,iBAAkB,KAAa,kCAEjC,EAAS,MAAM,EAAS,UAAU,EAClC,EAAU,MAAM,EAAc,EAAO,CAAE,WAAU,QAAO,CAAC,EAE/D,GAAI,IAAU,QAAM,UAElB,IADuB,MAAM,EAAS,WAAW,GAC9B,QAAQ,SAAS,IAAM,oBAAkB,GAC1D,GAAI,CACF,IAAM,EAAgB,EAAQ,iBAAiB,EAC/C,MAAM,yBAAuB,EAAU,EAAO,CAAa,EAC3D,MAAO,EAAQ,CACf,MAAM,IAAI,eAAa,iDAAkD,CAAE,OAAM,CAAC,GAKxF,OAAO,uBAAqB,CAC1B,QAAS,IAAK,EAAS,WAAY,IAAM,EAAQ,WAAW,CAAO,CAAE,EACrE,QACA,UACF,CAAC,GAGU,EAAY,eAAa,CACpC,KAAM,mBACN,gBAAiB,CAAC,GAAG,WAAS,EAC9B,QAAS,EAAG,WAAU,qBACpB,eAAe,CAAgB,CAC7B,EACA,EAA+B,eAAa,SAC5C,EACA,CACA,IAAM,EAAiB,wBAAsB,CAAE,SAAQ,kBAAiB,YAAW,CAAC,GAC5E,mBAAoB,KAAa,kBA0CzC,OAxCA,MAAM,QAAQ,IACZ,EAAe,IAAI,MAAO,IAAU,CAClC,GAAI,IAAe,eAAa,QAAS,CACvC,IAAK,EAAiB,MAAM,IAAI,eAAa,mCAAmC,EAEhF,IAAM,EAAW,IAAI,EAAgB,EAAiB,KAAK,EAC3D,MAAM,EAAS,KAAK,sBAAuB,CAAC,CAAC,EAE7C,IAAM,EAAU,MADD,MAAM,EAAS,UAAU,GACX,WAAW,EAElC,EAAgB,MAAM,EAAqB,CAC/C,UACA,QACA,WACA,eAAgB,CAClB,CAAC,EAED,EAAS,IAAK,EAAe,UAAS,QAAO,YAAW,CAAC,EACzD,OAGF,IAAM,EAAe,IAAI,EAAgB,EAAiB,CAAU,EAAG,KAAK,EAC5E,MAAM,EAAa,KAAK,sBAAuB,CAAC,CAAC,EAEjD,IAAM,EAAU,MADD,MAAM,EAAa,UAAU,GACf,WAAW,EAElC,EAAgB,MAAM,EAAqB,CAC/C,UACA,QACA,eAAgB,EAAiB,CAAU,EAC3C,SAAU,CACZ,CAAC,EAKD,EAAS,IAAK,EAAe,UAAS,QAAO,WAH1B,IACjB,EAAa,KAAK,2BAA4B,CAAC,CAAE,aAAc,CAAC,CAAE,CAAC,CAAC,EAEb,YAAW,CAAC,EACtE,CACH,EAEO,GAEb,CAAC,EAEY,EAAkC,2BAAyB,CAAS",
8
- "debugId": "79DE271476C5C98064756E2164756E21",
7
+ "mappings": "qHAUO,IAVP,8BAWA,kCAWM,EAAmB,CACvB,IAMG,CACH,OAAQ,QACD,eAAa,aAChB,OAAO,OAAO,6BACX,eAAa,gBAChB,OAAO,OAAO,oBAEd,OAAO,OAAO,WAIP,EAAuB,OAClC,UACA,iBACA,QACA,cAMI,CACJ,IAAK,EAAgB,MAAM,IAAI,eAAa,iCAAiC,EAC7E,IAAQ,iBAAkB,KAAa,kCAEjC,EAAS,MAAM,EAAS,UAAU,EAClC,EAAU,MAAM,EAAc,EAAO,CAAE,WAAU,QAAO,CAAC,EAE/D,GAAI,IAAU,QAAM,UAElB,IADuB,MAAM,EAAS,WAAW,GAC9B,QAAQ,SAAS,IAAM,oBAAkB,GAC1D,GAAI,CACF,IAAM,EAAgB,EAAQ,iBAAiB,EAC/C,MAAM,yBAAuB,EAAU,EAAO,CAAa,EAC3D,MAAO,EAAQ,CACf,MAAM,IAAI,eAAa,iDAAkD,CAAE,OAAM,CAAC,GAKxF,OAAO,uBAAqB,CAC1B,QAAS,IAAK,EAAS,WAAY,IAAM,EAAQ,WAAW,CAAO,CAAE,EACrE,QACA,UACF,CAAC,GAGU,EAAY,eAAa,CACpC,KAAM,mBACN,gBAAiB,CAAC,GAAG,WAAS,EAC9B,QAAS,EAAG,WAAU,qBACpB,eAAe,CAAgB,CAC7B,EACA,EAA+B,eAAa,SAC5C,EACA,CACA,IAAM,EAAiB,wBAAsB,CAAE,SAAQ,kBAAiB,YAAW,CAAC,GAC5E,mBAAoB,KAAa,kBA8CzC,OA5CA,MAAM,QAAQ,IACZ,EAAe,IAAI,MAAO,IAAU,CAClC,GAAI,IAAe,eAAa,QAAS,CACvC,IAAK,EAAiB,MAAM,IAAI,eAAa,mCAAmC,EAEhF,MAAM,EAAgB,QAAQ,CAAE,OAAQ,qBAAsB,CAAC,EAE/D,IAAM,EAAW,IAAI,EAAgB,EAAiB,KAAK,EAC3D,MAAM,EAAS,KAAK,sBAAuB,CAAC,CAAC,EAE7C,IAAM,EAAU,MADD,MAAM,EAAS,UAAU,GACX,WAAW,EAElC,EAAgB,MAAM,EAAqB,CAC/C,UACA,QACA,WACA,eAAgB,CAClB,CAAC,EAED,EAAS,IAAK,EAAe,UAAS,QAAO,YAAW,CAAC,EACzD,OAEF,IAAM,EAAiB,EAAiB,CAAU,EAElD,MAAM,EAAe,QAAQ,CAAE,OAAQ,qBAAsB,CAAC,EAE9D,IAAM,EAAe,IAAI,EAAgB,EAAgB,KAAK,EAExD,EAAU,MADD,MAAM,EAAa,UAAU,GACf,WAAW,EAElC,EAAgB,MAAM,EAAqB,CAC/C,UACA,QACA,eAAgB,EAAiB,CAAU,EAC3C,SAAU,CACZ,CAAC,EAKD,EAAS,IAAK,EAAe,UAAS,QAAO,WAH1B,IACjB,EAAa,KAAK,2BAA4B,CAAC,CAAE,aAAc,CAAC,CAAE,CAAC,CAAC,EAEb,YAAW,CAAC,EACtE,CACH,EAEO,GAEb,CAAC,EAEY,EAAkC,2BAAyB,CAAS",
8
+ "debugId": "19BF8D1EFF146F9464756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,4 +1,4 @@
1
- import{F as u,G as O}from"../../chunk-yqaz2d25.js";import{Chain as M,ChainToHexChainId as S,EVMChains as A,SwapKitError as d,WalletOption as l,filterSupportedChains as B,prepareNetworkSwitch as C,switchEVMWalletNetwork as P}from"@swapkit/helpers";import{createWallet as f,getWalletSupportedChains as v}from"@swapkit/wallet-core";var _=(r)=>{switch(r){case l.COINBASE_WEB:return window.coinbaseWalletExtension;case l.TRUSTWALLET_WEB:return window.trustwallet;default:return window.ethereum}},g=async({address:r,walletProvider:w,chain:e,provider:o})=>{if(!w)throw new d("wallet_evm_extensions_not_found");let{getEvmToolbox:t}=await import("@swapkit/toolboxes/evm"),a=await o.getSigner(),i=await t(e,{provider:o,signer:a});if(e!==M.Ethereum){if((await o.getNetwork()).chainId.toString()!==S[e])try{let n=i.getNetworkParams();await P(o,e,n)}catch(n){throw new d("wallet_evm_extensions_failed_to_switch_network",{chain:e})}}return C({toolbox:{...i,getBalance:()=>i.getBalance(r)},chain:e,provider:o})},x=f({name:"connectEVMWallet",supportedChains:[...A],connect:({addChain:r,supportedChains:w})=>async function e(o,t=l.METAMASK,a){let i=B({chains:o,supportedChains:w,walletType:t}),{BrowserProvider:c}=await import("ethers");return await Promise.all(i.map(async(n)=>{if(t===l.EIP6963){if(!a)throw new d("wallet_evm_extensions_no_provider");let E=new c(a,"any");await E.send("eth_requestAccounts",[]);let W=await(await E.getSigner()).getAddress(),m=await g({address:W,chain:n,provider:E,walletProvider:a});r({...m,address:W,chain:n,walletType:t});return}let s=new c(_(t),"any");await s.send("eth_requestAccounts",[]);let p=await(await s.getSigner()).getAddress(),h=await g({address:p,chain:n,walletProvider:_(t),provider:s});r({...h,address:p,chain:n,disconnect:()=>s.send("wallet_revokePermissions",[{eth_accounts:{}}]),walletType:t})})),!0}}),L=v(x);export{g as getWeb3WalletMethods,x as evmWallet,L as EVM_EXTENSIONS_SUPPORTED_CHAINS};
1
+ import{F as m,G as O}from"../../chunk-yqaz2d25.js";import{Chain as S,ChainToHexChainId as A,EVMChains as B,SwapKitError as d,WalletOption as i,filterSupportedChains as C,prepareNetworkSwitch as P,switchEVMWalletNetwork as f}from"@swapkit/helpers";import{createWallet as v,getWalletSupportedChains as x}from"@swapkit/wallet-core";var h=(r)=>{switch(r){case i.COINBASE_WEB:return window.coinbaseWalletExtension;case i.TRUSTWALLET_WEB:return window.trustwallet;default:return window.ethereum}},g=async({address:r,walletProvider:l,chain:e,provider:o})=>{if(!l)throw new d("wallet_evm_extensions_not_found");let{getEvmToolbox:t}=await import("@swapkit/toolboxes/evm"),a=await o.getSigner(),s=await t(e,{provider:o,signer:a});if(e!==S.Ethereum){if((await o.getNetwork()).chainId.toString()!==A[e])try{let n=s.getNetworkParams();await f(o,e,n)}catch(n){throw new d("wallet_evm_extensions_failed_to_switch_network",{chain:e})}}return P({toolbox:{...s,getBalance:()=>s.getBalance(r)},chain:e,provider:o})},N=v({name:"connectEVMWallet",supportedChains:[...B],connect:({addChain:r,supportedChains:l})=>async function e(o,t=i.METAMASK,a){let s=C({chains:o,supportedChains:l,walletType:t}),{BrowserProvider:w}=await import("ethers");return await Promise.all(s.map(async(n)=>{if(t===i.EIP6963){if(!a)throw new d("wallet_evm_extensions_no_provider");await a.request({method:"eth_requestAccounts"});let E=new w(a,"any");await E.send("eth_requestAccounts",[]);let u=await(await E.getSigner()).getAddress(),M=await g({address:u,chain:n,provider:E,walletProvider:a});r({...M,address:u,chain:n,walletType:t});return}let p=h(t);await p.request({method:"eth_requestAccounts"});let c=new w(p,"any"),W=await(await c.getSigner()).getAddress(),_=await g({address:W,chain:n,walletProvider:h(t),provider:c});r({..._,address:W,chain:n,disconnect:()=>c.send("wallet_revokePermissions",[{eth_accounts:{}}]),walletType:t})})),!0}}),b=x(N);export{g as getWeb3WalletMethods,N as evmWallet,b as EVM_EXTENSIONS_SUPPORTED_CHAINS};
2
2
 
3
- //# debugId=7976B4C593B973B264756E2164756E21
3
+ //# debugId=B73933FD026298B964756E2164756E21
4
4
  //# sourceMappingURL=index.js.map
@@ -2,9 +2,9 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/evm-extensions/index.ts"],
4
4
  "sourcesContent": [
5
- "import {\n Chain,\n ChainToHexChainId,\n type EVMChain,\n EVMChains,\n SwapKitError,\n WalletOption,\n filterSupportedChains,\n prepareNetworkSwitch,\n switchEVMWalletNetwork,\n} from \"@swapkit/helpers\";\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\nimport type { BrowserProvider, Eip1193Provider } from \"ethers\";\n\nexport type EVMWalletOptions =\n | WalletOption.BRAVE\n | WalletOption.OKX_MOBILE\n | WalletOption.METAMASK\n | WalletOption.TRUSTWALLET_WEB\n | WalletOption.COINBASE_WEB\n | WalletOption.EIP6963;\n\nconst getWalletForType = (\n walletType:\n | WalletOption.BRAVE\n | WalletOption.OKX_MOBILE\n | WalletOption.METAMASK\n | WalletOption.TRUSTWALLET_WEB\n | WalletOption.COINBASE_WEB,\n) => {\n switch (walletType) {\n case WalletOption.COINBASE_WEB:\n return window.coinbaseWalletExtension;\n case WalletOption.TRUSTWALLET_WEB:\n return window.trustwallet;\n default:\n return window.ethereum;\n }\n};\n\nexport const getWeb3WalletMethods = async ({\n address,\n walletProvider,\n chain,\n provider,\n}: {\n address: string;\n walletProvider?: Eip1193Provider;\n chain: EVMChain;\n provider: BrowserProvider;\n}) => {\n if (!walletProvider) throw new SwapKitError(\"wallet_evm_extensions_not_found\");\n const { getEvmToolbox } = await import(\"@swapkit/toolboxes/evm\");\n\n const signer = await provider.getSigner();\n const toolbox = await getEvmToolbox(chain, { provider, signer });\n\n if (chain !== Chain.Ethereum) {\n const currentNetwork = await provider.getNetwork();\n if (currentNetwork.chainId.toString() !== ChainToHexChainId[chain]) {\n try {\n const networkParams = toolbox.getNetworkParams();\n await switchEVMWalletNetwork(provider, chain, networkParams);\n } catch (_error) {\n throw new SwapKitError(\"wallet_evm_extensions_failed_to_switch_network\", { chain });\n }\n }\n }\n\n return prepareNetworkSwitch({\n toolbox: { ...toolbox, getBalance: () => toolbox.getBalance(address) },\n chain,\n provider,\n });\n};\n\nexport const evmWallet = createWallet({\n name: \"connectEVMWallet\",\n supportedChains: [...EVMChains] as EVMChain[],\n connect: ({ addChain, supportedChains }) =>\n async function connectEVMWallet(\n chains: Chain[],\n walletType: EVMWalletOptions = WalletOption.METAMASK,\n eip1193Provider?: Eip1193Provider,\n ) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n const { BrowserProvider } = await import(\"ethers\");\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n if (walletType === WalletOption.EIP6963) {\n if (!eip1193Provider) throw new SwapKitError(\"wallet_evm_extensions_no_provider\");\n\n const provider = new BrowserProvider(eip1193Provider, \"any\");\n await provider.send(\"eth_requestAccounts\", []);\n const signer = await provider.getSigner();\n const address = await signer.getAddress();\n\n const walletMethods = await getWeb3WalletMethods({\n address,\n chain,\n provider,\n walletProvider: eip1193Provider,\n });\n\n addChain({ ...walletMethods, address, chain, walletType });\n return;\n }\n\n const web3provider = new BrowserProvider(getWalletForType(walletType), \"any\");\n await web3provider.send(\"eth_requestAccounts\", []);\n const signer = await web3provider.getSigner();\n const address = await signer.getAddress();\n\n const walletMethods = await getWeb3WalletMethods({\n address,\n chain,\n walletProvider: getWalletForType(walletType),\n provider: web3provider,\n });\n\n const disconnect = () =>\n web3provider.send(\"wallet_revokePermissions\", [{ eth_accounts: {} }]);\n\n addChain({ ...walletMethods, address, chain, disconnect, walletType });\n }),\n );\n\n return true;\n },\n});\n\nexport const EVM_EXTENSIONS_SUPPORTED_CHAINS = getWalletSupportedChains(evmWallet);\n"
5
+ "import {\n Chain,\n ChainToHexChainId,\n type EVMChain,\n EVMChains,\n SwapKitError,\n WalletOption,\n filterSupportedChains,\n prepareNetworkSwitch,\n switchEVMWalletNetwork,\n} from \"@swapkit/helpers\";\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\nimport type { BrowserProvider, Eip1193Provider } from \"ethers\";\n\nexport type EVMWalletOptions =\n | WalletOption.BRAVE\n | WalletOption.OKX_MOBILE\n | WalletOption.METAMASK\n | WalletOption.TRUSTWALLET_WEB\n | WalletOption.COINBASE_WEB\n | WalletOption.EIP6963;\n\nconst getWalletForType = (\n walletType:\n | WalletOption.BRAVE\n | WalletOption.OKX_MOBILE\n | WalletOption.METAMASK\n | WalletOption.TRUSTWALLET_WEB\n | WalletOption.COINBASE_WEB,\n) => {\n switch (walletType) {\n case WalletOption.COINBASE_WEB:\n return window.coinbaseWalletExtension;\n case WalletOption.TRUSTWALLET_WEB:\n return window.trustwallet;\n default:\n return window.ethereum;\n }\n};\n\nexport const getWeb3WalletMethods = async ({\n address,\n walletProvider,\n chain,\n provider,\n}: {\n address: string;\n walletProvider?: Eip1193Provider;\n chain: EVMChain;\n provider: BrowserProvider;\n}) => {\n if (!walletProvider) throw new SwapKitError(\"wallet_evm_extensions_not_found\");\n const { getEvmToolbox } = await import(\"@swapkit/toolboxes/evm\");\n\n const signer = await provider.getSigner();\n const toolbox = await getEvmToolbox(chain, { provider, signer });\n\n if (chain !== Chain.Ethereum) {\n const currentNetwork = await provider.getNetwork();\n if (currentNetwork.chainId.toString() !== ChainToHexChainId[chain]) {\n try {\n const networkParams = toolbox.getNetworkParams();\n await switchEVMWalletNetwork(provider, chain, networkParams);\n } catch (_error) {\n throw new SwapKitError(\"wallet_evm_extensions_failed_to_switch_network\", { chain });\n }\n }\n }\n\n return prepareNetworkSwitch({\n toolbox: { ...toolbox, getBalance: () => toolbox.getBalance(address) },\n chain,\n provider,\n });\n};\n\nexport const evmWallet = createWallet({\n name: \"connectEVMWallet\",\n supportedChains: [...EVMChains] as EVMChain[],\n connect: ({ addChain, supportedChains }) =>\n async function connectEVMWallet(\n chains: Chain[],\n walletType: EVMWalletOptions = WalletOption.METAMASK,\n eip1193Provider?: Eip1193Provider,\n ) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n const { BrowserProvider } = await import(\"ethers\");\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n if (walletType === WalletOption.EIP6963) {\n if (!eip1193Provider) throw new SwapKitError(\"wallet_evm_extensions_no_provider\");\n\n await eip1193Provider.request({ method: \"eth_requestAccounts\" });\n\n const provider = new BrowserProvider(eip1193Provider, \"any\");\n await provider.send(\"eth_requestAccounts\", []);\n const signer = await provider.getSigner();\n const address = await signer.getAddress();\n\n const walletMethods = await getWeb3WalletMethods({\n address,\n chain,\n provider,\n walletProvider: eip1193Provider,\n });\n\n addChain({ ...walletMethods, address, chain, walletType });\n return;\n }\n const walletProvider = getWalletForType(walletType);\n\n await walletProvider.request({ method: \"eth_requestAccounts\" });\n\n const web3provider = new BrowserProvider(walletProvider, \"any\");\n const signer = await web3provider.getSigner();\n const address = await signer.getAddress();\n\n const walletMethods = await getWeb3WalletMethods({\n address,\n chain,\n walletProvider: getWalletForType(walletType),\n provider: web3provider,\n });\n\n const disconnect = () =>\n web3provider.send(\"wallet_revokePermissions\", [{ eth_accounts: {} }]);\n\n addChain({ ...walletMethods, address, chain, disconnect, walletType });\n }),\n );\n\n return true;\n },\n});\n\nexport const EVM_EXTENSIONS_SUPPORTED_CHAINS = getWalletSupportedChains(evmWallet);\n"
6
6
  ],
7
- "mappings": "mDAAA,gBACE,uBACA,eAEA,kBACA,kBACA,2BACA,0BACA,4BACA,yBAEF,uBAAS,8BAAc,6BAWvB,IAAM,EAAmB,CACvB,IAMG,CACH,OAAQ,QACD,EAAa,aAChB,OAAO,OAAO,6BACX,EAAa,gBAChB,OAAO,OAAO,oBAEd,OAAO,OAAO,WAIP,EAAuB,OAClC,UACA,iBACA,QACA,cAMI,CACJ,IAAK,EAAgB,MAAM,IAAI,EAAa,iCAAiC,EAC7E,IAAQ,iBAAkB,KAAa,kCAEjC,EAAS,MAAM,EAAS,UAAU,EAClC,EAAU,MAAM,EAAc,EAAO,CAAE,WAAU,QAAO,CAAC,EAE/D,GAAI,IAAU,EAAM,UAElB,IADuB,MAAM,EAAS,WAAW,GAC9B,QAAQ,SAAS,IAAM,EAAkB,GAC1D,GAAI,CACF,IAAM,EAAgB,EAAQ,iBAAiB,EAC/C,MAAM,EAAuB,EAAU,EAAO,CAAa,EAC3D,MAAO,EAAQ,CACf,MAAM,IAAI,EAAa,iDAAkD,CAAE,OAAM,CAAC,GAKxF,OAAO,EAAqB,CAC1B,QAAS,IAAK,EAAS,WAAY,IAAM,EAAQ,WAAW,CAAO,CAAE,EACrE,QACA,UACF,CAAC,GAGU,EAAY,EAAa,CACpC,KAAM,mBACN,gBAAiB,CAAC,GAAG,CAAS,EAC9B,QAAS,EAAG,WAAU,qBACpB,eAAe,CAAgB,CAC7B,EACA,EAA+B,EAAa,SAC5C,EACA,CACA,IAAM,EAAiB,EAAsB,CAAE,SAAQ,kBAAiB,YAAW,CAAC,GAC5E,mBAAoB,KAAa,kBA0CzC,OAxCA,MAAM,QAAQ,IACZ,EAAe,IAAI,MAAO,IAAU,CAClC,GAAI,IAAe,EAAa,QAAS,CACvC,IAAK,EAAiB,MAAM,IAAI,EAAa,mCAAmC,EAEhF,IAAM,EAAW,IAAI,EAAgB,EAAiB,KAAK,EAC3D,MAAM,EAAS,KAAK,sBAAuB,CAAC,CAAC,EAE7C,IAAM,EAAU,MADD,MAAM,EAAS,UAAU,GACX,WAAW,EAElC,EAAgB,MAAM,EAAqB,CAC/C,UACA,QACA,WACA,eAAgB,CAClB,CAAC,EAED,EAAS,IAAK,EAAe,UAAS,QAAO,YAAW,CAAC,EACzD,OAGF,IAAM,EAAe,IAAI,EAAgB,EAAiB,CAAU,EAAG,KAAK,EAC5E,MAAM,EAAa,KAAK,sBAAuB,CAAC,CAAC,EAEjD,IAAM,EAAU,MADD,MAAM,EAAa,UAAU,GACf,WAAW,EAElC,EAAgB,MAAM,EAAqB,CAC/C,UACA,QACA,eAAgB,EAAiB,CAAU,EAC3C,SAAU,CACZ,CAAC,EAKD,EAAS,IAAK,EAAe,UAAS,QAAO,WAH1B,IACjB,EAAa,KAAK,2BAA4B,CAAC,CAAE,aAAc,CAAC,CAAE,CAAC,CAAC,EAEb,YAAW,CAAC,EACtE,CACH,EAEO,GAEb,CAAC,EAEY,EAAkC,EAAyB,CAAS",
8
- "debugId": "7976B4C593B973B264756E2164756E21",
7
+ "mappings": "mDAAA,gBACE,uBACA,eAEA,kBACA,kBACA,2BACA,0BACA,4BACA,yBAEF,uBAAS,8BAAc,6BAWvB,IAAM,EAAmB,CACvB,IAMG,CACH,OAAQ,QACD,EAAa,aAChB,OAAO,OAAO,6BACX,EAAa,gBAChB,OAAO,OAAO,oBAEd,OAAO,OAAO,WAIP,EAAuB,OAClC,UACA,iBACA,QACA,cAMI,CACJ,IAAK,EAAgB,MAAM,IAAI,EAAa,iCAAiC,EAC7E,IAAQ,iBAAkB,KAAa,kCAEjC,EAAS,MAAM,EAAS,UAAU,EAClC,EAAU,MAAM,EAAc,EAAO,CAAE,WAAU,QAAO,CAAC,EAE/D,GAAI,IAAU,EAAM,UAElB,IADuB,MAAM,EAAS,WAAW,GAC9B,QAAQ,SAAS,IAAM,EAAkB,GAC1D,GAAI,CACF,IAAM,EAAgB,EAAQ,iBAAiB,EAC/C,MAAM,EAAuB,EAAU,EAAO,CAAa,EAC3D,MAAO,EAAQ,CACf,MAAM,IAAI,EAAa,iDAAkD,CAAE,OAAM,CAAC,GAKxF,OAAO,EAAqB,CAC1B,QAAS,IAAK,EAAS,WAAY,IAAM,EAAQ,WAAW,CAAO,CAAE,EACrE,QACA,UACF,CAAC,GAGU,EAAY,EAAa,CACpC,KAAM,mBACN,gBAAiB,CAAC,GAAG,CAAS,EAC9B,QAAS,EAAG,WAAU,qBACpB,eAAe,CAAgB,CAC7B,EACA,EAA+B,EAAa,SAC5C,EACA,CACA,IAAM,EAAiB,EAAsB,CAAE,SAAQ,kBAAiB,YAAW,CAAC,GAC5E,mBAAoB,KAAa,kBA8CzC,OA5CA,MAAM,QAAQ,IACZ,EAAe,IAAI,MAAO,IAAU,CAClC,GAAI,IAAe,EAAa,QAAS,CACvC,IAAK,EAAiB,MAAM,IAAI,EAAa,mCAAmC,EAEhF,MAAM,EAAgB,QAAQ,CAAE,OAAQ,qBAAsB,CAAC,EAE/D,IAAM,EAAW,IAAI,EAAgB,EAAiB,KAAK,EAC3D,MAAM,EAAS,KAAK,sBAAuB,CAAC,CAAC,EAE7C,IAAM,EAAU,MADD,MAAM,EAAS,UAAU,GACX,WAAW,EAElC,EAAgB,MAAM,EAAqB,CAC/C,UACA,QACA,WACA,eAAgB,CAClB,CAAC,EAED,EAAS,IAAK,EAAe,UAAS,QAAO,YAAW,CAAC,EACzD,OAEF,IAAM,EAAiB,EAAiB,CAAU,EAElD,MAAM,EAAe,QAAQ,CAAE,OAAQ,qBAAsB,CAAC,EAE9D,IAAM,EAAe,IAAI,EAAgB,EAAgB,KAAK,EAExD,EAAU,MADD,MAAM,EAAa,UAAU,GACf,WAAW,EAElC,EAAgB,MAAM,EAAqB,CAC/C,UACA,QACA,eAAgB,EAAiB,CAAU,EAC3C,SAAU,CACZ,CAAC,EAKD,EAAS,IAAK,EAAe,UAAS,QAAO,WAH1B,IACjB,EAAa,KAAK,2BAA4B,CAAC,CAAE,aAAc,CAAC,CAAE,CAAC,CAAC,EAEb,YAAW,CAAC,EACtE,CACH,EAEO,GAEb,CAAC,EAEY,EAAkC,EAAyB,CAAS",
8
+ "debugId": "B73933FD026298B964756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,4 +1,4 @@
1
- var E={};b(E,{onekeyWallet:()=>f,ONEKEY_WALLET_SUPPORTED_CHAINS:()=>S});module.exports=h(E);var e=require("@swapkit/helpers"),y=require("@swapkit/wallet-core"),u=require("bitcoinjs-lib");async function A(t){switch(t){case e.Chain.Bitcoin:{if(!window.$onekey?.btc)throw new e.SwapKitError({errorKey:"wallet_onekey_not_found",info:{chain:t}});let{getUtxoToolbox:s}=await import("@swapkit/toolboxes/utxo"),{signTransaction:r,getAddress:d,AddressPurpose:o,BitcoinNetworkType:c}=await import("sats-connect"),n="",a=()=>new Promise((i)=>i(window.$onekey?.btc)),w={getProvider:a,payload:{purposes:[o.Payment],message:"Address for receiving and sending payments",network:{type:c.Mainnet}},onFinish:(i)=>{if(i.addresses[0]?.address)n=i.addresses[0].address},onCancel:()=>{throw new e.SwapKitError("wallet_connection_rejected_by_user")}};await d(w);async function p(i){let g,k={getProvider:a,payload:{message:"Sign transaction",network:{type:c.Mainnet},psbtBase64:i.toBase64(),broadcast:!1,inputsToSign:[{address:n,signingIndexes:i.txInputs.map((_,P)=>P)}]},onFinish:(_)=>{g=u.Psbt.fromBase64(_.psbtBase64)},onCancel:()=>{throw new e.SwapKitError("wallet_connection_rejected_by_user")}};if(await r(k),!g)throw new e.SwapKitError("wallet_onekey_sign_transaction_error");return g}return{...await s(t,{signer:{signTransaction:p,getAddress:()=>Promise.resolve(n)}}),address:n}}case e.Chain.Solana:{if(!window.$onekey?.sol)throw new e.SwapKitError({errorKey:"wallet_onekey_not_found",info:{chain:t}});let{getSolanaToolbox:s}=await import("@swapkit/toolboxes/solana"),r=window.$onekey.sol,d=await r.getAddress();return{...s({signer:r}),address:d}}case e.Chain.Arbitrum:case e.Chain.Aurora:case e.Chain.Avalanche:case e.Chain.Base:case e.Chain.BinanceSmartChain:case e.Chain.Ethereum:case e.Chain.Gnosis:case e.Chain.Optimism:case e.Chain.Polygon:{let{getProvider:s,getEvmToolbox:r}=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"),o=new d(window.$onekey.ethereum,"any"),c=e.SKConfig.get("rpcUrls")[t];await o.send("eth_requestAccounts",[]);let n=await s(t,c),a=await o.getSigner(),w=await a.getAddress(),p=await r(t,{provider:n,signer:a});try{if(t!==e.Chain.Ethereum){let m=p.getNetworkParams();await e.addEVMWalletNetwork(o,m)}}catch(m){throw new e.SwapKitError({errorKey:"wallet_failed_to_add_or_switch_network",info:{chain:t,error:m}})}return{address:w,...e.prepareNetworkSwitch({toolbox:p,chain:t,provider:o})}}default:throw new e.SwapKitError({errorKey:"wallet_chain_not_supported",info:{chain:t,wallet:e.WalletOption.ONEKEY}})}}var f=y.createWallet({name:"connectOnekeyWallet",walletType:e.WalletOption.ONEKEY,supportedChains:[e.Chain.Arbitrum,e.Chain.Aurora,e.Chain.Avalanche,e.Chain.Base,e.Chain.BinanceSmartChain,e.Chain.Bitcoin,e.Chain.Ethereum,e.Chain.Gnosis,e.Chain.Optimism,e.Chain.Polygon,e.Chain.Solana],connect:({addChain:t,walletType:s,supportedChains:r})=>async function d(o){if(!window.$onekey)throw new e.SwapKitError({errorKey:"wallet_onekey_not_found",info:{wallet:e.WalletOption.ONEKEY}});let c=e.filterSupportedChains({chains:o,supportedChains:r,walletType:s});return await Promise.all(c.map(async(n)=>{let a=await A(n),w=await a.getAddress()||"F";t({...a,chain:n,address:w,walletType:s})})),!0}}),S=y.getWalletSupportedChains(f);
1
+ var E={};P(E,{onekeyWallet:()=>u,ONEKEY_WALLET_SUPPORTED_CHAINS:()=>A});module.exports=h(E);var e=require("@swapkit/helpers"),m=require("@swapkit/wallet-core"),_=require("bitcoinjs-lib");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{getUtxoToolbox:s}=await import("@swapkit/toolboxes/utxo"),{signTransaction:r,getAddress:d,AddressPurpose:n,BitcoinNetworkType:w}=await import("sats-connect"),o="",a=()=>new Promise((i)=>i(window.$onekey?.btc)),c={getProvider:a,payload:{purposes:[n.Payment],message:"Address for receiving and sending payments",network:{type:w.Mainnet}},onFinish:(i)=>{if(i.addresses[0]?.address)o=i.addresses[0].address},onCancel:()=>{throw new e.SwapKitError("wallet_connection_rejected_by_user")}};await d(c);async function l(i){let y,f={getProvider:a,payload:{message:"Sign transaction",network:{type:w.Mainnet},psbtBase64:i.toBase64(),broadcast:!1,inputsToSign:[{address:o,signingIndexes:i.txInputs.map((g,k)=>k)}]},onFinish:(g)=>{y=_.Psbt.fromBase64(g.psbtBase64)},onCancel:()=>{throw new e.SwapKitError("wallet_connection_rejected_by_user")}};if(await r(f),!y)throw new e.SwapKitError("wallet_onekey_sign_transaction_error");return y}return{...await s(t,{signer:{signTransaction:l,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:s}=await import("@swapkit/toolboxes/solana"),r=window.$onekey.sol,d=await r.getAddress();return{...s({signer:r}),address:d}}case e.Chain.Arbitrum:case e.Chain.Aurora:case e.Chain.Avalanche:case e.Chain.Base:case e.Chain.BinanceSmartChain:case e.Chain.Ethereum:case e.Chain.Gnosis:case e.Chain.Optimism:case e.Chain.Polygon:{let{getProvider:s,getEvmToolbox:r}=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");await n.send("eth_requestAccounts",[]);let w=await s(t),o=await n.getSigner(),a=await o.getAddress(),c=await r(t,{provider:w,signer:o});try{if(t!==e.Chain.Ethereum){let l=c.getNetworkParams();await e.addEVMWalletNetwork(n,l)}}catch(l){throw new e.SwapKitError({errorKey:"wallet_failed_to_add_or_switch_network",info:{chain:t,error:l}})}return{address:a,...e.prepareNetworkSwitch({toolbox:c,chain:t,provider:n})}}default:throw new e.SwapKitError({errorKey:"wallet_chain_not_supported",info:{chain:t,wallet:e.WalletOption.ONEKEY}})}}var u=m.createWallet({name:"connectOnekeyWallet",walletType:e.WalletOption.ONEKEY,supportedChains:[e.Chain.Arbitrum,e.Chain.Aurora,e.Chain.Avalanche,e.Chain.Base,e.Chain.BinanceSmartChain,e.Chain.Bitcoin,e.Chain.Ethereum,e.Chain.Gnosis,e.Chain.Optimism,e.Chain.Polygon,e.Chain.Solana],connect:({addChain:t,walletType:s,supportedChains:r})=>async function d(n){if(!window.$onekey)throw new e.SwapKitError({errorKey:"wallet_onekey_not_found",info:{wallet:e.WalletOption.ONEKEY}});let w=e.filterSupportedChains({chains:n,supportedChains:r,walletType:s});return await Promise.all(w.map(async(o)=>{let a=await b(o),c=await a.getAddress()||"F";t({...a,chain:o,address:c,walletType:s})})),!0}}),A=m.getWalletSupportedChains(u);
2
2
 
3
- //# debugId=8486BCC822F842FA64756E2164756E21
3
+ //# debugId=20D4DA0E8072591364756E2164756E21
4
4
  //# sourceMappingURL=index.cjs.map
@@ -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 filterSupportedChains,\n prepareNetworkSwitch,\n} from \"@swapkit/helpers\";\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\nimport { Psbt } from \"bitcoinjs-lib\";\nimport type {\n BitcoinProvider,\n GetAddressOptions,\n GetAddressResponse,\n SignTransactionOptions,\n} from \"sats-connect\";\n\nasync function getWalletMethodsForExtension(chain: Chain) {\n switch (chain) {\n case Chain.Bitcoin: {\n if (!window.$onekey?.btc) {\n throw new SwapKitError({ errorKey: \"wallet_onekey_not_found\", info: { chain } });\n }\n\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 = () => new Promise<BitcoinProvider>((res) => res(window.$onekey?.btc));\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: Psbt) {\n let signedPsbt: Psbt | undefined;\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.Aurora:\n case Chain.Avalanche:\n case Chain.Base:\n case Chain.BinanceSmartChain:\n case Chain.Ethereum:\n case Chain.Gnosis:\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.Aurora,\n Chain.Avalanche,\n Chain.Base,\n Chain.BinanceSmartChain,\n Chain.Bitcoin,\n Chain.Ethereum,\n Chain.Gnosis,\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 SwapKitError,\n WalletOption,\n addEVMWalletNetwork,\n filterSupportedChains,\n prepareNetworkSwitch,\n} from \"@swapkit/helpers\";\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\nimport { Psbt } from \"bitcoinjs-lib\";\nimport type {\n BitcoinProvider,\n GetAddressOptions,\n GetAddressResponse,\n SignTransactionOptions,\n} from \"sats-connect\";\n\nasync function getWalletMethodsForExtension(chain: Chain) {\n switch (chain) {\n case Chain.Bitcoin: {\n if (!window.$onekey?.btc) {\n throw new SwapKitError({ errorKey: \"wallet_onekey_not_found\", info: { chain } });\n }\n\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 = () => new Promise<BitcoinProvider>((res) => res(window.$onekey?.btc));\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: Psbt) {\n let signedPsbt: Psbt | undefined;\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.Aurora:\n case Chain.Avalanche:\n case Chain.Base:\n case Chain.BinanceSmartChain:\n case Chain.Ethereum:\n case Chain.Gnosis:\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 await provider.send(\"eth_requestAccounts\", []);\n const jsonRpcProvider = await getProvider(chain);\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.Aurora,\n Chain.Avalanche,\n Chain.Base,\n Chain.BinanceSmartChain,\n Chain.Bitcoin,\n Chain.Ethereum,\n Chain.Gnosis,\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": "8486BCC822F842FA64756E2164756E21",
7
+ "mappings": "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",
8
+ "debugId": "20D4DA0E8072591364756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,4 +1,4 @@
1
- import{F as p,G as m}from"../../chunk-yqaz2d25.js";import{Chain as e,SKConfig as h,SwapKitError as s,WalletOption as u,addEVMWalletNetwork as b,filterSupportedChains as A,prepareNetworkSwitch as S}from"@swapkit/helpers";import{createWallet as E,getWalletSupportedChains as O}from"@swapkit/wallet-core";import{Psbt as x}from"bitcoinjs-lib";async function B(t){switch(t){case e.Bitcoin:{if(!window.$onekey?.btc)throw new s({errorKey:"wallet_onekey_not_found",info:{chain:t}});let{getUtxoToolbox:r}=await import("@swapkit/toolboxes/utxo"),{signTransaction:a,getAddress:c,AddressPurpose:o,BitcoinNetworkType:w}=await import("sats-connect"),n="",i=()=>new Promise((d)=>d(window.$onekey?.btc)),l={getProvider:i,payload:{purposes:[o.Payment],message:"Address for receiving and sending payments",network:{type:w.Mainnet}},onFinish:(d)=>{if(d.addresses[0]?.address)n=d.addresses[0].address},onCancel:()=>{throw new s("wallet_connection_rejected_by_user")}};await c(l);async function y(d){let _,k={getProvider:i,payload:{message:"Sign transaction",network:{type:w.Mainnet},psbtBase64:d.toBase64(),broadcast:!1,inputsToSign:[{address:n,signingIndexes:d.txInputs.map((f,P)=>P)}]},onFinish:(f)=>{_=x.fromBase64(f.psbtBase64)},onCancel:()=>{throw new s("wallet_connection_rejected_by_user")}};if(await a(k),!_)throw new s("wallet_onekey_sign_transaction_error");return _}return{...await r(t,{signer:{signTransaction:y,getAddress:()=>Promise.resolve(n)}}),address:n}}case e.Solana:{if(!window.$onekey?.sol)throw new s({errorKey:"wallet_onekey_not_found",info:{chain:t}});let{getSolanaToolbox:r}=await import("@swapkit/toolboxes/solana"),a=window.$onekey.sol,c=await a.getAddress();return{...r({signer:a}),address:c}}case e.Arbitrum:case e.Aurora:case e.Avalanche:case e.Base:case e.BinanceSmartChain:case e.Ethereum:case e.Gnosis:case e.Optimism:case e.Polygon:{let{getProvider:r,getEvmToolbox:a}=await import("@swapkit/toolboxes/evm");if(!window.$onekey?.ethereum)throw new s({errorKey:"wallet_onekey_not_found",info:{chain:t}});let{BrowserProvider:c}=await import("ethers"),o=new c(window.$onekey.ethereum,"any"),w=h.get("rpcUrls")[t];await o.send("eth_requestAccounts",[]);let n=await r(t,w),i=await o.getSigner(),l=await i.getAddress(),y=await a(t,{provider:n,signer:i});try{if(t!==e.Ethereum){let g=y.getNetworkParams();await b(o,g)}}catch(g){throw new s({errorKey:"wallet_failed_to_add_or_switch_network",info:{chain:t,error:g}})}return{address:l,...S({toolbox:y,chain:t,provider:o})}}default:throw new s({errorKey:"wallet_chain_not_supported",info:{chain:t,wallet:u.ONEKEY}})}}var v=E({name:"connectOnekeyWallet",walletType:u.ONEKEY,supportedChains:[e.Arbitrum,e.Aurora,e.Avalanche,e.Base,e.BinanceSmartChain,e.Bitcoin,e.Ethereum,e.Gnosis,e.Optimism,e.Polygon,e.Solana],connect:({addChain:t,walletType:r,supportedChains:a})=>async function c(o){if(!window.$onekey)throw new s({errorKey:"wallet_onekey_not_found",info:{wallet:u.ONEKEY}});let w=A({chains:o,supportedChains:a,walletType:r});return await Promise.all(w.map(async(n)=>{let i=await B(n),l=await i.getAddress()||"F";t({...i,chain:n,address:l,walletType:r})})),!0}}),W=O(v);export{v as onekeyWallet,W as ONEKEY_WALLET_SUPPORTED_CHAINS};
1
+ import{F as m,G as y}from"../../chunk-yqaz2d25.js";import{Chain as e,SwapKitError as s,WalletOption as _,addEVMWalletNetwork as h,filterSupportedChains as P,prepareNetworkSwitch as b}from"@swapkit/helpers";import{createWallet as A,getWalletSupportedChains as E}from"@swapkit/wallet-core";import{Psbt as S}from"bitcoinjs-lib";async function O(t){switch(t){case e.Bitcoin:{if(!window.$onekey?.btc)throw new s({errorKey:"wallet_onekey_not_found",info:{chain:t}});let{getUtxoToolbox:r}=await import("@swapkit/toolboxes/utxo"),{signTransaction:a,getAddress:w,AddressPurpose:n,BitcoinNetworkType:c}=await import("sats-connect"),o="",i=()=>new Promise((d)=>d(window.$onekey?.btc)),l={getProvider:i,payload:{purposes:[n.Payment],message:"Address for receiving and sending payments",network:{type:c.Mainnet}},onFinish:(d)=>{if(d.addresses[0]?.address)o=d.addresses[0].address},onCancel:()=>{throw new s("wallet_connection_rejected_by_user")}};await w(l);async function p(d){let g,f={getProvider:i,payload:{message:"Sign transaction",network:{type:c.Mainnet},psbtBase64:d.toBase64(),broadcast:!1,inputsToSign:[{address:o,signingIndexes:d.txInputs.map((u,k)=>k)}]},onFinish:(u)=>{g=S.fromBase64(u.psbtBase64)},onCancel:()=>{throw new s("wallet_connection_rejected_by_user")}};if(await a(f),!g)throw new s("wallet_onekey_sign_transaction_error");return g}return{...await r(t,{signer:{signTransaction:p,getAddress:()=>Promise.resolve(o)}}),address:o}}case e.Solana:{if(!window.$onekey?.sol)throw new s({errorKey:"wallet_onekey_not_found",info:{chain:t}});let{getSolanaToolbox:r}=await import("@swapkit/toolboxes/solana"),a=window.$onekey.sol,w=await a.getAddress();return{...r({signer:a}),address:w}}case e.Arbitrum:case e.Aurora:case e.Avalanche:case e.Base:case e.BinanceSmartChain:case e.Ethereum:case e.Gnosis:case e.Optimism:case e.Polygon:{let{getProvider:r,getEvmToolbox:a}=await import("@swapkit/toolboxes/evm");if(!window.$onekey?.ethereum)throw new s({errorKey:"wallet_onekey_not_found",info:{chain:t}});let{BrowserProvider:w}=await import("ethers"),n=new w(window.$onekey.ethereum,"any");await n.send("eth_requestAccounts",[]);let c=await r(t),o=await n.getSigner(),i=await o.getAddress(),l=await a(t,{provider:c,signer:o});try{if(t!==e.Ethereum){let p=l.getNetworkParams();await h(n,p)}}catch(p){throw new s({errorKey:"wallet_failed_to_add_or_switch_network",info:{chain:t,error:p}})}return{address:i,...b({toolbox:l,chain:t,provider:n})}}default:throw new s({errorKey:"wallet_chain_not_supported",info:{chain:t,wallet:_.ONEKEY}})}}var x=A({name:"connectOnekeyWallet",walletType:_.ONEKEY,supportedChains:[e.Arbitrum,e.Aurora,e.Avalanche,e.Base,e.BinanceSmartChain,e.Bitcoin,e.Ethereum,e.Gnosis,e.Optimism,e.Polygon,e.Solana],connect:({addChain:t,walletType:r,supportedChains:a})=>async function w(n){if(!window.$onekey)throw new s({errorKey:"wallet_onekey_not_found",info:{wallet:_.ONEKEY}});let c=P({chains:n,supportedChains:a,walletType:r});return await Promise.all(c.map(async(o)=>{let i=await O(o),l=await i.getAddress()||"F";t({...i,chain:o,address:l,walletType:r})})),!0}}),N=E(x);export{x as onekeyWallet,N as ONEKEY_WALLET_SUPPORTED_CHAINS};
2
2
 
3
- //# debugId=217089A86AB8EC4564756E2164756E21
3
+ //# debugId=F734C079BA9BC19064756E2164756E21
4
4
  //# sourceMappingURL=index.js.map
@@ -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 filterSupportedChains,\n prepareNetworkSwitch,\n} from \"@swapkit/helpers\";\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\nimport { Psbt } from \"bitcoinjs-lib\";\nimport type {\n BitcoinProvider,\n GetAddressOptions,\n GetAddressResponse,\n SignTransactionOptions,\n} from \"sats-connect\";\n\nasync function getWalletMethodsForExtension(chain: Chain) {\n switch (chain) {\n case Chain.Bitcoin: {\n if (!window.$onekey?.btc) {\n throw new SwapKitError({ errorKey: \"wallet_onekey_not_found\", info: { chain } });\n }\n\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 = () => new Promise<BitcoinProvider>((res) => res(window.$onekey?.btc));\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: Psbt) {\n let signedPsbt: Psbt | undefined;\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.Aurora:\n case Chain.Avalanche:\n case Chain.Base:\n case Chain.BinanceSmartChain:\n case Chain.Ethereum:\n case Chain.Gnosis:\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.Aurora,\n Chain.Avalanche,\n Chain.Base,\n Chain.BinanceSmartChain,\n Chain.Bitcoin,\n Chain.Ethereum,\n Chain.Gnosis,\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 SwapKitError,\n WalletOption,\n addEVMWalletNetwork,\n filterSupportedChains,\n prepareNetworkSwitch,\n} from \"@swapkit/helpers\";\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\nimport { Psbt } from \"bitcoinjs-lib\";\nimport type {\n BitcoinProvider,\n GetAddressOptions,\n GetAddressResponse,\n SignTransactionOptions,\n} from \"sats-connect\";\n\nasync function getWalletMethodsForExtension(chain: Chain) {\n switch (chain) {\n case Chain.Bitcoin: {\n if (!window.$onekey?.btc) {\n throw new SwapKitError({ errorKey: \"wallet_onekey_not_found\", info: { chain } });\n }\n\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 = () => new Promise<BitcoinProvider>((res) => res(window.$onekey?.btc));\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: Psbt) {\n let signedPsbt: Psbt | undefined;\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.Aurora:\n case Chain.Avalanche:\n case Chain.Base:\n case Chain.BinanceSmartChain:\n case Chain.Ethereum:\n case Chain.Gnosis:\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 await provider.send(\"eth_requestAccounts\", []);\n const jsonRpcProvider = await getProvider(chain);\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.Aurora,\n Chain.Avalanche,\n Chain.Base,\n Chain.BinanceSmartChain,\n Chain.Bitcoin,\n Chain.Ethereum,\n Chain.Gnosis,\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": "217089A86AB8EC4564756E2164756E21",
7
+ "mappings": "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",
8
+ "debugId": "F734C079BA9BC19064756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,4 +1,4 @@
1
- var $={};Y($,{xamanWallet:()=>B,XAMAN_SUPPORTED_CHAINS:()=>Z});module.exports=Q($);var y=require("@swapkit/helpers"),H=require("@swapkit/wallet-core"),q=require("xumm");var M=require("@swapkit/helpers");var A=require("@swapkit/helpers"),T=async(f)=>{if(!f)throw new A.SwapKitError("wallet_xaman_not_configured");try{let o=await(await f.user)?.account;if(o)return o;throw new A.SwapKitError("wallet_xaman_auth_failed")}catch(n){throw console.error("Xaman wallet connection failed:",n),new A.SwapKitError("wallet_xaman_connection_failed")}},z=async(f,n)=>{try{if(!(n.destination&&n.amount&&n.from))throw new A.SwapKitError("wallet_xaman_connection_failed");let o=(Number.parseFloat(n.amount)*1e6).toString(),O={TransactionType:"Payment",Destination:n.destination,Amount:o,Account:n.from,...n.destinationTag!==void 0&&{DestinationTag:n.destinationTag},...n.memo&&{Memos:[{Memo:{MemoData:Buffer.from(n.memo,"utf8").toString("hex").toUpperCase()}}]}},W=await f.payload?.createAndSubscribe(O,(g)=>{if("signed"in g.data)return g.data;return});if(!W)throw new A.SwapKitError("wallet_xaman_transaction_failed");let{created:C}=W;if(f.runtime?.xapp)f.xapp?.openSignRequest(C);else if(typeof window!=="undefined"){let g=C.pushed&&C.next?.no_push_msg_received?C.next.no_push_msg_received:C.next?.always;if(g)window.open(g)}let t=await W.resolved;if(!t||typeof t!=="object"||!("signed"in t)||!t.signed)throw new A.SwapKitError("wallet_xaman_transaction_failed");let _=await f.payload?.get(t.payload_uuidv4);if(!_)throw new A.SwapKitError("wallet_xaman_monitoring_failed");let l=_.response?.txid||"",X=_.response?.account||"";if(!l)throw new A.SwapKitError("wallet_xaman_transaction_failed");return{payloadId:C.uuid||"",qrCode:C.refs?.qr_png||"",deepLink:C.next?.always||"",websocketUrl:C.refs?.websocket_status||"",result:{success:!0,transactionId:l,account:X,reason:void 0}}}catch(o){if(console.error("Xaman payment creation and subscription failed:",o),o instanceof A.SwapKitError)throw o;throw new A.SwapKitError("wallet_xaman_transaction_failed")}};async function U({xumm:f,chain:n,address:o,rpcUrl:O}){switch(n){case M.Chain.Ripple:{let{getRippleToolbox:W}=await import("@swapkit/toolboxes/ripple");return{...await W({rpcUrl:O}),address:o,getAddress:()=>o,transfer:async(_)=>{let{recipient:l,assetValue:X,memo:g}=_,N=await z(f,{from:o,destination:l,amount:X.getValue("string"),memo:g});if(!(N.result.success&&N.result.transactionId))throw new M.SwapKitError("wallet_xaman_transaction_failed");return N.result.transactionId},createAndSubscribePayment:z,disconnect:f.logout}}default:throw new M.SwapKitError("wallet_chain_not_supported",{wallet:"Xaman",chain:n})}}var B=H.createWallet({name:"connectXaman",walletType:y.WalletOption.XAMAN,supportedChains:[y.Chain.Ripple],connect:({addChain:f,supportedChains:n,walletType:o})=>async function O(W,C){let t=y.filterSupportedChains({chains:W,supportedChains:n,walletType:o}),{xaman:_}=y.SKConfig.get("apiKeys"),l=C?.apiKey||_;if(!l)throw new y.SwapKitError("wallet_missing_api_key",{wallet:"Xaman"});let X=new q.Xumm(l);return new Promise((g,N)=>{X.on("success",async()=>{try{let P=await T(X),F=t.map(async(h)=>{let G=y.SKConfig.get("rpcUrls")[h],J=await U({xumm:X,chain:h,address:P,rpcUrl:G});f({...J,chain:h,balance:[],walletType:y.WalletOption.XAMAN,address:P,disconnect:X.logout})});await Promise.all(F),g(!0)}catch(P){N(P)}}),X.on("error",(P)=>{N(P)}),X.authorize()})}}),Z=H.getWalletSupportedChains(B);
1
+ var Z={};Q(Z,{xamanWallet:()=>B,XAMAN_SUPPORTED_CHAINS:()=>Y});module.exports=L(Z);var X=require("@swapkit/helpers"),O=require("@swapkit/wallet-core"),q=require("xumm");var P=require("@swapkit/helpers");var A=require("@swapkit/helpers"),T=async(f)=>{if(!f)throw new A.SwapKitError("wallet_xaman_not_configured");try{let o=await(await f.user)?.account;if(o)return o;throw new A.SwapKitError("wallet_xaman_auth_failed")}catch(n){throw console.error("Xaman wallet connection failed:",n),new A.SwapKitError("wallet_xaman_connection_failed")}},h=async(f,n)=>{try{if(!(n.destination&&n.amount&&n.from))throw new A.SwapKitError("wallet_xaman_connection_failed");let o=(Number.parseFloat(n.amount)*1e6).toString(),M={TransactionType:"Payment",Destination:n.destination,Amount:o,Account:n.from,...n.destinationTag!==void 0&&{DestinationTag:n.destinationTag},...n.memo&&{Memos:[{Memo:{MemoData:Buffer.from(n.memo,"utf8").toString("hex").toUpperCase()}}]}},t=await f.payload?.createAndSubscribe(M,(y)=>{if("signed"in y.data)return y.data;return});if(!t)throw new A.SwapKitError("wallet_xaman_transaction_failed");let{created:C}=t;if(f.runtime?.xapp)f.xapp?.openSignRequest(C);else if(typeof window!=="undefined"){let y=C.pushed&&C.next?.no_push_msg_received?C.next.no_push_msg_received:C.next?.always;if(y)window.open(y)}let W=await t.resolved;if(!W||typeof W!=="object"||!("signed"in W)||!W.signed)throw new A.SwapKitError("wallet_xaman_transaction_failed");let _=await f.payload?.get(W.payload_uuidv4);if(!_)throw new A.SwapKitError("wallet_xaman_monitoring_failed");let l=_.response?.txid||"",g=_.response?.account||"";if(!l)throw new A.SwapKitError("wallet_xaman_transaction_failed");return{payloadId:C.uuid||"",qrCode:C.refs?.qr_png||"",deepLink:C.next?.always||"",websocketUrl:C.refs?.websocket_status||"",result:{success:!0,transactionId:l,account:g,reason:void 0}}}catch(o){if(console.error("Xaman payment creation and subscription failed:",o),o instanceof A.SwapKitError)throw o;throw new A.SwapKitError("wallet_xaman_transaction_failed")}};async function U({xumm:f,chain:n,address:o}){switch(n){case P.Chain.Ripple:{let{getRippleToolbox:M}=await import("@swapkit/toolboxes/ripple");return{...await M({}),address:o,getAddress:()=>o,transfer:async(W)=>{let{recipient:_,assetValue:l,memo:g}=W,y=await h(f,{from:o,destination:_,amount:l.getValue("string"),memo:g});if(!(y.result.success&&y.result.transactionId))throw new P.SwapKitError("wallet_xaman_transaction_failed");return y.result.transactionId},createAndSubscribePayment:h,disconnect:f.logout}}default:throw new P.SwapKitError("wallet_chain_not_supported",{wallet:"Xaman",chain:n})}}var B=O.createWallet({name:"connectXaman",walletType:X.WalletOption.XAMAN,supportedChains:[X.Chain.Ripple],connect:({addChain:f,supportedChains:n,walletType:o})=>async function M(t,C){let W=X.filterSupportedChains({chains:t,supportedChains:n,walletType:o}),{xaman:_}=X.SKConfig.get("apiKeys"),l=C?.apiKey||_;if(!l)throw new X.SwapKitError("wallet_missing_api_key",{wallet:"Xaman"});let g=new q.Xumm(l);return new Promise((y,H)=>{g.on("success",async()=>{try{let N=await T(g),F=W.map(async(z)=>{let G=await U({xumm:g,chain:z,address:N});f({...G,chain:z,balance:[],walletType:X.WalletOption.XAMAN,address:N,disconnect:g.logout})});await Promise.all(F),y(!0)}catch(N){H(N)}}),g.on("error",(N)=>{H(N)}),g.authorize()})}}),Y=O.getWalletSupportedChains(B);
2
2
 
3
- //# debugId=AD81BBF097105CAA64756E2164756E21
3
+ //# debugId=398E1F6C97AF0A0B64756E2164756E21
4
4
  //# sourceMappingURL=index.cjs.map
@@ -2,11 +2,11 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/xaman/index.ts", "../src/xaman/helpers.ts", "../src/xaman/walletMethods.ts"],
4
4
  "sourcesContent": [
5
- "import {\n Chain,\n SKConfig,\n SwapKitError,\n WalletOption,\n filterSupportedChains,\n} from \"@swapkit/helpers\";\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\nimport { Xumm } from \"xumm\";\nimport { getWalletForChain } from \"./helpers\";\nimport type { XamanConfig } from \"./types\";\nimport { connectXamanWallet as connectXamanWalletMethod } from \"./walletMethods\";\n\nexport const xamanWallet = createWallet({\n name: \"connectXaman\",\n walletType: WalletOption.XAMAN,\n supportedChains: [Chain.Ripple],\n connect: ({ addChain, supportedChains: walletSupportedChains, walletType }) =>\n async function connectXamanWallet(chains: Chain[], xamanConfigOverwrite?: XamanConfig) {\n const supportedChains = filterSupportedChains({\n chains,\n supportedChains: walletSupportedChains,\n walletType,\n });\n\n const { xaman: xamanApiKey } = SKConfig.get(\"apiKeys\");\n const apiKey = xamanConfigOverwrite?.apiKey || xamanApiKey;\n\n if (!apiKey) {\n throw new SwapKitError(\"wallet_missing_api_key\", { wallet: \"Xaman\" });\n }\n\n const xumm = new Xumm(apiKey);\n\n return new Promise<boolean>((resolve, reject) => {\n xumm.on(\"success\", async () => {\n try {\n const address = await connectXamanWalletMethod(xumm);\n\n const promises = supportedChains.map(async (chain) => {\n const rpcUrl = SKConfig.get(\"rpcUrls\")[chain];\n const walletMethods = await getWalletForChain({\n xumm,\n chain,\n address,\n rpcUrl,\n });\n\n addChain({\n ...walletMethods,\n chain,\n balance: [],\n walletType: WalletOption.XAMAN,\n address,\n disconnect: xumm.logout,\n });\n });\n\n await Promise.all(promises);\n resolve(true);\n } catch (error) {\n reject(error);\n }\n });\n\n xumm.on(\"error\", (error) => {\n reject(error);\n });\n\n xumm.authorize();\n });\n },\n});\n\nexport const XAMAN_SUPPORTED_CHAINS = getWalletSupportedChains(xamanWallet);\nexport type XamanSupportedChain = (typeof XAMAN_SUPPORTED_CHAINS)[number];\n\nexport type { XamanConfig } from \"./types\";\n",
6
- "import { type AssetValue, Chain, SwapKitError } from \"@swapkit/helpers\";\nimport type { Xumm } from \"xumm\";\nimport { sendXamanTransaction } from \"./walletMethods\";\n\ninterface GetWalletForChainParams {\n chain: Chain;\n address: string;\n rpcUrl?: string;\n xumm: Xumm;\n}\n\nexport async function getWalletForChain({ xumm, chain, address, rpcUrl }: GetWalletForChainParams) {\n switch (chain) {\n case Chain.Ripple: {\n const { getRippleToolbox } = await import(\"@swapkit/toolboxes/ripple\");\n\n // const api = apis?.[chain]; // Unused for now\n const toolbox = await getRippleToolbox({ rpcUrl });\n\n // Override transfer method to use Xaman transaction flow\n const transfer = async (params: {\n assetValue: AssetValue;\n recipient: string;\n memo?: string;\n }) => {\n const { recipient, assetValue, memo } = params;\n\n // Create and subscribe to payment via Xaman\n const paymentResult = await sendXamanTransaction(xumm, {\n from: address,\n destination: recipient,\n amount: assetValue.getValue(\"string\"),\n memo: memo,\n });\n\n // If not successful or no transaction ID, throw error\n if (!(paymentResult.result.success && paymentResult.result.transactionId)) {\n throw new SwapKitError(\"wallet_xaman_transaction_failed\");\n }\n\n // Return the transaction ID string\n return paymentResult.result.transactionId;\n };\n\n return {\n ...toolbox,\n address,\n getAddress: () => address,\n transfer,\n // Expose Xaman-specific methods\n createAndSubscribePayment: sendXamanTransaction,\n disconnect: xumm.logout,\n };\n }\n\n default:\n throw new SwapKitError(\"wallet_chain_not_supported\", { wallet: \"Xaman\", chain });\n }\n}\n",
5
+ "import {\n Chain,\n SKConfig,\n SwapKitError,\n WalletOption,\n filterSupportedChains,\n} from \"@swapkit/helpers\";\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\nimport { Xumm } from \"xumm\";\nimport { getWalletForChain } from \"./helpers\";\nimport type { XamanConfig } from \"./types\";\nimport { connectXamanWallet as connectXamanWalletMethod } from \"./walletMethods\";\n\nexport const xamanWallet = createWallet({\n name: \"connectXaman\",\n walletType: WalletOption.XAMAN,\n supportedChains: [Chain.Ripple],\n connect: ({ addChain, supportedChains: walletSupportedChains, walletType }) =>\n async function connectXamanWallet(chains: Chain[], xamanConfigOverwrite?: XamanConfig) {\n const supportedChains = filterSupportedChains({\n chains,\n supportedChains: walletSupportedChains,\n walletType,\n });\n\n const { xaman: xamanApiKey } = SKConfig.get(\"apiKeys\");\n const apiKey = xamanConfigOverwrite?.apiKey || xamanApiKey;\n\n if (!apiKey) {\n throw new SwapKitError(\"wallet_missing_api_key\", { wallet: \"Xaman\" });\n }\n\n const xumm = new Xumm(apiKey);\n\n return new Promise<boolean>((resolve, reject) => {\n xumm.on(\"success\", async () => {\n try {\n const address = await connectXamanWalletMethod(xumm);\n\n const promises = supportedChains.map(async (chain) => {\n const walletMethods = await getWalletForChain({\n xumm,\n chain,\n address,\n });\n\n addChain({\n ...walletMethods,\n chain,\n balance: [],\n walletType: WalletOption.XAMAN,\n address,\n disconnect: xumm.logout,\n });\n });\n\n await Promise.all(promises);\n resolve(true);\n } catch (error) {\n reject(error);\n }\n });\n\n xumm.on(\"error\", (error) => {\n reject(error);\n });\n\n xumm.authorize();\n });\n },\n});\n\nexport const XAMAN_SUPPORTED_CHAINS = getWalletSupportedChains(xamanWallet);\nexport type XamanSupportedChain = (typeof XAMAN_SUPPORTED_CHAINS)[number];\n\nexport type { XamanConfig } from \"./types\";\n",
6
+ "import { type AssetValue, Chain, SwapKitError } from \"@swapkit/helpers\";\nimport type { Xumm } from \"xumm\";\nimport { sendXamanTransaction } from \"./walletMethods\";\n\ninterface GetWalletForChainParams {\n chain: Chain;\n address: string;\n xumm: Xumm;\n}\n\nexport async function getWalletForChain({ xumm, chain, address }: GetWalletForChainParams) {\n switch (chain) {\n case Chain.Ripple: {\n const { getRippleToolbox } = await import(\"@swapkit/toolboxes/ripple\");\n\n // const api = apis?.[chain]; // Unused for now\n const toolbox = await getRippleToolbox({});\n\n // Override transfer method to use Xaman transaction flow\n const transfer = async (params: {\n assetValue: AssetValue;\n recipient: string;\n memo?: string;\n }) => {\n const { recipient, assetValue, memo } = params;\n\n // Create and subscribe to payment via Xaman\n const paymentResult = await sendXamanTransaction(xumm, {\n from: address,\n destination: recipient,\n amount: assetValue.getValue(\"string\"),\n memo: memo,\n });\n\n // If not successful or no transaction ID, throw error\n if (!(paymentResult.result.success && paymentResult.result.transactionId)) {\n throw new SwapKitError(\"wallet_xaman_transaction_failed\");\n }\n\n // Return the transaction ID string\n return paymentResult.result.transactionId;\n };\n\n return {\n ...toolbox,\n address,\n getAddress: () => address,\n transfer,\n // Expose Xaman-specific methods\n createAndSubscribePayment: sendXamanTransaction,\n disconnect: xumm.logout,\n };\n }\n\n default:\n throw new SwapKitError(\"wallet_chain_not_supported\", { wallet: \"Xaman\", chain });\n }\n}\n",
7
7
  "import { SwapKitError } from \"@swapkit/helpers\";\nimport type { Xumm } from \"xumm\";\nimport type { XamanPaymentParams } from \"./types\";\n\nexport const connectXamanWallet = async (xumm: Xumm) => {\n if (!xumm) {\n throw new SwapKitError(\"wallet_xaman_not_configured\");\n }\n\n try {\n const user = await xumm.user;\n const account = await user?.account;\n\n if (account) {\n return account;\n }\n\n throw new SwapKitError(\"wallet_xaman_auth_failed\");\n } catch (error) {\n console.error(\"Xaman wallet connection failed:\", error);\n throw new SwapKitError(\"wallet_xaman_connection_failed\");\n }\n};\n\n// biome-ignore lint/complexity/noExcessiveCognitiveComplexity: might need refactoring later\nexport const sendXamanTransaction = async (xumm: Xumm, params: XamanPaymentParams) => {\n try {\n // Validate required parameters\n if (!(params.destination && params.amount && params.from)) {\n throw new SwapKitError(\"wallet_xaman_connection_failed\");\n }\n\n // Convert XRP to drops (1 XRP = 1,000,000 drops)\n const amountInDrops = (Number.parseFloat(params.amount) * 1000000).toString();\n\n // Create transaction object\n const transaction = {\n TransactionType: \"Payment\" as const,\n Destination: params.destination,\n Amount: amountInDrops,\n Account: params.from,\n ...(params.destinationTag !== undefined && {\n DestinationTag: params.destinationTag,\n }),\n ...(params.memo && {\n Memos: [\n {\n Memo: {\n MemoData: Buffer.from(params.memo, \"utf8\").toString(\"hex\").toUpperCase(),\n },\n },\n ],\n }),\n };\n\n // Create and subscribe to payload following the official example\n const subscription = await xumm.payload?.createAndSubscribe(transaction, (event) => {\n if (\"signed\" in event.data) {\n // Return event.data to close subscription and resolve promise\n return event.data; // { signed: true|false, payload_uuidv4: '...' }\n }\n return undefined;\n });\n\n if (!subscription) {\n throw new SwapKitError(\"wallet_xaman_transaction_failed\");\n }\n\n const { created } = subscription;\n\n // Handle payload presentation based on runtime environment\n if (xumm.runtime?.xapp) {\n xumm.xapp?.openSignRequest(created);\n } else if (typeof window !== \"undefined\") {\n const url =\n created.pushed && created.next?.no_push_msg_received\n ? created.next.no_push_msg_received\n : created.next?.always;\n if (url) window.open(url);\n }\n\n // Wait until the user signed/rejected\n const resolved = await subscription.resolved;\n\n if (!resolved || typeof resolved !== \"object\" || !(\"signed\" in resolved) || !resolved.signed) {\n throw new SwapKitError(\"wallet_xaman_transaction_failed\");\n }\n\n // Fetch the full payload result using the UUID from resolved data\n const payloadDetails = await xumm.payload?.get((resolved as any).payload_uuidv4);\n\n if (!payloadDetails) {\n throw new SwapKitError(\"wallet_xaman_monitoring_failed\");\n }\n\n // Extract transaction ID from response\n const transactionId = payloadDetails.response?.txid || \"\";\n const account = payloadDetails.response?.account || \"\";\n\n if (!transactionId) {\n throw new SwapKitError(\"wallet_xaman_transaction_failed\");\n }\n\n // Return comprehensive result\n return {\n // Initial payload info for QR codes, deep links, etc.\n payloadId: created.uuid || \"\",\n qrCode: created.refs?.qr_png || \"\",\n deepLink: created.next?.always || \"\",\n websocketUrl: created.refs?.websocket_status || \"\",\n // Final transaction result - SUCCESS with tx hash\n result: {\n success: true,\n transactionId,\n account,\n reason: undefined,\n },\n };\n } catch (error) {\n console.error(\"Xaman payment creation and subscription failed:\", error);\n if (error instanceof SwapKitError) {\n throw error;\n }\n throw new SwapKitError(\"wallet_xaman_transaction_failed\");\n }\n};\n"
8
8
  ],
9
- "mappings": "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",
10
- "debugId": "AD81BBF097105CAA64756E2164756E21",
9
+ "mappings": "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",
10
+ "debugId": "398E1F6C97AF0A0B64756E2164756E21",
11
11
  "names": []
12
12
  }
@@ -1,4 +1,4 @@
1
- import{F as G,G as J}from"../../chunk-yqaz2d25.js";import{Chain as Q,SKConfig as T,SwapKitError as Y,WalletOption as U,filterSupportedChains as Z}from"@swapkit/helpers";import{createWallet as $,getWalletSupportedChains as j}from"@swapkit/wallet-core";import{Xumm as I}from"xumm";import{Chain as L,SwapKitError as h}from"@swapkit/helpers";import{SwapKitError as A}from"@swapkit/helpers";var H=async(f)=>{if(!f)throw new A("wallet_xaman_not_configured");try{let o=await(await f.user)?.account;if(o)return o;throw new A("wallet_xaman_auth_failed")}catch(n){throw console.error("Xaman wallet connection failed:",n),new A("wallet_xaman_connection_failed")}},O=async(f,n)=>{try{if(!(n.destination&&n.amount&&n.from))throw new A("wallet_xaman_connection_failed");let o=(Number.parseFloat(n.amount)*1e6).toString(),P={TransactionType:"Payment",Destination:n.destination,Amount:o,Account:n.from,...n.destinationTag!==void 0&&{DestinationTag:n.destinationTag},...n.memo&&{Memos:[{Memo:{MemoData:Buffer.from(n.memo,"utf8").toString("hex").toUpperCase()}}]}},t=await f.payload?.createAndSubscribe(P,(X)=>{if("signed"in X.data)return X.data;return});if(!t)throw new A("wallet_xaman_transaction_failed");let{created:C}=t;if(f.runtime?.xapp)f.xapp?.openSignRequest(C);else if(typeof window!=="undefined"){let X=C.pushed&&C.next?.no_push_msg_received?C.next.no_push_msg_received:C.next?.always;if(X)window.open(X)}let g=await t.resolved;if(!g||typeof g!=="object"||!("signed"in g)||!g.signed)throw new A("wallet_xaman_transaction_failed");let W=await f.payload?.get(g.payload_uuidv4);if(!W)throw new A("wallet_xaman_monitoring_failed");let _=W.response?.txid||"",y=W.response?.account||"";if(!_)throw new A("wallet_xaman_transaction_failed");return{payloadId:C.uuid||"",qrCode:C.refs?.qr_png||"",deepLink:C.next?.always||"",websocketUrl:C.refs?.websocket_status||"",result:{success:!0,transactionId:_,account:y,reason:void 0}}}catch(o){if(console.error("Xaman payment creation and subscription failed:",o),o instanceof A)throw o;throw new A("wallet_xaman_transaction_failed")}};async function z({xumm:f,chain:n,address:o,rpcUrl:P}){switch(n){case L.Ripple:{let{getRippleToolbox:t}=await import("@swapkit/toolboxes/ripple");return{...await t({rpcUrl:P}),address:o,getAddress:()=>o,transfer:async(W)=>{let{recipient:_,assetValue:y,memo:X}=W,l=await O(f,{from:o,destination:_,amount:y.getValue("string"),memo:X});if(!(l.result.success&&l.result.transactionId))throw new h("wallet_xaman_transaction_failed");return l.result.transactionId},createAndSubscribePayment:O,disconnect:f.logout}}default:throw new h("wallet_chain_not_supported",{wallet:"Xaman",chain:n})}}var R=$({name:"connectXaman",walletType:U.XAMAN,supportedChains:[Q.Ripple],connect:({addChain:f,supportedChains:n,walletType:o})=>async function P(t,C){let g=Z({chains:t,supportedChains:n,walletType:o}),{xaman:W}=T.get("apiKeys"),_=C?.apiKey||W;if(!_)throw new Y("wallet_missing_api_key",{wallet:"Xaman"});let y=new I(_);return new Promise((X,l)=>{y.on("success",async()=>{try{let N=await H(y),q=g.map(async(M)=>{let B=T.get("rpcUrls")[M],F=await z({xumm:y,chain:M,address:N,rpcUrl:B});f({...F,chain:M,balance:[],walletType:U.XAMAN,address:N,disconnect:y.logout})});await Promise.all(q),X(!0)}catch(N){l(N)}}),y.on("error",(N)=>{l(N)}),y.authorize()})}}),v=j(R);export{R as xamanWallet,v as XAMAN_SUPPORTED_CHAINS};
1
+ import{F as B,G as F}from"../../chunk-yqaz2d25.js";import{Chain as J,SKConfig as L,SwapKitError as Q,WalletOption as T,filterSupportedChains as Y}from"@swapkit/helpers";import{createWallet as Z,getWalletSupportedChains as $}from"@swapkit/wallet-core";import{Xumm as j}from"xumm";import{Chain as G,SwapKitError as H}from"@swapkit/helpers";import{SwapKitError as X}from"@swapkit/helpers";var h=async(f)=>{if(!f)throw new X("wallet_xaman_not_configured");try{let o=await(await f.user)?.account;if(o)return o;throw new X("wallet_xaman_auth_failed")}catch(n){throw console.error("Xaman wallet connection failed:",n),new X("wallet_xaman_connection_failed")}},P=async(f,n)=>{try{if(!(n.destination&&n.amount&&n.from))throw new X("wallet_xaman_connection_failed");let o=(Number.parseFloat(n.amount)*1e6).toString(),N={TransactionType:"Payment",Destination:n.destination,Amount:o,Account:n.from,...n.destinationTag!==void 0&&{DestinationTag:n.destinationTag},...n.memo&&{Memos:[{Memo:{MemoData:Buffer.from(n.memo,"utf8").toString("hex").toUpperCase()}}]}},l=await f.payload?.createAndSubscribe(N,(y)=>{if("signed"in y.data)return y.data;return});if(!l)throw new X("wallet_xaman_transaction_failed");let{created:C}=l;if(f.runtime?.xapp)f.xapp?.openSignRequest(C);else if(typeof window!=="undefined"){let y=C.pushed&&C.next?.no_push_msg_received?C.next.no_push_msg_received:C.next?.always;if(y)window.open(y)}let g=await l.resolved;if(!g||typeof g!=="object"||!("signed"in g)||!g.signed)throw new X("wallet_xaman_transaction_failed");let W=await f.payload?.get(g.payload_uuidv4);if(!W)throw new X("wallet_xaman_monitoring_failed");let _=W.response?.txid||"",A=W.response?.account||"";if(!_)throw new X("wallet_xaman_transaction_failed");return{payloadId:C.uuid||"",qrCode:C.refs?.qr_png||"",deepLink:C.next?.always||"",websocketUrl:C.refs?.websocket_status||"",result:{success:!0,transactionId:_,account:A,reason:void 0}}}catch(o){if(console.error("Xaman payment creation and subscription failed:",o),o instanceof X)throw o;throw new X("wallet_xaman_transaction_failed")}};async function z({xumm:f,chain:n,address:o}){switch(n){case G.Ripple:{let{getRippleToolbox:N}=await import("@swapkit/toolboxes/ripple");return{...await N({}),address:o,getAddress:()=>o,transfer:async(g)=>{let{recipient:W,assetValue:_,memo:A}=g,y=await P(f,{from:o,destination:W,amount:_.getValue("string"),memo:A});if(!(y.result.success&&y.result.transactionId))throw new H("wallet_xaman_transaction_failed");return y.result.transactionId},createAndSubscribePayment:P,disconnect:f.logout}}default:throw new H("wallet_chain_not_supported",{wallet:"Xaman",chain:n})}}var I=Z({name:"connectXaman",walletType:T.XAMAN,supportedChains:[J.Ripple],connect:({addChain:f,supportedChains:n,walletType:o})=>async function N(l,C){let g=Y({chains:l,supportedChains:n,walletType:o}),{xaman:W}=L.get("apiKeys"),_=C?.apiKey||W;if(!_)throw new Q("wallet_missing_api_key",{wallet:"Xaman"});let A=new j(_);return new Promise((y,M)=>{A.on("success",async()=>{try{let t=await h(A),U=g.map(async(O)=>{let q=await z({xumm:A,chain:O,address:t});f({...q,chain:O,balance:[],walletType:T.XAMAN,address:t,disconnect:A.logout})});await Promise.all(U),y(!0)}catch(t){M(t)}}),A.on("error",(t)=>{M(t)}),A.authorize()})}}),e=$(I);export{I as xamanWallet,e as XAMAN_SUPPORTED_CHAINS};
2
2
 
3
- //# debugId=A2AB13D828604E9664756E2164756E21
3
+ //# debugId=88BB4E5F7F69C07164756E2164756E21
4
4
  //# sourceMappingURL=index.js.map
@@ -2,11 +2,11 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/xaman/index.ts", "../src/xaman/helpers.ts", "../src/xaman/walletMethods.ts"],
4
4
  "sourcesContent": [
5
- "import {\n Chain,\n SKConfig,\n SwapKitError,\n WalletOption,\n filterSupportedChains,\n} from \"@swapkit/helpers\";\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\nimport { Xumm } from \"xumm\";\nimport { getWalletForChain } from \"./helpers\";\nimport type { XamanConfig } from \"./types\";\nimport { connectXamanWallet as connectXamanWalletMethod } from \"./walletMethods\";\n\nexport const xamanWallet = createWallet({\n name: \"connectXaman\",\n walletType: WalletOption.XAMAN,\n supportedChains: [Chain.Ripple],\n connect: ({ addChain, supportedChains: walletSupportedChains, walletType }) =>\n async function connectXamanWallet(chains: Chain[], xamanConfigOverwrite?: XamanConfig) {\n const supportedChains = filterSupportedChains({\n chains,\n supportedChains: walletSupportedChains,\n walletType,\n });\n\n const { xaman: xamanApiKey } = SKConfig.get(\"apiKeys\");\n const apiKey = xamanConfigOverwrite?.apiKey || xamanApiKey;\n\n if (!apiKey) {\n throw new SwapKitError(\"wallet_missing_api_key\", { wallet: \"Xaman\" });\n }\n\n const xumm = new Xumm(apiKey);\n\n return new Promise<boolean>((resolve, reject) => {\n xumm.on(\"success\", async () => {\n try {\n const address = await connectXamanWalletMethod(xumm);\n\n const promises = supportedChains.map(async (chain) => {\n const rpcUrl = SKConfig.get(\"rpcUrls\")[chain];\n const walletMethods = await getWalletForChain({\n xumm,\n chain,\n address,\n rpcUrl,\n });\n\n addChain({\n ...walletMethods,\n chain,\n balance: [],\n walletType: WalletOption.XAMAN,\n address,\n disconnect: xumm.logout,\n });\n });\n\n await Promise.all(promises);\n resolve(true);\n } catch (error) {\n reject(error);\n }\n });\n\n xumm.on(\"error\", (error) => {\n reject(error);\n });\n\n xumm.authorize();\n });\n },\n});\n\nexport const XAMAN_SUPPORTED_CHAINS = getWalletSupportedChains(xamanWallet);\nexport type XamanSupportedChain = (typeof XAMAN_SUPPORTED_CHAINS)[number];\n\nexport type { XamanConfig } from \"./types\";\n",
6
- "import { type AssetValue, Chain, SwapKitError } from \"@swapkit/helpers\";\nimport type { Xumm } from \"xumm\";\nimport { sendXamanTransaction } from \"./walletMethods\";\n\ninterface GetWalletForChainParams {\n chain: Chain;\n address: string;\n rpcUrl?: string;\n xumm: Xumm;\n}\n\nexport async function getWalletForChain({ xumm, chain, address, rpcUrl }: GetWalletForChainParams) {\n switch (chain) {\n case Chain.Ripple: {\n const { getRippleToolbox } = await import(\"@swapkit/toolboxes/ripple\");\n\n // const api = apis?.[chain]; // Unused for now\n const toolbox = await getRippleToolbox({ rpcUrl });\n\n // Override transfer method to use Xaman transaction flow\n const transfer = async (params: {\n assetValue: AssetValue;\n recipient: string;\n memo?: string;\n }) => {\n const { recipient, assetValue, memo } = params;\n\n // Create and subscribe to payment via Xaman\n const paymentResult = await sendXamanTransaction(xumm, {\n from: address,\n destination: recipient,\n amount: assetValue.getValue(\"string\"),\n memo: memo,\n });\n\n // If not successful or no transaction ID, throw error\n if (!(paymentResult.result.success && paymentResult.result.transactionId)) {\n throw new SwapKitError(\"wallet_xaman_transaction_failed\");\n }\n\n // Return the transaction ID string\n return paymentResult.result.transactionId;\n };\n\n return {\n ...toolbox,\n address,\n getAddress: () => address,\n transfer,\n // Expose Xaman-specific methods\n createAndSubscribePayment: sendXamanTransaction,\n disconnect: xumm.logout,\n };\n }\n\n default:\n throw new SwapKitError(\"wallet_chain_not_supported\", { wallet: \"Xaman\", chain });\n }\n}\n",
5
+ "import {\n Chain,\n SKConfig,\n SwapKitError,\n WalletOption,\n filterSupportedChains,\n} from \"@swapkit/helpers\";\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\nimport { Xumm } from \"xumm\";\nimport { getWalletForChain } from \"./helpers\";\nimport type { XamanConfig } from \"./types\";\nimport { connectXamanWallet as connectXamanWalletMethod } from \"./walletMethods\";\n\nexport const xamanWallet = createWallet({\n name: \"connectXaman\",\n walletType: WalletOption.XAMAN,\n supportedChains: [Chain.Ripple],\n connect: ({ addChain, supportedChains: walletSupportedChains, walletType }) =>\n async function connectXamanWallet(chains: Chain[], xamanConfigOverwrite?: XamanConfig) {\n const supportedChains = filterSupportedChains({\n chains,\n supportedChains: walletSupportedChains,\n walletType,\n });\n\n const { xaman: xamanApiKey } = SKConfig.get(\"apiKeys\");\n const apiKey = xamanConfigOverwrite?.apiKey || xamanApiKey;\n\n if (!apiKey) {\n throw new SwapKitError(\"wallet_missing_api_key\", { wallet: \"Xaman\" });\n }\n\n const xumm = new Xumm(apiKey);\n\n return new Promise<boolean>((resolve, reject) => {\n xumm.on(\"success\", async () => {\n try {\n const address = await connectXamanWalletMethod(xumm);\n\n const promises = supportedChains.map(async (chain) => {\n const walletMethods = await getWalletForChain({\n xumm,\n chain,\n address,\n });\n\n addChain({\n ...walletMethods,\n chain,\n balance: [],\n walletType: WalletOption.XAMAN,\n address,\n disconnect: xumm.logout,\n });\n });\n\n await Promise.all(promises);\n resolve(true);\n } catch (error) {\n reject(error);\n }\n });\n\n xumm.on(\"error\", (error) => {\n reject(error);\n });\n\n xumm.authorize();\n });\n },\n});\n\nexport const XAMAN_SUPPORTED_CHAINS = getWalletSupportedChains(xamanWallet);\nexport type XamanSupportedChain = (typeof XAMAN_SUPPORTED_CHAINS)[number];\n\nexport type { XamanConfig } from \"./types\";\n",
6
+ "import { type AssetValue, Chain, SwapKitError } from \"@swapkit/helpers\";\nimport type { Xumm } from \"xumm\";\nimport { sendXamanTransaction } from \"./walletMethods\";\n\ninterface GetWalletForChainParams {\n chain: Chain;\n address: string;\n xumm: Xumm;\n}\n\nexport async function getWalletForChain({ xumm, chain, address }: GetWalletForChainParams) {\n switch (chain) {\n case Chain.Ripple: {\n const { getRippleToolbox } = await import(\"@swapkit/toolboxes/ripple\");\n\n // const api = apis?.[chain]; // Unused for now\n const toolbox = await getRippleToolbox({});\n\n // Override transfer method to use Xaman transaction flow\n const transfer = async (params: {\n assetValue: AssetValue;\n recipient: string;\n memo?: string;\n }) => {\n const { recipient, assetValue, memo } = params;\n\n // Create and subscribe to payment via Xaman\n const paymentResult = await sendXamanTransaction(xumm, {\n from: address,\n destination: recipient,\n amount: assetValue.getValue(\"string\"),\n memo: memo,\n });\n\n // If not successful or no transaction ID, throw error\n if (!(paymentResult.result.success && paymentResult.result.transactionId)) {\n throw new SwapKitError(\"wallet_xaman_transaction_failed\");\n }\n\n // Return the transaction ID string\n return paymentResult.result.transactionId;\n };\n\n return {\n ...toolbox,\n address,\n getAddress: () => address,\n transfer,\n // Expose Xaman-specific methods\n createAndSubscribePayment: sendXamanTransaction,\n disconnect: xumm.logout,\n };\n }\n\n default:\n throw new SwapKitError(\"wallet_chain_not_supported\", { wallet: \"Xaman\", chain });\n }\n}\n",
7
7
  "import { SwapKitError } from \"@swapkit/helpers\";\nimport type { Xumm } from \"xumm\";\nimport type { XamanPaymentParams } from \"./types\";\n\nexport const connectXamanWallet = async (xumm: Xumm) => {\n if (!xumm) {\n throw new SwapKitError(\"wallet_xaman_not_configured\");\n }\n\n try {\n const user = await xumm.user;\n const account = await user?.account;\n\n if (account) {\n return account;\n }\n\n throw new SwapKitError(\"wallet_xaman_auth_failed\");\n } catch (error) {\n console.error(\"Xaman wallet connection failed:\", error);\n throw new SwapKitError(\"wallet_xaman_connection_failed\");\n }\n};\n\n// biome-ignore lint/complexity/noExcessiveCognitiveComplexity: might need refactoring later\nexport const sendXamanTransaction = async (xumm: Xumm, params: XamanPaymentParams) => {\n try {\n // Validate required parameters\n if (!(params.destination && params.amount && params.from)) {\n throw new SwapKitError(\"wallet_xaman_connection_failed\");\n }\n\n // Convert XRP to drops (1 XRP = 1,000,000 drops)\n const amountInDrops = (Number.parseFloat(params.amount) * 1000000).toString();\n\n // Create transaction object\n const transaction = {\n TransactionType: \"Payment\" as const,\n Destination: params.destination,\n Amount: amountInDrops,\n Account: params.from,\n ...(params.destinationTag !== undefined && {\n DestinationTag: params.destinationTag,\n }),\n ...(params.memo && {\n Memos: [\n {\n Memo: {\n MemoData: Buffer.from(params.memo, \"utf8\").toString(\"hex\").toUpperCase(),\n },\n },\n ],\n }),\n };\n\n // Create and subscribe to payload following the official example\n const subscription = await xumm.payload?.createAndSubscribe(transaction, (event) => {\n if (\"signed\" in event.data) {\n // Return event.data to close subscription and resolve promise\n return event.data; // { signed: true|false, payload_uuidv4: '...' }\n }\n return undefined;\n });\n\n if (!subscription) {\n throw new SwapKitError(\"wallet_xaman_transaction_failed\");\n }\n\n const { created } = subscription;\n\n // Handle payload presentation based on runtime environment\n if (xumm.runtime?.xapp) {\n xumm.xapp?.openSignRequest(created);\n } else if (typeof window !== \"undefined\") {\n const url =\n created.pushed && created.next?.no_push_msg_received\n ? created.next.no_push_msg_received\n : created.next?.always;\n if (url) window.open(url);\n }\n\n // Wait until the user signed/rejected\n const resolved = await subscription.resolved;\n\n if (!resolved || typeof resolved !== \"object\" || !(\"signed\" in resolved) || !resolved.signed) {\n throw new SwapKitError(\"wallet_xaman_transaction_failed\");\n }\n\n // Fetch the full payload result using the UUID from resolved data\n const payloadDetails = await xumm.payload?.get((resolved as any).payload_uuidv4);\n\n if (!payloadDetails) {\n throw new SwapKitError(\"wallet_xaman_monitoring_failed\");\n }\n\n // Extract transaction ID from response\n const transactionId = payloadDetails.response?.txid || \"\";\n const account = payloadDetails.response?.account || \"\";\n\n if (!transactionId) {\n throw new SwapKitError(\"wallet_xaman_transaction_failed\");\n }\n\n // Return comprehensive result\n return {\n // Initial payload info for QR codes, deep links, etc.\n payloadId: created.uuid || \"\",\n qrCode: created.refs?.qr_png || \"\",\n deepLink: created.next?.always || \"\",\n websocketUrl: created.refs?.websocket_status || \"\",\n // Final transaction result - SUCCESS with tx hash\n result: {\n success: true,\n transactionId,\n account,\n reason: undefined,\n },\n };\n } catch (error) {\n console.error(\"Xaman payment creation and subscription failed:\", error);\n if (error instanceof SwapKitError) {\n throw error;\n }\n throw new SwapKitError(\"wallet_xaman_transaction_failed\");\n }\n};\n"
8
8
  ],
9
- "mappings": "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",
10
- "debugId": "A2AB13D828604E9664756E2164756E21",
9
+ "mappings": "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",
10
+ "debugId": "88BB4E5F7F69C07164756E2164756E21",
11
11
  "names": []
12
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/evm-extensions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EAEL,KAAK,QAAQ,EAGb,YAAY,EAIb,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAE/D,MAAM,MAAM,gBAAgB,GACxB,YAAY,CAAC,KAAK,GAClB,YAAY,CAAC,UAAU,GACvB,YAAY,CAAC,QAAQ,GACrB,YAAY,CAAC,eAAe,GAC5B,YAAY,CAAC,YAAY,GACzB,YAAY,CAAC,OAAO,CAAC;AAoBzB,eAAO,MAAM,oBAAoB,GAAU,+CAKxC;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,eAAe,CAAC;IACjC,KAAK,EAAE,QAAQ,CAAC;IAChB,QAAQ,EAAE,eAAe,CAAC;CAC3B;;;;;yBAtCyB,CAAC,kBAAkB,CAAC,sBAE3C,CAAC;;;iDAYa,GAAI;;;;;;sCAuBJ,GAAI;;;;;;;gIAiC0B,GAAI;iIAMpC,GAAI;;;gBAMmB,CAAC;kBAC3B,CAAJ;mBAAgC,CAAC;YACf,CAAC;;;kBAKb,CAAN;gBACM,CAAH;oBAA8B,CAAC;4BAG1B,CAAC;;;sCAKP,GAAP;oBAAuD,CAAC;;;oEAWjD,GAAL;;;;;;iDAYuD,GAAI;;;;;;sCAAqf,GAAI;;;;;;;gIAA+mC,GAAI;iIAAiO,GAAI;;;gBAAyT,CAAC;kBAA4B,CAAC;mBAAgC,CAAC;YAAwC,CAAC;;;kBAA+I,CAAC;gBAA0B,CAAC;oBAA8B,CAAC;4BAAsC,CAAC;;;sCAAgL,GAAI;oBAAuD,CAAC;;;oEAAqU,GAAI;;EA3DvlG,CAAC;AAEF,eAAO,MAAM,SAAS;;;;;;;CAsDpB,CAAC;AAEH,eAAO,MAAM,+BAA+B,YAAsC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/evm-extensions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EAEL,KAAK,QAAQ,EAGb,YAAY,EAIb,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAE/D,MAAM,MAAM,gBAAgB,GACxB,YAAY,CAAC,KAAK,GAClB,YAAY,CAAC,UAAU,GACvB,YAAY,CAAC,QAAQ,GACrB,YAAY,CAAC,eAAe,GAC5B,YAAY,CAAC,YAAY,GACzB,YAAY,CAAC,OAAO,CAAC;AAoBzB,eAAO,MAAM,oBAAoB,GAAU,+CAKxC;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,eAAe,CAAC;IACjC,KAAK,EAAE,QAAQ,CAAC;IAChB,QAAQ,EAAE,eAAe,CAAC;CAC3B;;;;;yBAtCyB,CAAC,kBAAkB,CAAC,sBAE3C,CAAC;;;iDAYa,GAAI;;;;;;sCAuBJ,GAAI;;;;;;;gIAiC0B,GAAI;iIAMpC,GAAI;;;gBAOc,CAAC;kBAA4B,CAAC;mBAC1C,CAAC;YACV,CAAT;;;kBAGgC,CAAC;gBACtB,CAAd;oBACc,CAAN;4BAEM,CAAZ;;;sCAMQ,GAAI;oBAEJ,CAAJ;;;oEAOM,GAAA;;;;;;iDAiBV,GAAI;;;;;;sCACia,GAAI;;;;;;;gIAA+mC,GAAI;iIAAiO,GAAI;;;gBAAyT,CAAC;kBAA4B,CAAC;mBAAgC,CAAC;YAAwC,CAAC;;;kBAA+I,CAAC;gBAA0B,CAAC;oBAA8B,CAAC;4BAAsC,CAAC;;;sCAAgL,GAAI;oBAAuD,CAAC;;;oEAAqU,GAAI;;EA/Dz8F,CAAC;AAEF,eAAO,MAAM,SAAS;;;;;;;CA0DpB,CAAC;AAEH,eAAO,MAAM,+BAA+B,YAAsC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/onekey/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EAQN,MAAM,kBAAkB,CAAC;AAiK1B,eAAO,MAAM,YAAY;;;;;;;CAuCvB,CAAC;AAEH,eAAO,MAAM,8BAA8B,4LAAyC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/onekey/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EAON,MAAM,kBAAkB,CAAC;AA+J1B,eAAO,MAAM,YAAY;;;;;;;CAuCvB,CAAC;AAEH,eAAO,MAAM,8BAA8B,4LAAyC,CAAC"}
@@ -3,10 +3,9 @@ import type { Xumm } from "xumm";
3
3
  interface GetWalletForChainParams {
4
4
  chain: Chain;
5
5
  address: string;
6
- rpcUrl?: string;
7
6
  xumm: Xumm;
8
7
  }
9
- export declare function getWalletForChain({ xumm, chain, address, rpcUrl }: GetWalletForChainParams): Promise<{
8
+ export declare function getWalletForChain({ xumm, chain, address }: GetWalletForChainParams): Promise<{
10
9
  address: string;
11
10
  getAddress: () => string;
12
11
  transfer: (params: {
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/xaman/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,EAAgB,MAAM,kBAAkB,CAAC;AACxE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAGjC,UAAU,uBAAuB;IAC/B,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,wBAAsB,iBAAiB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,uBAAuB;;;uBAS3D;QAC9B,UAAU,EAAE,UAAU,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf;;;;;;;;;;;;;;;;;;;;;;;wBAKG,CAAV;;;;cAMmC,CAAA;YAAsB,CAAC;;;;;;;;GAuBzD"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/xaman/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,EAAgB,MAAM,kBAAkB,CAAC;AACxE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAGjC,UAAU,uBAAuB;IAC/B,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,wBAAsB,iBAAiB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,uBAAuB;;;uBASnD;QAC9B,UAAU,EAAE,UAAU,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf;;;;;;;;;;;;;;;;;;;;;;;wBAMG,CAAA;;;;cAMF,CAAD;YAAsB,CAAC;;;;;;;;GAsB7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/xaman/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EAKN,MAAM,kBAAkB,CAAC;AAI1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAG3C,eAAO,MAAM,WAAW;;;;;;;CA2DtB,CAAC;AAEH,eAAO,MAAM,sBAAsB,gBAAwC,CAAC;AAC5E,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1E,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/xaman/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EAKN,MAAM,kBAAkB,CAAC;AAI1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAG3C,eAAO,MAAM,WAAW;;;;;;;CAyDtB,CAAC;AAEH,eAAO,MAAM,sBAAsB,gBAAwC,CAAC;AAC5E,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1E,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC"}
package/package.json CHANGED
@@ -12,11 +12,11 @@
12
12
  "@scure/base": "~1.2.0",
13
13
  "@scure/bip39": "~1.6.0",
14
14
  "@solana/web3.js": "~1.98.0",
15
- "@swapkit/helpers": "4.0.0-beta.48",
16
- "@swapkit/toolboxes": "4.0.0-beta.65",
17
- "@swapkit/wallet-core": "4.0.0-beta.16",
18
- "@swapkit/wallet-hardware": "4.0.0-beta.16",
19
- "@swapkit/wallet-keystore": "4.0.0-beta.16",
15
+ "@swapkit/helpers": "4.0.0-beta.49",
16
+ "@swapkit/toolboxes": "4.0.0-beta.66",
17
+ "@swapkit/wallet-core": "4.0.0-beta.17",
18
+ "@swapkit/wallet-hardware": "4.0.0-beta.17",
19
+ "@swapkit/wallet-keystore": "4.0.0-beta.17",
20
20
  "@trezor/connect-web": "~9.6.0",
21
21
  "@walletconnect/modal": "~2.7.0",
22
22
  "@walletconnect/sign-client": "~2.21.0",
@@ -42,8 +42,8 @@
42
42
  "@scure/base": "1.2.6",
43
43
  "@scure/bip39": "1.6.0",
44
44
  "@solana/web3.js": "1.98.2",
45
- "@swapkit/helpers": "4.0.0-beta.48",
46
- "@swapkit/toolboxes": "4.0.0-beta.65",
45
+ "@swapkit/helpers": "4.0.0-beta.49",
46
+ "@swapkit/toolboxes": "4.0.0-beta.66",
47
47
  "@trezor/connect-web": "9.6.0",
48
48
  "@walletconnect/logger": "2.1.2",
49
49
  "@walletconnect/modal": "2.7.0",
@@ -190,5 +190,5 @@
190
190
  "type-check:go": "tsgo"
191
191
  },
192
192
  "type": "module",
193
- "version": "4.0.0-beta.69"
193
+ "version": "4.0.0-beta.70"
194
194
  }