@swapkit/wallets 4.1.7 → 4.1.9

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 C={};A(C,{getWeb3WalletMethods:()=>p,evmWallet:()=>_,EVM_EXTENSIONS_SUPPORTED_CHAINS:()=>B});module.exports=S(C);var t=require("@swapkit/helpers"),l=require("@swapkit/wallet-core"),g=(r)=>{switch(r){case t.WalletOption.COINBASE_WEB:return window.coinbaseWalletExtension;case t.WalletOption.TRUSTWALLET_WEB:return window.trustwallet;default:return window.ethereum}},p=async({address:r,walletProvider:w,chain:a,provider:o})=>{if(!w)throw new t.SwapKitError("wallet_evm_extensions_not_found");let{getEvmToolbox:e}=await import("@swapkit/toolboxes/evm"),s=await o.getSigner(),i=await e(a,{provider:o,signer:s});if((await o.getNetwork()).chainId.toString()!==t.ChainToHexChainId[a])try{let n=i.getNetworkParams();await t.switchEVMWalletNetwork(o,a,n)}catch(n){throw new t.SwapKitError("wallet_evm_extensions_failed_to_switch_network",{chain:a})}return t.prepareNetworkSwitch({chain:a,provider:o,toolbox:{...i,getBalance:()=>i.getBalance(r)}})},_=l.createWallet({connect:({addChain:r,supportedChains:w})=>async function a(o,e=t.WalletOption.METAMASK,s){let i=t.filterSupportedChains({chains:o,supportedChains:w,walletType:e}),{BrowserProvider:c}=await import("ethers");return await Promise.all(i.map(async(n)=>{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:n,provider:d,walletProvider:s});r({...M,address:h,chain:n,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(),m=await p({address:u,chain:n,provider:E,walletProvider:g(e)});r({...m,address:u,chain:n,disconnect:()=>E.send("wallet_revokePermissions",[{eth_accounts:{}}]),walletType:e})})),!0},name:"connectEVMWallet",supportedChains:[...t.EVMChains]}),B=l.getWalletSupportedChains(_);
1
+ var g={};u(g,{getWeb3WalletMethods:()=>_,evmWallet:()=>O,EVM_EXTENSIONS_SUPPORTED_CHAINS:()=>S});module.exports=m(g);var t=require("@swapkit/helpers"),w=require("@swapkit/wallet-core"),M=(r)=>{switch(r){case t.WalletOption.COINBASE_WEB:return window.coinbaseWalletExtension;case t.WalletOption.TRUSTWALLET_WEB:return window.trustwallet;default:return window.ethereum}},_=async({address:r,walletProvider:c,chain:o,provider:e})=>{if(!c)throw new t.SwapKitError("wallet_evm_extensions_not_found");let{getEvmToolbox:n}=await import("@swapkit/toolboxes/evm"),s=await e.getSigner(),a=await n(o,{provider:e,signer:s});if((await e.getNetwork()).chainId.toString()!==t.ChainToHexChainId[o])try{let i=a.getNetworkParams();await t.switchEVMWalletNetwork(e,o,i)}catch(i){throw new t.SwapKitError("wallet_evm_extensions_failed_to_switch_network",{chain:o})}return t.prepareNetworkSwitch({chain:o,provider:e,toolbox:{...a,getBalance:()=>a.getBalance(r)}})},O=w.createWallet({connect:({addChain:r,supportedChains:c})=>async function o(e,n=t.WalletOption.METAMASK,s){let a=t.filterSupportedChains({chains:e,supportedChains:c,walletType:n}),{BrowserProvider:E}=await import("ethers");return await Promise.all(a.map(async(i)=>{if(n===t.WalletOption.EIP6963&&!s)throw new t.SwapKitError("wallet_evm_extensions_no_provider");let p=s||M(n),l=new E(p,"any");await l.send("eth_requestAccounts",[]);let W=await(await l.getSigner()).getAddress(),h=await _({address:W,chain:i,provider:l,walletProvider:p});r({...h,address:W,chain:i,disconnect:()=>l.send("wallet_revokePermissions",[{eth_accounts:{}}]),walletType:n});return})),!0},name:"connectEVMWallet",supportedChains:[...t.EVMChains]}),S=w.getWalletSupportedChains(O);
2
2
 
3
- //# debugId=990298385F29CDA864756E2164756E21
3
+ //# debugId=F682EB2F18FF2BF964756E2164756E21
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 type Chain,\n ChainToHexChainId,\n type EVMChain,\n EVMChains,\n filterSupportedChains,\n prepareNetworkSwitch,\n SwapKitError,\n switchEVMWalletNetwork,\n WalletOption,\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 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 return prepareNetworkSwitch({\n chain,\n provider,\n toolbox: { ...toolbox, getBalance: () => toolbox.getBalance(address) },\n });\n};\n\nexport const evmWallet = createWallet({\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 provider: web3provider,\n walletProvider: getWalletForType(walletType),\n });\n\n const disconnect = () => web3provider.send(\"wallet_revokePermissions\", [{ eth_accounts: {} }]);\n\n addChain({ ...walletMethods, address, chain, disconnect, walletType });\n }),\n );\n\n return true;\n },\n name: \"connectEVMWallet\",\n supportedChains: [...EVMChains] as EVMChain[],\n});\n\nexport const EVM_EXTENSIONS_SUPPORTED_CHAINS = getWalletSupportedChains(evmWallet);\n"
5
+ "import {\n type Chain,\n ChainToHexChainId,\n type EVMChain,\n EVMChains,\n filterSupportedChains,\n prepareNetworkSwitch,\n SwapKitError,\n switchEVMWalletNetwork,\n WalletOption,\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 | WalletOption.EIP6963,\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 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 return prepareNetworkSwitch({\n chain,\n provider,\n toolbox: { ...toolbox, getBalance: () => toolbox.getBalance(address) },\n });\n};\n\nexport const evmWallet = createWallet({\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 && !eip1193Provider)\n throw new SwapKitError(\"wallet_evm_extensions_no_provider\");\n\n const windowProvider = eip1193Provider || getWalletForType(walletType);\n const browserProvider = new BrowserProvider(windowProvider, \"any\");\n\n await browserProvider.send(\"eth_requestAccounts\", []);\n const signer = await browserProvider.getSigner();\n const address = await signer.getAddress();\n\n const walletMethods = await getWeb3WalletMethods({\n address,\n chain,\n provider: browserProvider,\n walletProvider: windowProvider,\n });\n\n const disconnect = () => browserProvider.send(\"wallet_revokePermissions\", [{ eth_accounts: {} }]);\n addChain({ ...walletMethods, address, chain, disconnect, walletType });\n return;\n }),\n );\n\n return true;\n },\n name: \"connectEVMWallet\",\n supportedChains: [...EVMChains] as EVMChain[],\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,EAG/D,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,EAItF,OAAO,uBAAqB,CAC1B,QACA,WACA,QAAS,IAAK,EAAS,WAAY,IAAM,EAAQ,WAAW,CAAO,CAAE,CACvE,CAAC,GAGU,EAAY,eAAa,CACpC,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,kBA6CzC,OA3CA,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,SAAU,EACV,eAAgB,EAAiB,CAAU,CAC7C,CAAC,EAID,EAAS,IAAK,EAAe,UAAS,QAAO,WAF1B,IAAM,EAAa,KAAK,2BAA4B,CAAC,CAAE,aAAc,CAAC,CAAE,CAAC,CAAC,EAEpC,YAAW,CAAC,EACtE,CACH,EAEO,IAEX,KAAM,mBACN,gBAAiB,CAAC,GAAG,WAAS,CAChC,CAAC,EAEY,EAAkC,2BAAyB,CAAS",
8
- "debugId": "990298385F29CDA864756E2164756E21",
7
+ "mappings": "qHAUO,IAVP,8BAWA,kCAWM,EAAmB,CACvB,IAOG,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,EAG/D,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,EAItF,OAAO,uBAAqB,CAC1B,QACA,WACA,QAAS,IAAK,EAAS,WAAY,IAAM,EAAQ,WAAW,CAAO,CAAE,CACvE,CAAC,GAGU,EAAY,eAAa,CACpC,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,kBA2BzC,OAzBA,MAAM,QAAQ,IACZ,EAAe,IAAI,MAAO,IAAU,CAClC,GAAI,IAAe,eAAa,UAAY,EAC1C,MAAM,IAAI,eAAa,mCAAmC,EAE5D,IAAM,EAAiB,GAAmB,EAAiB,CAAU,EAC/D,EAAkB,IAAI,EAAgB,EAAgB,KAAK,EAEjE,MAAM,EAAgB,KAAK,sBAAuB,CAAC,CAAC,EAEpD,IAAM,EAAU,MADD,MAAM,EAAgB,UAAU,GAClB,WAAW,EAElC,EAAgB,MAAM,EAAqB,CAC/C,UACA,QACA,SAAU,EACV,eAAgB,CAClB,CAAC,EAGD,EAAS,IAAK,EAAe,UAAS,QAAO,WAD1B,IAAM,EAAgB,KAAK,2BAA4B,CAAC,CAAE,aAAc,CAAC,CAAE,CAAC,CAAC,EACvC,YAAW,CAAC,EACrE,OACD,CACH,EAEO,IAEX,KAAM,mBACN,gBAAiB,CAAC,GAAG,WAAS,CAChC,CAAC,EAEY,EAAkC,2BAAyB,CAAS",
8
+ "debugId": "F682EB2F18FF2BF964756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,4 +1,4 @@
1
- import{F as O,G as _}from"../../chunk-yqaz2d25.js";import{ChainToHexChainId as S,EVMChains as A,filterSupportedChains as B,prepareNetworkSwitch as C,SwapKitError as d,switchEVMWalletNetwork as P,WalletOption as i}from"@swapkit/helpers";import{createWallet as v,getWalletSupportedChains as f}from"@swapkit/wallet-core";var h=(n)=>{switch(n){case i.COINBASE_WEB:return window.coinbaseWalletExtension;case i.TRUSTWALLET_WEB:return window.trustwallet;default:return window.ethereum}},g=async({address:n,walletProvider:l,chain:r,provider:e})=>{if(!l)throw new d("wallet_evm_extensions_not_found");let{getEvmToolbox:t}=await import("@swapkit/toolboxes/evm"),a=await e.getSigner(),s=await t(r,{provider:e,signer:a});if((await e.getNetwork()).chainId.toString()!==S[r])try{let o=s.getNetworkParams();await P(e,r,o)}catch(o){throw new d("wallet_evm_extensions_failed_to_switch_network",{chain:r})}return C({chain:r,provider:e,toolbox:{...s,getBalance:()=>s.getBalance(n)}})},x=v({connect:({addChain:n,supportedChains:l})=>async function r(e,t=i.METAMASK,a){let s=B({chains:e,supportedChains:l,walletType:t}),{BrowserProvider:w}=await import("ethers");return await Promise.all(s.map(async(o)=>{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:o,provider:E,walletProvider:a});n({...M,address:u,chain:o,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(),m=await g({address:W,chain:o,provider:c,walletProvider:h(t)});n({...m,address:W,chain:o,disconnect:()=>c.send("wallet_revokePermissions",[{eth_accounts:{}}]),walletType:t})})),!0},name:"connectEVMWallet",supportedChains:[...A]}),L=f(x);export{g as getWeb3WalletMethods,x as evmWallet,L as EVM_EXTENSIONS_SUPPORTED_CHAINS};
1
+ import{F as d,G as _}from"../../chunk-yqaz2d25.js";import{ChainToHexChainId as h,EVMChains as m,filterSupportedChains as u,prepareNetworkSwitch as M,SwapKitError as c,switchEVMWalletNetwork as S,WalletOption as l}from"@swapkit/helpers";import{createWallet as g,getWalletSupportedChains as B}from"@swapkit/wallet-core";var P=(n)=>{switch(n){case l.COINBASE_WEB:return window.coinbaseWalletExtension;case l.TRUSTWALLET_WEB:return window.trustwallet;default:return window.ethereum}},A=async({address:n,walletProvider:w,chain:e,provider:t})=>{if(!w)throw new c("wallet_evm_extensions_not_found");let{getEvmToolbox:o}=await import("@swapkit/toolboxes/evm"),i=await t.getSigner(),r=await o(e,{provider:t,signer:i});if((await t.getNetwork()).chainId.toString()!==h[e])try{let a=r.getNetworkParams();await S(t,e,a)}catch(a){throw new c("wallet_evm_extensions_failed_to_switch_network",{chain:e})}return M({chain:e,provider:t,toolbox:{...r,getBalance:()=>r.getBalance(n)}})},C=g({connect:({addChain:n,supportedChains:w})=>async function e(t,o=l.METAMASK,i){let r=u({chains:t,supportedChains:w,walletType:o}),{BrowserProvider:E}=await import("ethers");return await Promise.all(r.map(async(a)=>{if(o===l.EIP6963&&!i)throw new c("wallet_evm_extensions_no_provider");let p=i||P(o),s=new E(p,"any");await s.send("eth_requestAccounts",[]);let W=await(await s.getSigner()).getAddress(),O=await A({address:W,chain:a,provider:s,walletProvider:p});n({...O,address:W,chain:a,disconnect:()=>s.send("wallet_revokePermissions",[{eth_accounts:{}}]),walletType:o});return})),!0},name:"connectEVMWallet",supportedChains:[...m]}),I=B(C);export{A as getWeb3WalletMethods,C as evmWallet,I as EVM_EXTENSIONS_SUPPORTED_CHAINS};
2
2
 
3
- //# debugId=AF92900F997CD63264756E2164756E21
3
+ //# debugId=4D775726940BC91264756E2164756E21
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 type Chain,\n ChainToHexChainId,\n type EVMChain,\n EVMChains,\n filterSupportedChains,\n prepareNetworkSwitch,\n SwapKitError,\n switchEVMWalletNetwork,\n WalletOption,\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 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 return prepareNetworkSwitch({\n chain,\n provider,\n toolbox: { ...toolbox, getBalance: () => toolbox.getBalance(address) },\n });\n};\n\nexport const evmWallet = createWallet({\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 provider: web3provider,\n walletProvider: getWalletForType(walletType),\n });\n\n const disconnect = () => web3provider.send(\"wallet_revokePermissions\", [{ eth_accounts: {} }]);\n\n addChain({ ...walletMethods, address, chain, disconnect, walletType });\n }),\n );\n\n return true;\n },\n name: \"connectEVMWallet\",\n supportedChains: [...EVMChains] as EVMChain[],\n});\n\nexport const EVM_EXTENSIONS_SUPPORTED_CHAINS = getWalletSupportedChains(evmWallet);\n"
5
+ "import {\n type Chain,\n ChainToHexChainId,\n type EVMChain,\n EVMChains,\n filterSupportedChains,\n prepareNetworkSwitch,\n SwapKitError,\n switchEVMWalletNetwork,\n WalletOption,\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 | WalletOption.EIP6963,\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 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 return prepareNetworkSwitch({\n chain,\n provider,\n toolbox: { ...toolbox, getBalance: () => toolbox.getBalance(address) },\n });\n};\n\nexport const evmWallet = createWallet({\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 && !eip1193Provider)\n throw new SwapKitError(\"wallet_evm_extensions_no_provider\");\n\n const windowProvider = eip1193Provider || getWalletForType(walletType);\n const browserProvider = new BrowserProvider(windowProvider, \"any\");\n\n await browserProvider.send(\"eth_requestAccounts\", []);\n const signer = await browserProvider.getSigner();\n const address = await signer.getAddress();\n\n const walletMethods = await getWeb3WalletMethods({\n address,\n chain,\n provider: browserProvider,\n walletProvider: windowProvider,\n });\n\n const disconnect = () => browserProvider.send(\"wallet_revokePermissions\", [{ eth_accounts: {} }]);\n addChain({ ...walletMethods, address, chain, disconnect, walletType });\n return;\n }),\n );\n\n return true;\n },\n name: \"connectEVMWallet\",\n supportedChains: [...EVMChains] as EVMChain[],\n});\n\nexport const EVM_EXTENSIONS_SUPPORTED_CHAINS = getWalletSupportedChains(evmWallet);\n"
6
6
  ],
7
- "mappings": "mDAAA,4BAEE,eAEA,2BACA,0BACA,kBACA,4BACA,kBACA,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,EAG/D,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,EAItF,OAAO,EAAqB,CAC1B,QACA,WACA,QAAS,IAAK,EAAS,WAAY,IAAM,EAAQ,WAAW,CAAO,CAAE,CACvE,CAAC,GAGU,EAAY,EAAa,CACpC,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,kBA6CzC,OA3CA,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,SAAU,EACV,eAAgB,EAAiB,CAAU,CAC7C,CAAC,EAID,EAAS,IAAK,EAAe,UAAS,QAAO,WAF1B,IAAM,EAAa,KAAK,2BAA4B,CAAC,CAAE,aAAc,CAAC,CAAE,CAAC,CAAC,EAEpC,YAAW,CAAC,EACtE,CACH,EAEO,IAEX,KAAM,mBACN,gBAAiB,CAAC,GAAG,CAAS,CAChC,CAAC,EAEY,EAAkC,EAAyB,CAAS",
8
- "debugId": "AF92900F997CD63264756E2164756E21",
7
+ "mappings": "mDAAA,4BAEE,eAEA,2BACA,0BACA,kBACA,4BACA,kBACA,yBAEF,uBAAS,8BAAc,6BAWvB,IAAM,EAAmB,CACvB,IAOG,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,EAG/D,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,EAItF,OAAO,EAAqB,CAC1B,QACA,WACA,QAAS,IAAK,EAAS,WAAY,IAAM,EAAQ,WAAW,CAAO,CAAE,CACvE,CAAC,GAGU,EAAY,EAAa,CACpC,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,kBA2BzC,OAzBA,MAAM,QAAQ,IACZ,EAAe,IAAI,MAAO,IAAU,CAClC,GAAI,IAAe,EAAa,UAAY,EAC1C,MAAM,IAAI,EAAa,mCAAmC,EAE5D,IAAM,EAAiB,GAAmB,EAAiB,CAAU,EAC/D,EAAkB,IAAI,EAAgB,EAAgB,KAAK,EAEjE,MAAM,EAAgB,KAAK,sBAAuB,CAAC,CAAC,EAEpD,IAAM,EAAU,MADD,MAAM,EAAgB,UAAU,GAClB,WAAW,EAElC,EAAgB,MAAM,EAAqB,CAC/C,UACA,QACA,SAAU,EACV,eAAgB,CAClB,CAAC,EAGD,EAAS,IAAK,EAAe,UAAS,QAAO,WAD1B,IAAM,EAAgB,KAAK,2BAA4B,CAAC,CAAE,aAAc,CAAC,CAAE,CAAC,CAAC,EACvC,YAAW,CAAC,EACrE,OACD,CACH,EAEO,IAEX,KAAM,mBACN,gBAAiB,CAAC,GAAG,CAAS,CAChC,CAAC,EAEY,EAAkC,EAAyB,CAAS",
8
+ "debugId": "4D775726940BC91264756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,4 +1,4 @@
1
- var F={};m(F,{exodusWallet:()=>O,EXODUS_SUPPORTED_CHAINS:()=>A});module.exports=W(F);var q=require("@swapkit/helpers"),N=require("@swapkit/wallet-core"),f=require("bitcoinjs-lib"),$=require("sats-connect");G(F,require("@passkeys/core"),module.exports);G(F,require("@passkeys/react"),module.exports);async function y({wallet:j,chain:J}){switch(J){case q.Chain.Bitcoin:{let{getUtxoToolbox:z}=await import("@swapkit/toolboxes/utxo"),Q=await j.getProvider("bitcoin");if(!Q)throw new q.SwapKitError("wallet_exodus_not_found");let Z="",H=()=>Promise.resolve(Q),X={getProvider:H,onCancel:()=>{throw new q.SwapKitError("wallet_exodus_request_canceled")},onFinish:(I)=>{if(!I.addresses[0])throw new q.SwapKitError("wallet_exodus_no_address");Z=I.addresses[0].address},payload:{message:"Address for receiving and sending payments",network:{type:$.BitcoinNetworkType.Mainnet},purposes:[$.AddressPurpose.Payment]}};await $.getAddress(X);async function L(I){let Y,U={getProvider:H,onCancel:()=>{throw new q.SwapKitError("wallet_exodus_signature_canceled")},onFinish:(B)=>{Y=f.Psbt.fromBase64(B.psbtBase64)},payload:{broadcast:!1,inputsToSign:[{address:Z,signingIndexes:I.txInputs.map((B,V)=>V)}],message:"Sign transaction",network:{type:$.BitcoinNetworkType.Mainnet},psbtBase64:I.toBase64()}};if(await $.signTransaction(U),!Y)throw new q.SwapKitError("wallet_exodus_sign_transaction_error");return Y}return{...await z(J,{signer:{getAddress:()=>Promise.resolve(Z),signTransaction:L}}),address:Z}}case q.Chain.Arbitrum:case q.Chain.Aurora:case q.Chain.Avalanche:case q.Chain.Base:case q.Chain.BinanceSmartChain:case q.Chain.Ethereum:case q.Chain.Optimism:case q.Chain.Polygon:{let{getProvider:z,getEvmToolbox:Q}=await import("@swapkit/toolboxes/evm"),{BrowserProvider:Z}=await import("ethers"),H=await j.getProvider("ethereum");if(!H)throw new q.SwapKitError("wallet_exodus_not_found");let X=await z(J),L=new Z(H,"any");await L.send("eth_requestAccounts",[]);let _=await L.getSigner(),R=await _.getAddress(),I=await Q(J,{provider:X,signer:_});try{if(J!==q.Chain.Ethereum){let Y=I.getNetworkParams();await q.switchEVMWalletNetwork(L,J,Y)}}catch(Y){throw new q.SwapKitError("wallet_exodus_failed_to_switch_network",{chain:J})}return{...q.prepareNetworkSwitch({chain:J,provider:L,toolbox:I}),address:R}}case q.Chain.Solana:{let{getSolanaToolbox:z}=await import("@swapkit/toolboxes/solana"),Q=await j.getProvider("solana");if(!Q)throw new q.SwapKitError("wallet_exodus_not_found");let H=(await Q.connect()).publicKey.toString(),X=await z();return{...X,address:H,disconnect:async()=>{await Q.disconnect()},transfer:async({recipient:R,assetValue:I,isProgramDerivedAddress:Y})=>{let U=await X.getAddressValidator();if(!(Y||U(R)))throw new q.SwapKitError("core_transaction_invalid_recipient_address");let B=await X.getConnection(),V=await X.createTransaction({assetValue:I,isProgramDerivedAddress:Y,recipient:R,sender:H}),D=(await Q.signTransaction(V)).serialize();return await B.sendRawTransaction(D)}}}default:throw new q.SwapKitError("wallet_exodus_chain_not_supported",{chain:J})}}var O=N.createWallet({connect:({addChain:j,walletType:J,supportedChains:z})=>async function Q(Z,H){if(!H)throw new q.SwapKitError("wallet_exodus_instance_missing");let X=q.filterSupportedChains({chains:Z,supportedChains:z,walletType:J});return await Promise.all(X.map(async(L)=>{try{let _=await y({chain:L,wallet:H}),{address:R,...I}=_,U=H.disconnect||(async()=>{if(H.disconnect)await H.disconnect()});j({...I,address:R,chain:L,disconnect:U,walletType:q.WalletOption.EXODUS})}catch(_){throw console.error(`Failed to connect ${L} wallet:`,_),_}})),!0},name:"connectExodusWallet",supportedChains:[...q.EVMChains,q.Chain.Bitcoin,q.Chain.Solana],walletType:q.WalletOption.EXODUS}),A=N.getWalletSupportedChains(O);
1
+ var z={};N(z,{exodusWallet:()=>B,EXODUS_SUPPORTED_CHAINS:()=>u});module.exports=M(z);var q=require("@swapkit/helpers"),V=require("@swapkit/wallet-core"),A=require("bitcoinjs-lib"),X=require("sats-connect");F(z,require("@passkeys/core"),module.exports);F(z,require("@passkeys/react"),module.exports);async function O({wallet:R,chain:H}){switch(H){case q.Chain.Bitcoin:{let{getUtxoToolbox:Z}=await import("@swapkit/toolboxes/utxo"),I=await R.getProvider("bitcoin");if(!I)throw new q.SwapKitError("wallet_exodus_not_found");let Q="",G=()=>Promise.resolve(I),$={getProvider:G,onCancel:()=>{throw new q.SwapKitError("wallet_exodus_request_canceled")},onFinish:(L)=>{if(!L.addresses[0])throw new q.SwapKitError("wallet_exodus_no_address");Q=L.addresses[0].address},payload:{message:"Address for receiving and sending payments",network:{type:X.BitcoinNetworkType.Mainnet},purposes:[X.AddressPurpose.Payment]}};await X.getAddress($);async function J(L){let _,f={getProvider:G,onCancel:()=>{throw new q.SwapKitError("wallet_exodus_signature_canceled")},onFinish:(m)=>{_=A.Psbt.fromBase64(m.psbtBase64)},payload:{broadcast:!1,inputsToSign:[{address:Q,signingIndexes:L.txInputs.map((m,D)=>D)}],message:"Sign transaction",network:{type:X.BitcoinNetworkType.Mainnet},psbtBase64:L.toBase64()}};if(await X.signTransaction(f),!_)throw new q.SwapKitError("wallet_exodus_sign_transaction_error");return _}return{...await Z(H,{signer:{getAddress:()=>Promise.resolve(Q),signTransaction:J}}),address:Q}}case q.Chain.Arbitrum:case q.Chain.Aurora:case q.Chain.Avalanche:case q.Chain.Base:case q.Chain.BinanceSmartChain:case q.Chain.Ethereum:case q.Chain.Optimism:case q.Chain.Polygon:{let{getProvider:Z,getEvmToolbox:I}=await import("@swapkit/toolboxes/evm"),{BrowserProvider:Q}=await import("ethers"),G=await R.getProvider("ethereum");if(!G)throw new q.SwapKitError("wallet_exodus_not_found");let $=await Z(H),J=new Q(G,"any");await J.send("eth_requestAccounts",[]);let Y=await J.getSigner(),U=await Y.getAddress(),L=await I(H,{provider:$,signer:Y});try{if(H!==q.Chain.Ethereum){let _=L.getNetworkParams();await q.switchEVMWalletNetwork(J,H,_)}}catch(_){throw new q.SwapKitError("wallet_exodus_failed_to_switch_network",{chain:H})}return{...q.prepareNetworkSwitch({chain:H,provider:J,toolbox:L}),address:U}}case q.Chain.Solana:{let{getSolanaToolbox:Z}=await import("@swapkit/toolboxes/solana"),I=await R.getProvider("solana");if(I?.publicKey,!I)throw new q.SwapKitError("wallet_exodus_not_found");let G=(await I.connect()).publicKey.toString();return{...await Z({signer:I}),address:G,disconnect:async()=>{await I.disconnect()}}}default:throw new q.SwapKitError("wallet_exodus_chain_not_supported",{chain:H})}}var B=V.createWallet({connect:({addChain:R,walletType:H,supportedChains:Z})=>async function I(Q,G){if(!G)throw new q.SwapKitError("wallet_exodus_instance_missing");let $=q.filterSupportedChains({chains:Q,supportedChains:Z,walletType:H});return await Promise.all($.map(async(J)=>{try{let Y=await O({chain:J,wallet:G}),{address:U,...L}=Y,f=G.disconnect||(async()=>{if(G.disconnect)await G.disconnect()});R({...L,address:U,chain:J,disconnect:f,walletType:q.WalletOption.EXODUS})}catch(Y){throw console.error(`Failed to connect ${J} wallet:`,Y),Y}})),!0},name:"connectExodusWallet",supportedChains:[...q.EVMChains,q.Chain.Bitcoin,q.Chain.Solana],walletType:q.WalletOption.EXODUS}),u=V.getWalletSupportedChains(B);
2
2
 
3
- //# debugId=B69866F27A7AFC9D64756E2164756E21
3
+ //# debugId=4918BA40D7D548C064756E2164756E21
4
4
  //# sourceMappingURL=index.cjs.map
@@ -2,9 +2,9 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/exodus/index.ts"],
4
4
  "sourcesContent": [
5
- "import type { Wallet } from \"@passkeys/core\";\nimport {\n type AssetValue,\n Chain,\n EVMChains,\n filterSupportedChains,\n type GenericTransferParams,\n prepareNetworkSwitch,\n SwapKitError,\n switchEVMWalletNetwork,\n WalletOption,\n} from \"@swapkit/helpers\";\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\nimport { Psbt } from \"bitcoinjs-lib\";\n// BrowserProvider imported dynamically when needed\nimport {\n AddressPurpose,\n BitcoinNetworkType,\n type GetAddressOptions,\n type GetAddressResponse,\n getAddress,\n type SignTransactionOptions,\n signTransaction as satsSignTransaction,\n} from \"sats-connect\";\n\nasync function getWalletMethods({ wallet, chain }: { wallet: Wallet; chain: Chain }) {\n switch (chain) {\n case Chain.Bitcoin: {\n const { getUtxoToolbox } = await import(\"@swapkit/toolboxes/utxo\");\n const provider = await wallet.getProvider(\"bitcoin\");\n\n if (!provider) {\n throw new SwapKitError(\"wallet_exodus_not_found\");\n }\n\n let address = \"\";\n\n const getProvider = () => Promise.resolve(provider);\n\n const getAddressOptions: GetAddressOptions = {\n getProvider,\n onCancel: () => {\n throw new SwapKitError(\"wallet_exodus_request_canceled\");\n },\n onFinish: (response: GetAddressResponse) => {\n if (!response.addresses[0]) throw new SwapKitError(\"wallet_exodus_no_address\");\n address = response.addresses[0].address;\n },\n payload: {\n message: \"Address for receiving and sending payments\",\n network: { type: BitcoinNetworkType.Mainnet },\n purposes: [AddressPurpose.Payment],\n },\n };\n\n // TODO: Towan - probably not needed ?\n await getAddress(getAddressOptions);\n\n async function signTransaction(psbt: Psbt) {\n let signedPsbt: Psbt | undefined;\n const signPsbtOptions: SignTransactionOptions = {\n getProvider,\n onCancel: () => {\n throw new SwapKitError(\"wallet_exodus_signature_canceled\");\n },\n onFinish: (response) => {\n signedPsbt = Psbt.fromBase64(response.psbtBase64);\n },\n payload: {\n broadcast: false,\n inputsToSign: [{ address: address, signingIndexes: psbt.txInputs.map((_, index) => index) }],\n message: \"Sign transaction\",\n network: { type: BitcoinNetworkType.Mainnet },\n psbtBase64: psbt.toBase64(),\n },\n };\n\n await satsSignTransaction(signPsbtOptions);\n if (!signedPsbt) throw new SwapKitError(\"wallet_exodus_sign_transaction_error\");\n return signedPsbt;\n }\n\n const signer = { getAddress: () => Promise.resolve(address), signTransaction };\n const toolbox = await getUtxoToolbox(chain, { signer });\n\n return { ...toolbox, address };\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.Optimism:\n case Chain.Polygon: {\n const { getProvider, getEvmToolbox } = await import(\"@swapkit/toolboxes/evm\");\n const { BrowserProvider } = await import(\"ethers\");\n\n const walletProvider = await wallet.getProvider(\"ethereum\");\n if (!walletProvider) {\n throw new SwapKitError(\"wallet_exodus_not_found\");\n }\n\n const jsonRpcProvider = await getProvider(chain);\n const browserProvider = new BrowserProvider(walletProvider, \"any\");\n\n await browserProvider.send(\"eth_requestAccounts\", []);\n\n const signer = await browserProvider.getSigner();\n const address = await signer.getAddress();\n const toolbox = await getEvmToolbox(chain, { provider: jsonRpcProvider, signer });\n\n try {\n if (chain !== Chain.Ethereum) {\n const networkParams = toolbox.getNetworkParams();\n await switchEVMWalletNetwork(browserProvider, chain, networkParams);\n }\n } catch (_error) {\n throw new SwapKitError(\"wallet_exodus_failed_to_switch_network\", { chain });\n }\n\n return { ...prepareNetworkSwitch({ chain, provider: browserProvider, toolbox }), address };\n }\n\n case Chain.Solana: {\n const { getSolanaToolbox } = await import(\"@swapkit/toolboxes/solana\");\n const provider = await wallet.getProvider(\"solana\");\n\n if (!provider) {\n throw new SwapKitError(\"wallet_exodus_not_found\");\n }\n\n const providerConnection = await provider.connect();\n const address: string = providerConnection.publicKey.toString();\n const toolbox = await getSolanaToolbox();\n\n const transfer = async ({\n recipient,\n assetValue,\n isProgramDerivedAddress,\n }: GenericTransferParams & { assetValue: AssetValue; isProgramDerivedAddress?: boolean }) => {\n // const { PublicKey } = await import(\"@solana/web3.js\"); // TODO: Use for advanced transactions\n const validateAddress = await toolbox.getAddressValidator();\n\n if (!(isProgramDerivedAddress || validateAddress(recipient))) {\n throw new SwapKitError(\"core_transaction_invalid_recipient_address\");\n }\n\n // const fromPubkey = new PublicKey(address); // TODO: Use for advanced transactions\n const connection = await toolbox.getConnection();\n\n const transaction = await toolbox.createTransaction({\n assetValue,\n isProgramDerivedAddress,\n recipient,\n sender: address,\n });\n\n const signedTransaction = await provider.signTransaction(transaction);\n const serialized = signedTransaction.serialize();\n const txHash = await connection.sendRawTransaction(serialized);\n\n return txHash;\n };\n\n const disconnect = async () => {\n await provider.disconnect();\n };\n\n return { ...toolbox, address, disconnect, transfer };\n }\n\n default:\n throw new SwapKitError(\"wallet_exodus_chain_not_supported\", { chain });\n }\n}\n\nexport const exodusWallet = createWallet({\n connect: ({ addChain, walletType, supportedChains }) =>\n async function connectExodusWallet(chains: Chain[], wallet: Wallet) {\n if (!wallet) throw new SwapKitError(\"wallet_exodus_instance_missing\");\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n try {\n const walletData = await getWalletMethods({ chain, wallet });\n\n const { address, ...walletMethods } = walletData;\n const disconnect = wallet.disconnect;\n\n const finalDisconnect =\n disconnect ||\n (async () => {\n if (wallet.disconnect) {\n await wallet.disconnect();\n }\n });\n\n addChain({\n ...walletMethods,\n address,\n chain,\n disconnect: finalDisconnect,\n walletType: WalletOption.EXODUS,\n });\n } catch (error) {\n console.error(`Failed to connect ${chain} wallet:`, error);\n throw error;\n }\n }),\n );\n\n return true;\n },\n name: \"connectExodusWallet\",\n supportedChains: [...EVMChains, Chain.Bitcoin, Chain.Solana],\n walletType: WalletOption.EXODUS,\n});\n\nexport const EXODUS_SUPPORTED_CHAINS = getWalletSupportedChains(exodusWallet);\nexport * from \"@passkeys/core\";\nexport * from \"@passkeys/react\";\n"
5
+ "import type { Wallet } from \"@passkeys/core\";\nimport {\n Chain,\n EVMChains,\n filterSupportedChains,\n prepareNetworkSwitch,\n SwapKitError,\n switchEVMWalletNetwork,\n WalletOption,\n} from \"@swapkit/helpers\";\nimport type { SolanaProvider } from \"@swapkit/toolboxes/solana\";\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\nimport { Psbt } from \"bitcoinjs-lib\";\nimport {\n AddressPurpose,\n BitcoinNetworkType,\n type GetAddressOptions,\n type GetAddressResponse,\n getAddress,\n type SignTransactionOptions,\n signTransaction as satsSignTransaction,\n} from \"sats-connect\";\n\nasync function getWalletMethods({ wallet, chain }: { wallet: Wallet; chain: Chain }) {\n switch (chain) {\n case Chain.Bitcoin: {\n const { getUtxoToolbox } = await import(\"@swapkit/toolboxes/utxo\");\n const provider = await wallet.getProvider(\"bitcoin\");\n\n if (!provider) {\n throw new SwapKitError(\"wallet_exodus_not_found\");\n }\n\n let address = \"\";\n\n const getProvider = () => Promise.resolve(provider);\n\n const getAddressOptions: GetAddressOptions = {\n getProvider,\n onCancel: () => {\n throw new SwapKitError(\"wallet_exodus_request_canceled\");\n },\n onFinish: (response: GetAddressResponse) => {\n if (!response.addresses[0]) throw new SwapKitError(\"wallet_exodus_no_address\");\n address = response.addresses[0].address;\n },\n payload: {\n message: \"Address for receiving and sending payments\",\n network: { type: BitcoinNetworkType.Mainnet },\n purposes: [AddressPurpose.Payment],\n },\n };\n\n // TODO: Towan - probably not needed ?\n await getAddress(getAddressOptions);\n\n async function signTransaction(psbt: Psbt) {\n let signedPsbt: Psbt | undefined;\n const signPsbtOptions: SignTransactionOptions = {\n getProvider,\n onCancel: () => {\n throw new SwapKitError(\"wallet_exodus_signature_canceled\");\n },\n onFinish: (response) => {\n signedPsbt = Psbt.fromBase64(response.psbtBase64);\n },\n payload: {\n broadcast: false,\n inputsToSign: [{ address: address, signingIndexes: psbt.txInputs.map((_, index) => index) }],\n message: \"Sign transaction\",\n network: { type: BitcoinNetworkType.Mainnet },\n psbtBase64: psbt.toBase64(),\n },\n };\n\n await satsSignTransaction(signPsbtOptions);\n if (!signedPsbt) throw new SwapKitError(\"wallet_exodus_sign_transaction_error\");\n return signedPsbt;\n }\n\n const signer = { getAddress: () => Promise.resolve(address), signTransaction };\n const toolbox = await getUtxoToolbox(chain, { signer });\n\n return { ...toolbox, address };\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.Optimism:\n case Chain.Polygon: {\n const { getProvider, getEvmToolbox } = await import(\"@swapkit/toolboxes/evm\");\n const { BrowserProvider } = await import(\"ethers\");\n\n const walletProvider = await wallet.getProvider(\"ethereum\");\n if (!walletProvider) {\n throw new SwapKitError(\"wallet_exodus_not_found\");\n }\n\n const jsonRpcProvider = await getProvider(chain);\n const browserProvider = new BrowserProvider(walletProvider, \"any\");\n\n await browserProvider.send(\"eth_requestAccounts\", []);\n\n const signer = await browserProvider.getSigner();\n const address = await signer.getAddress();\n const toolbox = await getEvmToolbox(chain, { provider: jsonRpcProvider, signer });\n\n try {\n if (chain !== Chain.Ethereum) {\n const networkParams = toolbox.getNetworkParams();\n await switchEVMWalletNetwork(browserProvider, chain, networkParams);\n }\n } catch (_error) {\n throw new SwapKitError(\"wallet_exodus_failed_to_switch_network\", { chain });\n }\n\n return { ...prepareNetworkSwitch({ chain, provider: browserProvider, toolbox }), address };\n }\n\n case Chain.Solana: {\n const { getSolanaToolbox } = await import(\"@swapkit/toolboxes/solana\");\n const provider = (await wallet.getProvider(\"solana\")) as any as SolanaProvider;\n\n provider?.publicKey;\n\n if (!provider) {\n throw new SwapKitError(\"wallet_exodus_not_found\");\n }\n\n const providerConnection = await provider.connect();\n const address: string = providerConnection.publicKey.toString();\n\n const toolbox = await getSolanaToolbox({ signer: provider });\n\n const disconnect = async () => {\n await provider.disconnect();\n };\n\n return { ...toolbox, address, disconnect };\n }\n\n default:\n throw new SwapKitError(\"wallet_exodus_chain_not_supported\", { chain });\n }\n}\n\nexport const exodusWallet = createWallet({\n connect: ({ addChain, walletType, supportedChains }) =>\n async function connectExodusWallet(chains: Chain[], wallet: Wallet) {\n if (!wallet) throw new SwapKitError(\"wallet_exodus_instance_missing\");\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n try {\n const walletData = await getWalletMethods({ chain, wallet });\n\n const { address, ...walletMethods } = walletData;\n const disconnect = wallet.disconnect;\n\n const finalDisconnect =\n disconnect ||\n (async () => {\n if (wallet.disconnect) {\n await wallet.disconnect();\n }\n });\n\n addChain({\n ...walletMethods,\n address,\n chain,\n disconnect: finalDisconnect,\n walletType: WalletOption.EXODUS,\n });\n } catch (error) {\n console.error(`Failed to connect ${chain} wallet:`, error);\n throw error;\n }\n }),\n );\n\n return true;\n },\n name: \"connectExodusWallet\",\n supportedChains: [...EVMChains, Chain.Bitcoin, Chain.Solana],\n walletType: WalletOption.EXODUS,\n});\n\nexport const EXODUS_SUPPORTED_CHAINS = getWalletSupportedChains(exodusWallet);\nexport * from \"@passkeys/core\";\nexport * from \"@passkeys/react\";\n"
6
6
  ],
7
- "mappings": "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",
8
- "debugId": "B69866F27A7AFC9D64756E2164756E21",
7
+ "mappings": "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",
8
+ "debugId": "4918BA40D7D548C064756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,4 +1,4 @@
1
- import{F as U,G as B}from"../../chunk-yqaz2d25.js";import{Chain as F,EVMChains as O,filterSupportedChains as D,prepareNetworkSwitch as W,SwapKitError as J,switchEVMWalletNetwork as m,WalletOption as N}from"@swapkit/helpers";import{createWallet as y,getWalletSupportedChains as A}from"@swapkit/wallet-core";import{Psbt as T}from"bitcoinjs-lib";import{AddressPurpose as u,BitcoinNetworkType as V,getAddress as K,signTransaction as k}from"sats-connect";export*from"@passkeys/core";export*from"@passkeys/react";async function E({wallet:z,chain:H}){switch(H){case F.Bitcoin:{let{getUtxoToolbox:_}=await import("@swapkit/toolboxes/utxo"),L=await z.getProvider("bitcoin");if(!L)throw new J("wallet_exodus_not_found");let Y="",q=()=>Promise.resolve(L),Q={getProvider:q,onCancel:()=>{throw new J("wallet_exodus_request_canceled")},onFinish:(G)=>{if(!G.addresses[0])throw new J("wallet_exodus_no_address");Y=G.addresses[0].address},payload:{message:"Address for receiving and sending payments",network:{type:V.Mainnet},purposes:[u.Payment]}};await K(Q);async function I(G){let X,R={getProvider:q,onCancel:()=>{throw new J("wallet_exodus_signature_canceled")},onFinish:(j)=>{X=T.fromBase64(j.psbtBase64)},payload:{broadcast:!1,inputsToSign:[{address:Y,signingIndexes:G.txInputs.map((j,M)=>M)}],message:"Sign transaction",network:{type:V.Mainnet},psbtBase64:G.toBase64()}};if(await k(R),!X)throw new J("wallet_exodus_sign_transaction_error");return X}return{...await _(H,{signer:{getAddress:()=>Promise.resolve(Y),signTransaction:I}}),address:Y}}case F.Arbitrum:case F.Aurora:case F.Avalanche:case F.Base:case F.BinanceSmartChain:case F.Ethereum:case F.Optimism:case F.Polygon:{let{getProvider:_,getEvmToolbox:L}=await import("@swapkit/toolboxes/evm"),{BrowserProvider:Y}=await import("ethers"),q=await z.getProvider("ethereum");if(!q)throw new J("wallet_exodus_not_found");let Q=await _(H),I=new Y(q,"any");await I.send("eth_requestAccounts",[]);let Z=await I.getSigner(),$=await Z.getAddress(),G=await L(H,{provider:Q,signer:Z});try{if(H!==F.Ethereum){let X=G.getNetworkParams();await m(I,H,X)}}catch(X){throw new J("wallet_exodus_failed_to_switch_network",{chain:H})}return{...W({chain:H,provider:I,toolbox:G}),address:$}}case F.Solana:{let{getSolanaToolbox:_}=await import("@swapkit/toolboxes/solana"),L=await z.getProvider("solana");if(!L)throw new J("wallet_exodus_not_found");let q=(await L.connect()).publicKey.toString(),Q=await _();return{...Q,address:q,disconnect:async()=>{await L.disconnect()},transfer:async({recipient:$,assetValue:G,isProgramDerivedAddress:X})=>{let R=await Q.getAddressValidator();if(!(X||R($)))throw new J("core_transaction_invalid_recipient_address");let j=await Q.getConnection(),M=await Q.createTransaction({assetValue:G,isProgramDerivedAddress:X,recipient:$,sender:q}),f=(await L.signTransaction(M)).serialize();return await j.sendRawTransaction(f)}}}default:throw new J("wallet_exodus_chain_not_supported",{chain:H})}}var S=y({connect:({addChain:z,walletType:H,supportedChains:_})=>async function L(Y,q){if(!q)throw new J("wallet_exodus_instance_missing");let Q=D({chains:Y,supportedChains:_,walletType:H});return await Promise.all(Q.map(async(I)=>{try{let Z=await E({chain:I,wallet:q}),{address:$,...G}=Z,R=q.disconnect||(async()=>{if(q.disconnect)await q.disconnect()});z({...G,address:$,chain:I,disconnect:R,walletType:N.EXODUS})}catch(Z){throw console.error(`Failed to connect ${I} wallet:`,Z),Z}})),!0},name:"connectExodusWallet",supportedChains:[...O,F.Bitcoin,F.Solana],walletType:N.EXODUS}),w=A(S);export{S as exodusWallet,w as EXODUS_SUPPORTED_CHAINS};
1
+ import{F as R,G as U}from"../../chunk-yqaz2d25.js";import{Chain as z,EVMChains as B,filterSupportedChains as D,prepareNetworkSwitch as M,SwapKitError as J,switchEVMWalletNetwork as N,WalletOption as f}from"@swapkit/helpers";import{createWallet as O,getWalletSupportedChains as u}from"@swapkit/wallet-core";import{Psbt as y}from"bitcoinjs-lib";import{AddressPurpose as W,BitcoinNetworkType as m,getAddress as K,signTransaction as T}from"sats-connect";export*from"@passkeys/core";export*from"@passkeys/react";async function k({wallet:_,chain:F}){switch(F){case z.Bitcoin:{let{getUtxoToolbox:X}=await import("@swapkit/toolboxes/utxo"),G=await _.getProvider("bitcoin");if(!G)throw new J("wallet_exodus_not_found");let L="",q=()=>Promise.resolve(G),Z={getProvider:q,onCancel:()=>{throw new J("wallet_exodus_request_canceled")},onFinish:(I)=>{if(!I.addresses[0])throw new J("wallet_exodus_no_address");L=I.addresses[0].address},payload:{message:"Address for receiving and sending payments",network:{type:m.Mainnet},purposes:[W.Payment]}};await K(Z);async function H(I){let Y,j={getProvider:q,onCancel:()=>{throw new J("wallet_exodus_signature_canceled")},onFinish:(V)=>{Y=y.fromBase64(V.psbtBase64)},payload:{broadcast:!1,inputsToSign:[{address:L,signingIndexes:I.txInputs.map((V,A)=>A)}],message:"Sign transaction",network:{type:m.Mainnet},psbtBase64:I.toBase64()}};if(await T(j),!Y)throw new J("wallet_exodus_sign_transaction_error");return Y}return{...await X(F,{signer:{getAddress:()=>Promise.resolve(L),signTransaction:H}}),address:L}}case z.Arbitrum:case z.Aurora:case z.Avalanche:case z.Base:case z.BinanceSmartChain:case z.Ethereum:case z.Optimism:case z.Polygon:{let{getProvider:X,getEvmToolbox:G}=await import("@swapkit/toolboxes/evm"),{BrowserProvider:L}=await import("ethers"),q=await _.getProvider("ethereum");if(!q)throw new J("wallet_exodus_not_found");let Z=await X(F),H=new L(q,"any");await H.send("eth_requestAccounts",[]);let Q=await H.getSigner(),$=await Q.getAddress(),I=await G(F,{provider:Z,signer:Q});try{if(F!==z.Ethereum){let Y=I.getNetworkParams();await N(H,F,Y)}}catch(Y){throw new J("wallet_exodus_failed_to_switch_network",{chain:F})}return{...M({chain:F,provider:H,toolbox:I}),address:$}}case z.Solana:{let{getSolanaToolbox:X}=await import("@swapkit/toolboxes/solana"),G=await _.getProvider("solana");if(G?.publicKey,!G)throw new J("wallet_exodus_not_found");let q=(await G.connect()).publicKey.toString();return{...await X({signer:G}),address:q,disconnect:async()=>{await G.disconnect()}}}default:throw new J("wallet_exodus_chain_not_supported",{chain:F})}}var x=O({connect:({addChain:_,walletType:F,supportedChains:X})=>async function G(L,q){if(!q)throw new J("wallet_exodus_instance_missing");let Z=D({chains:L,supportedChains:X,walletType:F});return await Promise.all(Z.map(async(H)=>{try{let Q=await k({chain:H,wallet:q}),{address:$,...I}=Q,j=q.disconnect||(async()=>{if(q.disconnect)await q.disconnect()});_({...I,address:$,chain:H,disconnect:j,walletType:f.EXODUS})}catch(Q){throw console.error(`Failed to connect ${H} wallet:`,Q),Q}})),!0},name:"connectExodusWallet",supportedChains:[...B,z.Bitcoin,z.Solana],walletType:f.EXODUS}),v=u(x);export{x as exodusWallet,v as EXODUS_SUPPORTED_CHAINS};
2
2
 
3
- //# debugId=831877C89079C7B464756E2164756E21
3
+ //# debugId=ADBBF45235F80A7964756E2164756E21
4
4
  //# sourceMappingURL=index.js.map
@@ -2,9 +2,9 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/exodus/index.ts"],
4
4
  "sourcesContent": [
5
- "import type { Wallet } from \"@passkeys/core\";\nimport {\n type AssetValue,\n Chain,\n EVMChains,\n filterSupportedChains,\n type GenericTransferParams,\n prepareNetworkSwitch,\n SwapKitError,\n switchEVMWalletNetwork,\n WalletOption,\n} from \"@swapkit/helpers\";\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\nimport { Psbt } from \"bitcoinjs-lib\";\n// BrowserProvider imported dynamically when needed\nimport {\n AddressPurpose,\n BitcoinNetworkType,\n type GetAddressOptions,\n type GetAddressResponse,\n getAddress,\n type SignTransactionOptions,\n signTransaction as satsSignTransaction,\n} from \"sats-connect\";\n\nasync function getWalletMethods({ wallet, chain }: { wallet: Wallet; chain: Chain }) {\n switch (chain) {\n case Chain.Bitcoin: {\n const { getUtxoToolbox } = await import(\"@swapkit/toolboxes/utxo\");\n const provider = await wallet.getProvider(\"bitcoin\");\n\n if (!provider) {\n throw new SwapKitError(\"wallet_exodus_not_found\");\n }\n\n let address = \"\";\n\n const getProvider = () => Promise.resolve(provider);\n\n const getAddressOptions: GetAddressOptions = {\n getProvider,\n onCancel: () => {\n throw new SwapKitError(\"wallet_exodus_request_canceled\");\n },\n onFinish: (response: GetAddressResponse) => {\n if (!response.addresses[0]) throw new SwapKitError(\"wallet_exodus_no_address\");\n address = response.addresses[0].address;\n },\n payload: {\n message: \"Address for receiving and sending payments\",\n network: { type: BitcoinNetworkType.Mainnet },\n purposes: [AddressPurpose.Payment],\n },\n };\n\n // TODO: Towan - probably not needed ?\n await getAddress(getAddressOptions);\n\n async function signTransaction(psbt: Psbt) {\n let signedPsbt: Psbt | undefined;\n const signPsbtOptions: SignTransactionOptions = {\n getProvider,\n onCancel: () => {\n throw new SwapKitError(\"wallet_exodus_signature_canceled\");\n },\n onFinish: (response) => {\n signedPsbt = Psbt.fromBase64(response.psbtBase64);\n },\n payload: {\n broadcast: false,\n inputsToSign: [{ address: address, signingIndexes: psbt.txInputs.map((_, index) => index) }],\n message: \"Sign transaction\",\n network: { type: BitcoinNetworkType.Mainnet },\n psbtBase64: psbt.toBase64(),\n },\n };\n\n await satsSignTransaction(signPsbtOptions);\n if (!signedPsbt) throw new SwapKitError(\"wallet_exodus_sign_transaction_error\");\n return signedPsbt;\n }\n\n const signer = { getAddress: () => Promise.resolve(address), signTransaction };\n const toolbox = await getUtxoToolbox(chain, { signer });\n\n return { ...toolbox, address };\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.Optimism:\n case Chain.Polygon: {\n const { getProvider, getEvmToolbox } = await import(\"@swapkit/toolboxes/evm\");\n const { BrowserProvider } = await import(\"ethers\");\n\n const walletProvider = await wallet.getProvider(\"ethereum\");\n if (!walletProvider) {\n throw new SwapKitError(\"wallet_exodus_not_found\");\n }\n\n const jsonRpcProvider = await getProvider(chain);\n const browserProvider = new BrowserProvider(walletProvider, \"any\");\n\n await browserProvider.send(\"eth_requestAccounts\", []);\n\n const signer = await browserProvider.getSigner();\n const address = await signer.getAddress();\n const toolbox = await getEvmToolbox(chain, { provider: jsonRpcProvider, signer });\n\n try {\n if (chain !== Chain.Ethereum) {\n const networkParams = toolbox.getNetworkParams();\n await switchEVMWalletNetwork(browserProvider, chain, networkParams);\n }\n } catch (_error) {\n throw new SwapKitError(\"wallet_exodus_failed_to_switch_network\", { chain });\n }\n\n return { ...prepareNetworkSwitch({ chain, provider: browserProvider, toolbox }), address };\n }\n\n case Chain.Solana: {\n const { getSolanaToolbox } = await import(\"@swapkit/toolboxes/solana\");\n const provider = await wallet.getProvider(\"solana\");\n\n if (!provider) {\n throw new SwapKitError(\"wallet_exodus_not_found\");\n }\n\n const providerConnection = await provider.connect();\n const address: string = providerConnection.publicKey.toString();\n const toolbox = await getSolanaToolbox();\n\n const transfer = async ({\n recipient,\n assetValue,\n isProgramDerivedAddress,\n }: GenericTransferParams & { assetValue: AssetValue; isProgramDerivedAddress?: boolean }) => {\n // const { PublicKey } = await import(\"@solana/web3.js\"); // TODO: Use for advanced transactions\n const validateAddress = await toolbox.getAddressValidator();\n\n if (!(isProgramDerivedAddress || validateAddress(recipient))) {\n throw new SwapKitError(\"core_transaction_invalid_recipient_address\");\n }\n\n // const fromPubkey = new PublicKey(address); // TODO: Use for advanced transactions\n const connection = await toolbox.getConnection();\n\n const transaction = await toolbox.createTransaction({\n assetValue,\n isProgramDerivedAddress,\n recipient,\n sender: address,\n });\n\n const signedTransaction = await provider.signTransaction(transaction);\n const serialized = signedTransaction.serialize();\n const txHash = await connection.sendRawTransaction(serialized);\n\n return txHash;\n };\n\n const disconnect = async () => {\n await provider.disconnect();\n };\n\n return { ...toolbox, address, disconnect, transfer };\n }\n\n default:\n throw new SwapKitError(\"wallet_exodus_chain_not_supported\", { chain });\n }\n}\n\nexport const exodusWallet = createWallet({\n connect: ({ addChain, walletType, supportedChains }) =>\n async function connectExodusWallet(chains: Chain[], wallet: Wallet) {\n if (!wallet) throw new SwapKitError(\"wallet_exodus_instance_missing\");\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n try {\n const walletData = await getWalletMethods({ chain, wallet });\n\n const { address, ...walletMethods } = walletData;\n const disconnect = wallet.disconnect;\n\n const finalDisconnect =\n disconnect ||\n (async () => {\n if (wallet.disconnect) {\n await wallet.disconnect();\n }\n });\n\n addChain({\n ...walletMethods,\n address,\n chain,\n disconnect: finalDisconnect,\n walletType: WalletOption.EXODUS,\n });\n } catch (error) {\n console.error(`Failed to connect ${chain} wallet:`, error);\n throw error;\n }\n }),\n );\n\n return true;\n },\n name: \"connectExodusWallet\",\n supportedChains: [...EVMChains, Chain.Bitcoin, Chain.Solana],\n walletType: WalletOption.EXODUS,\n});\n\nexport const EXODUS_SUPPORTED_CHAINS = getWalletSupportedChains(exodusWallet);\nexport * from \"@passkeys/core\";\nexport * from \"@passkeys/react\";\n"
5
+ "import type { Wallet } from \"@passkeys/core\";\nimport {\n Chain,\n EVMChains,\n filterSupportedChains,\n prepareNetworkSwitch,\n SwapKitError,\n switchEVMWalletNetwork,\n WalletOption,\n} from \"@swapkit/helpers\";\nimport type { SolanaProvider } from \"@swapkit/toolboxes/solana\";\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\nimport { Psbt } from \"bitcoinjs-lib\";\nimport {\n AddressPurpose,\n BitcoinNetworkType,\n type GetAddressOptions,\n type GetAddressResponse,\n getAddress,\n type SignTransactionOptions,\n signTransaction as satsSignTransaction,\n} from \"sats-connect\";\n\nasync function getWalletMethods({ wallet, chain }: { wallet: Wallet; chain: Chain }) {\n switch (chain) {\n case Chain.Bitcoin: {\n const { getUtxoToolbox } = await import(\"@swapkit/toolboxes/utxo\");\n const provider = await wallet.getProvider(\"bitcoin\");\n\n if (!provider) {\n throw new SwapKitError(\"wallet_exodus_not_found\");\n }\n\n let address = \"\";\n\n const getProvider = () => Promise.resolve(provider);\n\n const getAddressOptions: GetAddressOptions = {\n getProvider,\n onCancel: () => {\n throw new SwapKitError(\"wallet_exodus_request_canceled\");\n },\n onFinish: (response: GetAddressResponse) => {\n if (!response.addresses[0]) throw new SwapKitError(\"wallet_exodus_no_address\");\n address = response.addresses[0].address;\n },\n payload: {\n message: \"Address for receiving and sending payments\",\n network: { type: BitcoinNetworkType.Mainnet },\n purposes: [AddressPurpose.Payment],\n },\n };\n\n // TODO: Towan - probably not needed ?\n await getAddress(getAddressOptions);\n\n async function signTransaction(psbt: Psbt) {\n let signedPsbt: Psbt | undefined;\n const signPsbtOptions: SignTransactionOptions = {\n getProvider,\n onCancel: () => {\n throw new SwapKitError(\"wallet_exodus_signature_canceled\");\n },\n onFinish: (response) => {\n signedPsbt = Psbt.fromBase64(response.psbtBase64);\n },\n payload: {\n broadcast: false,\n inputsToSign: [{ address: address, signingIndexes: psbt.txInputs.map((_, index) => index) }],\n message: \"Sign transaction\",\n network: { type: BitcoinNetworkType.Mainnet },\n psbtBase64: psbt.toBase64(),\n },\n };\n\n await satsSignTransaction(signPsbtOptions);\n if (!signedPsbt) throw new SwapKitError(\"wallet_exodus_sign_transaction_error\");\n return signedPsbt;\n }\n\n const signer = { getAddress: () => Promise.resolve(address), signTransaction };\n const toolbox = await getUtxoToolbox(chain, { signer });\n\n return { ...toolbox, address };\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.Optimism:\n case Chain.Polygon: {\n const { getProvider, getEvmToolbox } = await import(\"@swapkit/toolboxes/evm\");\n const { BrowserProvider } = await import(\"ethers\");\n\n const walletProvider = await wallet.getProvider(\"ethereum\");\n if (!walletProvider) {\n throw new SwapKitError(\"wallet_exodus_not_found\");\n }\n\n const jsonRpcProvider = await getProvider(chain);\n const browserProvider = new BrowserProvider(walletProvider, \"any\");\n\n await browserProvider.send(\"eth_requestAccounts\", []);\n\n const signer = await browserProvider.getSigner();\n const address = await signer.getAddress();\n const toolbox = await getEvmToolbox(chain, { provider: jsonRpcProvider, signer });\n\n try {\n if (chain !== Chain.Ethereum) {\n const networkParams = toolbox.getNetworkParams();\n await switchEVMWalletNetwork(browserProvider, chain, networkParams);\n }\n } catch (_error) {\n throw new SwapKitError(\"wallet_exodus_failed_to_switch_network\", { chain });\n }\n\n return { ...prepareNetworkSwitch({ chain, provider: browserProvider, toolbox }), address };\n }\n\n case Chain.Solana: {\n const { getSolanaToolbox } = await import(\"@swapkit/toolboxes/solana\");\n const provider = (await wallet.getProvider(\"solana\")) as any as SolanaProvider;\n\n provider?.publicKey;\n\n if (!provider) {\n throw new SwapKitError(\"wallet_exodus_not_found\");\n }\n\n const providerConnection = await provider.connect();\n const address: string = providerConnection.publicKey.toString();\n\n const toolbox = await getSolanaToolbox({ signer: provider });\n\n const disconnect = async () => {\n await provider.disconnect();\n };\n\n return { ...toolbox, address, disconnect };\n }\n\n default:\n throw new SwapKitError(\"wallet_exodus_chain_not_supported\", { chain });\n }\n}\n\nexport const exodusWallet = createWallet({\n connect: ({ addChain, walletType, supportedChains }) =>\n async function connectExodusWallet(chains: Chain[], wallet: Wallet) {\n if (!wallet) throw new SwapKitError(\"wallet_exodus_instance_missing\");\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n try {\n const walletData = await getWalletMethods({ chain, wallet });\n\n const { address, ...walletMethods } = walletData;\n const disconnect = wallet.disconnect;\n\n const finalDisconnect =\n disconnect ||\n (async () => {\n if (wallet.disconnect) {\n await wallet.disconnect();\n }\n });\n\n addChain({\n ...walletMethods,\n address,\n chain,\n disconnect: finalDisconnect,\n walletType: WalletOption.EXODUS,\n });\n } catch (error) {\n console.error(`Failed to connect ${chain} wallet:`, error);\n throw error;\n }\n }),\n );\n\n return true;\n },\n name: \"connectExodusWallet\",\n supportedChains: [...EVMChains, Chain.Bitcoin, Chain.Solana],\n walletType: WalletOption.EXODUS,\n});\n\nexport const EXODUS_SUPPORTED_CHAINS = getWalletSupportedChains(exodusWallet);\nexport * from \"@passkeys/core\";\nexport * from \"@passkeys/react\";\n"
6
6
  ],
7
- "mappings": "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",
8
- "debugId": "831877C89079C7B464756E2164756E21",
7
+ "mappings": "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",
8
+ "debugId": "ADBBF45235F80A7964756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,4 +1,4 @@
1
- var m5={};T5(m5,{walletconnectWallet:()=>Y5,WC_SUPPORTED_CHAINS:()=>S5,TRON_MAINNET_ID:()=>i,THORCHAIN_MAINNET_ID:()=>p,POLYGON_MAINNET_ID:()=>e,OPTIMISM_MAINNET_ID:()=>I,NEAR_TESTNET_ID:()=>o,NEAR_MAINNET_ID:()=>c,MAYACHAIN_MAINNET_ID:()=>l,KUJIRA_MAINNET_ID:()=>h,ETHEREUM_MAINNET_ID:()=>N,DEFAULT_TRON_METHODS:()=>U5,DEFAULT_TRON_EVENTS:()=>X5,DEFAULT_SOLANA_METHODS:()=>j5,DEFAULT_SOLANA_EVENTS:()=>F5,DEFAULT_RELAY_URL:()=>H,DEFAULT_POLKADOT_METHODS:()=>f5,DEFAULT_POLKADOT_EVENTS:()=>V5,DEFAULT_NEAR_METHODS:()=>z5,DEFAULT_NEAR_EVENTS:()=>Q5,DEFAULT_LOGGER:()=>w,DEFAULT_EIP_155_EVENTS:()=>O5,DEFAULT_EIP155_METHODS:()=>R,DEFAULT_COSMOS_METHODS:()=>_,DEFAULT_COSMOS_EVENTS:()=>r5,DEFAULT_APP_METADATA:()=>v5,COSMOS_HUB_MAINNET_ID:()=>d,BSC_MAINNET_ID:()=>g,BERACHAIN_MAINNET_ID:()=>n,BASE_MAINNET_ID:()=>t,AVALANCHE_MAINNET_ID:()=>C,AURORA_MAINNET_ID:()=>a,ARBITRUM_ONE_MAINNET_ID:()=>s});module.exports=w5(m5);var L=require("@swapkit/helpers"),T=require("@swapkit/wallet-core");var b=require("@swapkit/helpers"),K5=require("ethers");var z=require("@swapkit/helpers");var D=(O,j)=>{return(j.find((U)=>U.startsWith(q(O)))||"")?.split(":")?.[2]||""},q=(O)=>{switch(O){case z.Chain.Avalanche:return C;case z.Chain.Aurora:return a;case z.Chain.Base:return t;case z.Chain.BinanceSmartChain:return g;case z.Chain.Berachain:return n;case z.Chain.Ethereum:return N;case z.Chain.THORChain:return p;case z.Chain.Arbitrum:return s;case z.Chain.Optimism:return I;case z.Chain.Polygon:return e;case z.Chain.Maya:return l;case z.Chain.Cosmos:return d;case z.Chain.Kujira:return h;case z.Chain.Near:{let{isStagenet:j}=z.SKConfig.get("envs");return j?o:c}case z.Chain.Tron:return i;default:return""}};class L5 extends K5.AbstractSigner{address;chain;walletconnect;provider;constructor({chain:O,provider:j,walletconnect:F}){super(j);this.chain=O,this.walletconnect=F,this.provider=j,this.address=""}getAddress=async()=>{if(!this.walletconnect)throw new b.SwapKitError("wallet_walletconnect_connection_not_established");if(!this.address)this.address=D(this.chain,this.walletconnect.accounts||[]);return this.address};signMessage=async(O)=>{let j=await this.walletconnect?.client.request({chainId:q(this.chain),request:{method:"eth_sign",params:[O]},topic:this.walletconnect.session.topic||""});return j.startsWith("0x")?j:`0x${j}`};signTransaction=()=>{throw new b.SwapKitError("wallet_walletconnect_method_not_supported",{method:"signTransaction"})};signTypedData=()=>{throw new b.SwapKitError("wallet_walletconnect_method_not_supported",{method:"signTypedData"})};sendTransaction=async({from:O,to:j,value:F,data:V})=>{let{toHexString:U}=await import("@swapkit/toolboxes/evm"),f={data:V,from:O,to:j,value:U(BigInt(F||0))};return await this.walletconnect?.client.request({chainId:q(this.chain),request:{method:"eth_sendTransaction",params:[f]},topic:this.walletconnect.session.topic})};connect=(O)=>{if(!O)throw new b.SwapKitError({errorKey:"wallet_provider_not_found",info:{chain:this.chain,wallet:b.WalletOption.WALLETCONNECT}});return new L5({chain:this.chain,provider:O,walletconnect:this.walletconnect})}}var $5=async({chain:O,walletconnect:j,provider:F})=>new L5({chain:O,provider:F,walletconnect:j});var Z5=require("@swapkit/helpers");var R5=(O)=>{let j=[];for(let F of O){let[V]=F.split(":");if(V&&!j.includes(V))j.push(V)}return j},_5=(O)=>{switch(O){case"eip155":return Object.values(R);case"cosmos":return Object.values(_);case"solana":return Object.values(j5);case"polkadot":return Object.values(f5);case"near":return Object.values(z5);case"tron":return Object.values(U5);default:throw new Z5.SwapKitError({errorKey:"wallet_walletconnect_namespace_not_supported",info:{namespace:O}})}},H5=(O)=>{switch(O){case"eip155":return Object.values(O5);case"cosmos":return[];case"solana":return Object.values(F5);case"polkadot":return Object.values(V5);case"near":return Object.values(Q5);case"tron":return Object.values(X5);default:throw new Z5.SwapKitError({errorKey:"wallet_walletconnect_namespace_not_supported",info:{namespace:O}})}},q5=(O)=>{let j=R5(O);return Object.fromEntries(j.map((F)=>[F,{chains:O.filter((V)=>V.startsWith(F)),events:H5(F),methods:_5(F)}]))};var Y5=T.createWallet({connect:({addChain:O,supportedChains:j,walletType:F})=>async function V(U,f){let Q=L.filterSupportedChains({chains:U,supportedChains:j,walletType:F}),{walletConnectProjectId:y}=L.SKConfig.get("apiKeys");if(!y)throw new L.SwapKitError("wallet_walletconnect_project_id_not_specified");let X=await M5(Q,y,f);if(!X)throw new L.SwapKitError("wallet_walletconnect_connection_not_established");let{accounts:K}=X;return await Promise.all(Q.map(async(v)=>{let $=D(v,K||[]),Y=await x5({address:$,chain:v,walletconnect:X});O({...Y,address:$,chain:v,disconnect:X.disconnect,walletType:L.WalletOption.WALLETCONNECT})})),!0},name:"connectWalletconnect",supportedChains:[L.Chain.Arbitrum,L.Chain.Aurora,L.Chain.Avalanche,L.Chain.Base,L.Chain.Berachain,L.Chain.BinanceSmartChain,L.Chain.Cosmos,L.Chain.Ethereum,L.Chain.Kujira,L.Chain.Maya,L.Chain.Near,L.Chain.Optimism,L.Chain.Polygon,L.Chain.THORChain,L.Chain.Tron],walletType:L.WalletOption.WALLETCONNECT}),S5=T.getWalletSupportedChains(Y5);async function x5({chain:O,walletconnect:j,address:F}){let V=j?.session;if(!V)throw new L.SwapKitError("wallet_walletconnect_connection_not_established");switch(O){case L.Chain.Arbitrum:case L.Chain.Avalanche:case L.Chain.Base:case L.Chain.BinanceSmartChain:case L.Chain.Ethereum:case L.Chain.Optimism:case L.Chain.Polygon:{let{getProvider:U,getEvmToolbox:f}=await import("@swapkit/toolboxes/evm"),Q=await U(O),y=await $5({chain:O,provider:Q,walletconnect:j});return await f(O,{provider:Q,signer:y})}case L.Chain.THORChain:{let{SignMode:U}=await import("cosmjs-types/cosmos/tx/signing/v1beta1/signing.js"),{TxRaw:f}=await import("cosmjs-types/cosmos/tx/v1beta1/tx.js"),Q=await import("@cosmjs/proto-signing"),y=Q.encodePubkey??Q.default?.encodePubkey,X=Q.makeAuthInfoBytes??Q.default?.makeAuthInfoBytes,v=(await import("@cosmjs/amino")).makeSignDoc??Q.default?.makeSignDoc,{getCosmosToolbox:$,buildAminoMsg:Y,buildEncodedTxBody:W,createStargateClient:r,fromBase64:S,getDefaultChainFee:x,parseAminoMessageForDirectSigning:M}=await import("@swapkit/toolboxes/cosmos"),k=await $(L.Chain.THORChain);async function y5(G){let E=await k.getAccount(G);if(O!==L.Chain.THORChain)return E;let[{address:J,algo:m,pubkey:B}]=await j?.client.request({chainId:p,request:{method:"cosmos_getAccounts",params:{}},topic:V.topic});return{...E,address:J,pubkey:{type:m,value:B}}}let P=x(O),b5=(G)=>j?.client.request({chainId:p,request:{method:"cosmos_signAmino",params:{signDoc:G,signerAddress:F}},topic:V.topic});async function G5({assetValue:G,memo:u,...E}){let J=await k.getAccount(F);if(!J)throw new L.SwapKitError({errorKey:"wallet_missing_params",info:{account:J}});if(!J.pubkey)throw new L.SwapKitError({errorKey:"wallet_missing_params",info:{account:J,pubkey:J?.pubkey}});let{accountNumber:m,sequence:B=0}=J,J5=[Y({assetValue:G,memo:u,sender:F,...E})],k5=L.ChainId.THORChain,p5=v(J5,P,k5,u,m?.toString(),B?.toString()||"0"),A=await b5(p5),P5=await W({chain:L.Chain.THORChain,memo:u||"",msgs:J5.map(M)}),W5=y(J.pubkey),u5=X([{pubkey:W5,sequence:B}],P.amount,Number.parseInt(P.gas,10),void 0,void 0,U.SIGN_MODE_LEGACY_AMINO_JSON),E5=f.fromPartial({authInfoBytes:u5,bodyBytes:P5,signatures:[S(typeof A.signature==="string"?A.signature:A.signature.signature)]}),B5=f.encode(E5).finish(),D5=await L.getRPCUrl(L.Chain.THORChain);return(await(await r(D5)).broadcastTx(B5)).transactionHash}return{...k,deposit:(G)=>G5(G),getAccount:y5,transfer:(G)=>G5(G)}}case L.Chain.Near:{let{getNearToolbox:U}=await import("@swapkit/toolboxes/near"),{DEFAULT_NEAR_METHODS:f}=await import("../../chunk-rv3zf3sa.js");return await U({signer:{getAddress(){return Promise.resolve(F)},getPublicKey(){return Promise.reject(new L.SwapKitError("wallet_walletconnect_method_not_supported",{method:"getPublicKey"}))},signDelegateAction(X){return Promise.reject(new L.SwapKitError("wallet_walletconnect_method_not_supported",{method:"signDelegateAction"}))},signNep413Message(X,K,v,$,Y){return Promise.reject(new L.SwapKitError("wallet_walletconnect_method_not_supported",{method:"signNep413Message"}))},async signTransaction(X){if(!j)throw new L.SwapKitError("wallet_walletconnect_connection_not_established");let K=await j.client.request({chainId:q(L.Chain.Near),request:{method:f.NEAR_SIGN_AND_SEND_TRANSACTION,params:{transaction:X}},topic:V.topic});return[new Uint8Array(32),K]}}})}case L.Chain.Tron:{let{createTronToolbox:U}=await import("@swapkit/toolboxes/tron"),{DEFAULT_TRON_METHODS:f}=await import("../../chunk-rv3zf3sa.js");return await U({signer:{getAddress(){return Promise.resolve(F)},async signTransaction(X){if(!j)throw new L.SwapKitError("wallet_walletconnect_connection_not_established");return await j.client.request({chainId:q(L.Chain.Tron),request:{method:f.TRON_SIGN_TRANSACTION,params:{transaction:X}},topic:V.topic})}}})}default:throw new L.SwapKitError({errorKey:"wallet_chain_not_supported",info:{chain:O,wallet:L.WalletOption.WALLETCONNECT}})}}async function M5(O,j,F){let V,U,f,Q;try{if(!j)throw new L.SwapKitError("wallet_walletconnect_project_id_not_specified");let y=q5(O.map(q)),{SignClient:X}=await import("@walletconnect/sign-client"),{WalletConnectModal:K}=await import("@walletconnect/modal"),v=await X.init({logger:w,metadata:F?.metadata||v5,projectId:j,relayUrl:H,...F?.core}),$=new K({logger:w,projectId:j,relayUrl:H,...F?.core}),Y=(await v.session.getAll())[0];if(Y)await v.disconnect({reason:{code:0,message:"Resetting session"},topic:Y.topic});let{uri:W,approval:r}=await v.connect({requiredNamespaces:y});if(W){let x=function(M){let k=[];for(let[y5,P]of Object.entries(M.namespaces))k.push(...P.accounts);return k};$.openModal({uri:W}),f=await r(),$.closeModal(),Q=x(f)}let S=async()=>{f&&await v.disconnect({reason:{code:0,message:"User disconnected"},topic:f.topic})};if(!f)throw new L.SwapKitError("wallet_walletconnect_connection_not_established");return{accounts:Q,client:v,disconnect:S,session:f,signer:U}}catch(y){}finally{if(V)V.closeModal()}return}
1
+ var S5={};_5(S5,{walletconnectWallet:()=>$5,WC_SUPPORTED_CHAINS:()=>H5,TRON_MAINNET_ID:()=>e,THORCHAIN_MAINNET_ID:()=>k,POLYGON_MAINNET_ID:()=>s,OPTIMISM_MAINNET_ID:()=>l,NEAR_TESTNET_ID:()=>t,NEAR_MAINNET_ID:()=>c,MAYACHAIN_MAINNET_ID:()=>C,KUJIRA_MAINNET_ID:()=>g,ETHEREUM_MAINNET_ID:()=>m,DEFAULT_TRON_METHODS:()=>z5,DEFAULT_TRON_EVENTS:()=>Q5,DEFAULT_SOLANA_METHODS:()=>L5,DEFAULT_SOLANA_EVENTS:()=>j5,DEFAULT_RELAY_URL:()=>D,DEFAULT_POLKADOT_METHODS:()=>O5,DEFAULT_POLKADOT_EVENTS:()=>F5,DEFAULT_NEAR_METHODS:()=>f5,DEFAULT_NEAR_EVENTS:()=>y5,DEFAULT_LOGGER:()=>r,DEFAULT_EIP_155_EVENTS:()=>n,DEFAULT_EIP155_METHODS:()=>E,DEFAULT_COSMOS_METHODS:()=>B,DEFAULT_COSMOS_EVENTS:()=>w5,DEFAULT_APP_METADATA:()=>V5,COSMOS_HUB_MAINNET_ID:()=>N,BSC_MAINNET_ID:()=>A,BERACHAIN_MAINNET_ID:()=>a,BASE_MAINNET_ID:()=>I,AVALANCHE_MAINNET_ID:()=>d,AURORA_MAINNET_ID:()=>o,ARBITRUM_ONE_MAINNET_ID:()=>h});module.exports=R5(S5);var L=require("@swapkit/helpers"),R=require("@swapkit/wallet-core");var Y=require("@swapkit/helpers"),G5=require("ethers");var y=require("@swapkit/helpers");var W=(j,O)=>{return(O.find((U)=>U.startsWith($(j)))||"")?.split(":")?.[2]||""},$=(j)=>{switch(j){case y.Chain.Avalanche:return d;case y.Chain.Aurora:return o;case y.Chain.Base:return I;case y.Chain.BinanceSmartChain:return A;case y.Chain.Berachain:return a;case y.Chain.Ethereum:return m;case y.Chain.THORChain:return k;case y.Chain.Arbitrum:return h;case y.Chain.Optimism:return l;case y.Chain.Polygon:return s;case y.Chain.Maya:return C;case y.Chain.Cosmos:return N;case y.Chain.Kujira:return g;case y.Chain.Near:{let{isStagenet:O}=y.SKConfig.get("envs");return O?t:c}case y.Chain.Tron:return e;default:return""}};class i extends G5.AbstractSigner{address;chain;walletconnect;provider;constructor({chain:j,provider:O,walletconnect:F}){super(O);this.chain=j,this.walletconnect=F,this.provider=O,this.address=""}getAddress=async()=>{if(!this.walletconnect)throw new Y.SwapKitError("wallet_walletconnect_connection_not_established");if(!this.address)this.address=W(this.chain,this.walletconnect.accounts||[]);return this.address};signMessage=async(j)=>{let O=await this.walletconnect?.client.request({chainId:$(this.chain),request:{method:"eth_sign",params:[j]},topic:this.walletconnect.session.topic||""});return O.startsWith("0x")?O:`0x${O}`};signTransaction=()=>{throw new Y.SwapKitError("wallet_walletconnect_method_not_supported",{method:"signTransaction"})};signTypedData=()=>{throw new Y.SwapKitError("wallet_walletconnect_method_not_supported",{method:"signTypedData"})};sendTransaction=async({from:j,to:O,value:F,data:z})=>{let{toHexString:U}=await import("@swapkit/toolboxes/evm"),f={data:z,from:j,to:O,value:U(BigInt(F||0))};return await this.walletconnect?.client.request({chainId:$(this.chain),request:{method:"eth_sendTransaction",params:[f]},topic:this.walletconnect.session.topic})};connect=(j)=>{if(!j)throw new Y.SwapKitError({errorKey:"wallet_provider_not_found",info:{chain:this.chain,wallet:Y.WalletOption.WALLETCONNECT}});return new i({chain:this.chain,provider:j,walletconnect:this.walletconnect})}}var J5=async({chain:j,walletconnect:O,provider:F})=>new i({chain:j,provider:F,walletconnect:O});var U5=require("@swapkit/helpers");var B5=(j)=>{let O=[];for(let F of j){let[z]=F.split(":");if(z&&!O.includes(z))O.push(z)}return O},D5=(j)=>{switch(j){case"eip155":return Object.values(E);case"cosmos":return Object.values(B);case"solana":return Object.values(L5);case"polkadot":return Object.values(O5);case"near":return Object.values(f5);case"tron":return Object.values(z5);default:throw new U5.SwapKitError({errorKey:"wallet_walletconnect_namespace_not_supported",info:{namespace:j}})}},r5=(j)=>{switch(j){case"eip155":return Object.values(n);case"cosmos":return[];case"solana":return Object.values(j5);case"polkadot":return Object.values(F5);case"near":return Object.values(y5);case"tron":return Object.values(Q5);default:throw new U5.SwapKitError({errorKey:"wallet_walletconnect_namespace_not_supported",info:{namespace:j}})}},K5=(j)=>{let O=B5(j);return Object.fromEntries(O.map((F)=>[F,{chains:j.filter((z)=>z.startsWith(F)),events:r5(F),methods:D5(F)}]))};var $5=R.createWallet({connect:({addChain:j,supportedChains:O,walletType:F})=>async function z(U,f){let Q=L.filterSupportedChains({chains:U,supportedChains:O,walletType:F}),{walletConnectProjectId:v}=L.SKConfig.get("apiKeys");if(!v)throw new L.SwapKitError("wallet_walletconnect_project_id_not_specified");let V=await x5(Q,v,f);if(!V)throw new L.SwapKitError("wallet_walletconnect_connection_not_established");let{accounts:G}=V;return await Promise.all(Q.map(async(Z)=>{let J=W(Z,G||[]),b=await T5({address:J,chain:Z,walletconnect:V});j({...b,address:J,chain:Z,disconnect:V.disconnect,walletType:L.WalletOption.WALLETCONNECT})})),!0},name:"connectWalletconnect",supportedChains:[L.Chain.Arbitrum,L.Chain.Aurora,L.Chain.Avalanche,L.Chain.Base,L.Chain.Berachain,L.Chain.BinanceSmartChain,L.Chain.Cosmos,L.Chain.Ethereum,L.Chain.Kujira,L.Chain.Maya,L.Chain.Near,L.Chain.Optimism,L.Chain.Polygon,L.Chain.THORChain,L.Chain.Tron],walletType:L.WalletOption.WALLETCONNECT}),H5=R.getWalletSupportedChains($5);async function T5({chain:j,walletconnect:O,address:F}){let z=O?.session;if(!z)throw new L.SwapKitError("wallet_walletconnect_connection_not_established");switch(j){case L.Chain.Arbitrum:case L.Chain.Avalanche:case L.Chain.Base:case L.Chain.BinanceSmartChain:case L.Chain.Ethereum:case L.Chain.Optimism:case L.Chain.Polygon:{let{getProvider:U,getEvmToolbox:f}=await import("@swapkit/toolboxes/evm"),Q=await U(j),v=await J5({chain:j,provider:Q,walletconnect:O});return await f(j,{provider:Q,signer:v})}case L.Chain.THORChain:{let{SignMode:U}=await import("cosmjs-types/cosmos/tx/signing/v1beta1/signing.js"),{TxRaw:f}=await import("cosmjs-types/cosmos/tx/v1beta1/tx.js"),Q=await import("@cosmjs/proto-signing"),v=Q.encodePubkey??Q.default?.encodePubkey,V=Q.makeAuthInfoBytes??Q.default?.makeAuthInfoBytes,Z=(await import("@cosmjs/amino")).makeSignDoc??Q.default?.makeSignDoc,{getCosmosToolbox:J,buildAminoMsg:b,buildEncodedTxBody:p,createStargateClient:_,fromBase64:w,getDefaultChainFee:H,parseAminoMessageForDirectSigning:T}=await import("@swapkit/toolboxes/cosmos"),P=await J(j),u=H(j),x=(K)=>O?.client.request({chainId:k,request:{method:"cosmos_signAmino",params:{signDoc:K,signerAddress:F}},topic:z.topic});async function X5({assetValue:K,memo:S,...b5}){let q=await P.getAccount(F);if(!q)throw new L.SwapKitError({errorKey:"wallet_missing_params",info:{account:q}});if(!q.pubkey)throw new L.SwapKitError({errorKey:"wallet_missing_params",info:{account:q,pubkey:q?.pubkey}});let{accountNumber:q5,sequence:Z5=0}=q,v5=[b({...b5,assetValue:K,memo:S,sender:F})],Y5=Z(v5,u,K.chainId,S,q5?.toString(),Z5?.toString()||"0"),M=await x(Y5),P5=await p({chain:L.Chain.THORChain,memo:S||"",msgs:v5.map(T)}),k5=v(q.pubkey),p5=V([{pubkey:k5,sequence:Z5}],u.amount,Number.parseInt(u.gas,10),void 0,void 0,U.SIGN_MODE_LEGACY_AMINO_JSON),u5=f.fromPartial({authInfoBytes:p5,bodyBytes:P5,signatures:[w(typeof M.signature==="string"?M.signature:M.signature.signature)]}),W5=f.encode(u5).finish(),E5=await L.getRPCUrl(L.Chain.THORChain);return(await(await _(E5)).broadcastTx(W5)).transactionHash}return{...P,deposit:(K)=>X5(K),transfer:(K)=>X5(K)}}case L.Chain.Near:{let{getNearToolbox:U}=await import("@swapkit/toolboxes/near"),{DEFAULT_NEAR_METHODS:f}=await import("../../chunk-rv3zf3sa.js");return await U({signer:{getAddress(){return Promise.resolve(F)},getPublicKey(){return Promise.reject(new L.SwapKitError("wallet_walletconnect_method_not_supported",{method:"getPublicKey"}))},signDelegateAction(V){return Promise.reject(new L.SwapKitError("wallet_walletconnect_method_not_supported",{method:"signDelegateAction"}))},signNep413Message(V,G,Z,J,b){return Promise.reject(new L.SwapKitError("wallet_walletconnect_method_not_supported",{method:"signNep413Message"}))},async signTransaction(V){if(!O)throw new L.SwapKitError("wallet_walletconnect_connection_not_established");let G=await O.client.request({chainId:$(L.Chain.Near),request:{method:f.NEAR_SIGN_AND_SEND_TRANSACTION,params:{transaction:V}},topic:z.topic});return[new Uint8Array(32),G]}}})}case L.Chain.Tron:{let{createTronToolbox:U}=await import("@swapkit/toolboxes/tron"),{DEFAULT_TRON_METHODS:f}=await import("../../chunk-rv3zf3sa.js");return await U({signer:{getAddress(){return Promise.resolve(F)},async signTransaction(V){if(!O)throw new L.SwapKitError("wallet_walletconnect_connection_not_established");return await O.client.request({chainId:$(L.Chain.Tron),request:{method:f.TRON_SIGN_TRANSACTION,params:{transaction:V}},topic:z.topic})}}})}default:throw new L.SwapKitError({errorKey:"wallet_chain_not_supported",info:{chain:j,wallet:L.WalletOption.WALLETCONNECT}})}}async function x5(j,O,F){let z,U,f,Q;try{let v=K5(j.map($)),{SignClient:V}=await import("@walletconnect/sign-client"),{WalletConnectModal:G}=await import("@walletconnect/modal"),Z=await V.init({logger:r,metadata:F?.metadata||V5,projectId:O,relayUrl:D,...F?.core}),J=new G({logger:r,projectId:O,relayUrl:D,...F?.core}),b=(await Z.session.getAll())[0];if(b)await Z.disconnect({reason:{code:0,message:"Resetting session"},topic:b.topic});let{uri:p,approval:_}=await Z.connect({requiredNamespaces:v});if(p){let H=function(T){let P=[];for(let[u,x]of Object.entries(T.namespaces))P.push(...x.accounts);return P};J.openModal({uri:p}),f=await _(),J.closeModal(),Q=H(f)}let w=async()=>{f&&await Z.disconnect({reason:{code:0,message:"User disconnected"},topic:f.topic})};if(!f)throw new L.SwapKitError("wallet_walletconnect_connection_not_established");return{accounts:Q,client:Z,disconnect:w,session:f,signer:U}}catch(v){}finally{if(z)z.closeModal()}return}
2
2
 
3
- //# debugId=BC23F3D6F51D579864756E2164756E21
3
+ //# debugId=14A400789545AFA264756E2164756E21
4
4
  //# sourceMappingURL=index.cjs.map
@@ -2,12 +2,12 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/walletconnect/index.ts", "../src/walletconnect/evmSigner.ts", "../src/walletconnect/helpers.ts", "../src/walletconnect/namespaces.ts"],
4
4
  "sourcesContent": [
5
- "import type { StdSignDoc } from \"@cosmjs/amino\";\nimport {\n Chain,\n ChainId,\n filterSupportedChains,\n type GenericTransferParams,\n getRPCUrl,\n SKConfig,\n SwapKitError,\n WalletOption,\n} from \"@swapkit/helpers\";\nimport type { createThorchainToolbox, ThorchainDepositParams } from \"@swapkit/toolboxes/cosmos\";\nimport type { NearSigner } from \"@swapkit/toolboxes/near\";\nimport type { TronSignedTransaction, TronSigner, TronTransaction } from \"@swapkit/toolboxes/tron\";\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\nimport type { WalletConnectModal } from \"@walletconnect/modal\";\nimport type { SignClient } from \"@walletconnect/sign-client\";\nimport type { SessionTypes, SignClientTypes } from \"@walletconnect/types\";\nimport type { Transaction } from \"near-api-js/lib/transaction\";\nimport {\n DEFAULT_APP_METADATA,\n DEFAULT_COSMOS_METHODS,\n DEFAULT_LOGGER,\n DEFAULT_RELAY_URL,\n THORCHAIN_MAINNET_ID,\n} from \"./constants\";\nimport { getEVMSigner } from \"./evmSigner\";\nimport { chainToChainId, getAddressByChain } from \"./helpers\";\nimport { getRequiredNamespaces } from \"./namespaces\";\n\nexport * from \"./constants\";\nexport * from \"./types\";\n\nexport const walletconnectWallet = createWallet({\n connect: ({ addChain, supportedChains, walletType }) =>\n async function connectWalletconnect(chains: Chain[], walletconnectOptions?: SignClientTypes.Options) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n const { walletConnectProjectId } = SKConfig.get(\"apiKeys\");\n\n if (!walletConnectProjectId) {\n throw new SwapKitError(\"wallet_walletconnect_project_id_not_specified\");\n }\n\n const walletconnect = await getWalletconnect(filteredChains, walletConnectProjectId, walletconnectOptions);\n\n if (!walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n const { accounts } = walletconnect;\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n const address = getAddressByChain(chain, accounts || []);\n const toolbox = await getToolbox({ address, chain, walletconnect });\n\n addChain({\n ...toolbox,\n address,\n chain,\n disconnect: walletconnect.disconnect,\n walletType: WalletOption.WALLETCONNECT,\n });\n }),\n );\n\n return true;\n },\n name: \"connectWalletconnect\",\n supportedChains: [\n Chain.Arbitrum,\n Chain.Aurora,\n Chain.Avalanche,\n Chain.Base,\n Chain.Berachain,\n Chain.BinanceSmartChain,\n Chain.Cosmos,\n Chain.Ethereum,\n Chain.Kujira,\n Chain.Maya,\n Chain.Near,\n Chain.Optimism,\n Chain.Polygon,\n Chain.THORChain,\n Chain.Tron,\n ],\n walletType: WalletOption.WALLETCONNECT,\n});\n\nexport const WC_SUPPORTED_CHAINS = getWalletSupportedChains(walletconnectWallet);\nexport type Walletconnect = Awaited<ReturnType<typeof getWalletconnect>>;\n\nasync function getToolbox<T extends (typeof WC_SUPPORTED_CHAINS)[number]>({\n chain,\n walletconnect,\n address,\n}: {\n walletconnect: Walletconnect;\n chain: T;\n address: string;\n}) {\n const session = walletconnect?.session;\n if (!session) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n switch (chain) {\n case Chain.Arbitrum:\n case Chain.Avalanche:\n case Chain.Base:\n case Chain.BinanceSmartChain:\n case Chain.Ethereum:\n case Chain.Optimism:\n case Chain.Polygon: {\n const { getProvider, getEvmToolbox } = await import(\"@swapkit/toolboxes/evm\");\n\n const provider = await getProvider(chain);\n const signer = await getEVMSigner({ chain, provider, walletconnect });\n const toolbox = await getEvmToolbox(chain, { provider, signer });\n\n return toolbox;\n }\n\n case Chain.THORChain: {\n const { SignMode } = await import(\"cosmjs-types/cosmos/tx/signing/v1beta1/signing.js\");\n const { TxRaw } = await import(\"cosmjs-types/cosmos/tx/v1beta1/tx.js\");\n\n const importedSigning = await import(\"@cosmjs/proto-signing\");\n const encodePubkey = importedSigning.encodePubkey ?? importedSigning.default?.encodePubkey;\n const makeAuthInfoBytes = importedSigning.makeAuthInfoBytes ?? importedSigning.default?.makeAuthInfoBytes;\n const importedAmino = await import(\"@cosmjs/amino\");\n const makeSignDoc = importedAmino.makeSignDoc ?? importedSigning.default?.makeSignDoc;\n\n const {\n getCosmosToolbox,\n buildAminoMsg,\n buildEncodedTxBody,\n createStargateClient,\n fromBase64,\n getDefaultChainFee,\n parseAminoMessageForDirectSigning,\n } = await import(\"@swapkit/toolboxes/cosmos\");\n const toolbox = await getCosmosToolbox(Chain.THORChain);\n\n async function getAccount(accountAddress: string) {\n const cosmosToolbox = toolbox;\n const account = await (cosmosToolbox as Awaited<ReturnType<typeof createThorchainToolbox>>).getAccount(\n accountAddress,\n );\n\n if (chain !== Chain.THORChain) {\n return account;\n }\n\n const [{ address, algo, pubkey }] = (await walletconnect?.client.request({\n chainId: THORCHAIN_MAINNET_ID,\n request: { method: DEFAULT_COSMOS_METHODS.COSMOS_GET_ACCOUNTS, params: {} },\n // @ts-expect-error\n topic: session.topic,\n })) as [{ address: string; algo: string; pubkey: string }];\n\n return { ...account, address, pubkey: { type: algo, value: pubkey } };\n }\n\n const fee = getDefaultChainFee(chain);\n\n const signRequest = (signDoc: StdSignDoc) =>\n walletconnect?.client.request({\n chainId: THORCHAIN_MAINNET_ID,\n request: { method: DEFAULT_COSMOS_METHODS.COSMOS_SIGN_AMINO, params: { signDoc, signerAddress: address } },\n topic: session.topic,\n });\n\n async function thorchainTransfer({ assetValue, memo, ...rest }: GenericTransferParams | ThorchainDepositParams) {\n const account = await toolbox.getAccount(address);\n if (!account) {\n throw new SwapKitError({ errorKey: \"wallet_missing_params\", info: { account } });\n }\n\n if (!account.pubkey) {\n throw new SwapKitError({ errorKey: \"wallet_missing_params\", info: { account, pubkey: account?.pubkey } });\n }\n\n const { accountNumber, sequence = 0 } = account;\n\n const msgs = [buildAminoMsg({ assetValue, memo, sender: address, ...rest })];\n\n const chainId = ChainId.THORChain;\n\n const signDoc = makeSignDoc(msgs, fee, chainId, memo, accountNumber?.toString(), sequence?.toString() || \"0\");\n\n const signature: any = await signRequest(signDoc);\n\n const bodyBytes = await buildEncodedTxBody({\n chain: Chain.THORChain,\n memo: memo || \"\",\n msgs: msgs.map(parseAminoMessageForDirectSigning),\n });\n const pubkey = encodePubkey(account.pubkey);\n const authInfoBytes = makeAuthInfoBytes(\n [{ pubkey, sequence }],\n fee.amount,\n Number.parseInt(fee.gas, 10),\n undefined,\n undefined,\n SignMode.SIGN_MODE_LEGACY_AMINO_JSON,\n );\n\n const txRaw = TxRaw.fromPartial({\n authInfoBytes,\n bodyBytes,\n signatures: [\n fromBase64(typeof signature.signature === \"string\" ? signature.signature : signature.signature.signature),\n ],\n });\n const txBytes = TxRaw.encode(txRaw).finish();\n\n const rpcUrl = await getRPCUrl(Chain.THORChain);\n const broadcaster = await createStargateClient(rpcUrl);\n const result = await broadcaster.broadcastTx(txBytes);\n return result.transactionHash;\n }\n\n return {\n ...toolbox,\n deposit: (params: ThorchainDepositParams) => thorchainTransfer(params),\n getAccount,\n transfer: (params: GenericTransferParams) => thorchainTransfer(params),\n };\n }\n\n case Chain.Near: {\n const { getNearToolbox } = await import(\"@swapkit/toolboxes/near\");\n const { DEFAULT_NEAR_METHODS } = await import(\"./constants\");\n\n // Create a NEAR signer that uses WalletConnect\n const signer = {\n getAddress() {\n return Promise.resolve(address);\n },\n getPublicKey() {\n // WalletConnect NEAR doesn't expose public key directly\n return Promise.reject(\n new SwapKitError(\"wallet_walletconnect_method_not_supported\", { method: \"getPublicKey\" }),\n );\n },\n\n signDelegateAction(_delegateAction: any) {\n return Promise.reject(\n new SwapKitError(\"wallet_walletconnect_method_not_supported\", { method: \"signDelegateAction\" }),\n );\n },\n\n signNep413Message(\n _message: string,\n _accountId: string,\n _recipient: string,\n _nonce: Uint8Array,\n _callbackUrl?: string,\n ) {\n // WalletConnect NEAR spec doesn't include NEP-413 message signing\n return Promise.reject(\n new SwapKitError(\"wallet_walletconnect_method_not_supported\", { method: \"signNep413Message\" }),\n );\n },\n\n async signTransaction(transaction: Transaction) {\n if (!walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n // WalletConnect signs and sends in one operation\n const result = await walletconnect.client.request({\n chainId: chainToChainId(Chain.Near),\n request: { method: DEFAULT_NEAR_METHODS.NEAR_SIGN_AND_SEND_TRANSACTION, params: { transaction } },\n topic: session.topic,\n });\n // Return dummy hash and result\n return [new Uint8Array(32), result];\n },\n } as NearSigner;\n\n const toolbox = await getNearToolbox({ signer });\n return toolbox;\n }\n\n case Chain.Tron: {\n const { createTronToolbox } = await import(\"@swapkit/toolboxes/tron\");\n const { DEFAULT_TRON_METHODS } = await import(\"./constants\");\n\n // Create a Tron signer that uses WalletConnect\n const signer: TronSigner = {\n getAddress() {\n return Promise.resolve(address);\n },\n\n async signTransaction(transaction: TronTransaction) {\n if (!walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n const signedTx = await walletconnect.client.request({\n chainId: chainToChainId(Chain.Tron),\n request: { method: DEFAULT_TRON_METHODS.TRON_SIGN_TRANSACTION, params: { transaction } },\n topic: session.topic,\n });\n\n return signedTx as TronSignedTransaction;\n },\n };\n\n const toolbox = await createTronToolbox({ signer });\n return toolbox;\n }\n\n default:\n throw new SwapKitError({\n errorKey: \"wallet_chain_not_supported\",\n info: { chain, wallet: WalletOption.WALLETCONNECT },\n });\n }\n}\n\nasync function getWalletconnect(\n chains: Chain[],\n walletConnectProjectId?: string,\n walletconnectOptions?: SignClientTypes.Options,\n) {\n let modal: WalletConnectModal | undefined;\n let signer: typeof SignClient | undefined;\n let session: SessionTypes.Struct | undefined;\n let accounts: string[] | undefined;\n try {\n if (!walletConnectProjectId) {\n throw new SwapKitError(\"wallet_walletconnect_project_id_not_specified\");\n }\n const requiredNamespaces = getRequiredNamespaces(chains.map(chainToChainId));\n\n const { SignClient } = await import(\"@walletconnect/sign-client\");\n const { WalletConnectModal } = await import(\"@walletconnect/modal\");\n\n const client = await SignClient.init({\n logger: DEFAULT_LOGGER,\n metadata: walletconnectOptions?.metadata || DEFAULT_APP_METADATA,\n projectId: walletConnectProjectId,\n relayUrl: DEFAULT_RELAY_URL,\n ...walletconnectOptions?.core,\n });\n\n const modal = new WalletConnectModal({\n logger: DEFAULT_LOGGER,\n projectId: walletConnectProjectId,\n relayUrl: DEFAULT_RELAY_URL,\n ...walletconnectOptions?.core,\n });\n\n const oldSession = (await client.session.getAll())[0];\n\n // disconnect old Session cause we can't handle using it with current ui\n if (oldSession) {\n await client.disconnect({ reason: { code: 0, message: \"Resetting session\" }, topic: oldSession.topic });\n }\n\n const { uri, approval } = await client.connect({\n // Optionally: pass a known prior pairing (e.g. from `client.core.pairing.getPairings()`) to skip the `uri` step.\n // pairingTopic: pairing?.topic,\n // Provide the namespaces and chains (e.g. `eip155` for EVM-based chains) we want to use in this session.\n requiredNamespaces,\n });\n\n if (uri) {\n modal.openModal({ uri });\n // Await session approval from the wallet.\n session = await approval();\n // Handle the returned session (e.g. update UI to \"connected\" state).\n // Close the QRCode modal in case it was open.\n modal.closeModal();\n\n function extractAccountsFromSession(session: SessionTypes.Struct) {\n const accounts: string[] = [];\n\n for (const [_namespace, data] of Object.entries(session.namespaces)) {\n accounts.push(...data.accounts);\n }\n\n return accounts;\n }\n\n accounts = extractAccountsFromSession(session);\n }\n\n const disconnect = async () => {\n session && (await client.disconnect({ reason: { code: 0, message: \"User disconnected\" }, topic: session.topic }));\n };\n\n if (!session) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n return { accounts, client, disconnect, session, signer };\n } catch (_e) {\n // Errors are handled by returning undefined\n } finally {\n if (modal) {\n modal.closeModal();\n }\n }\n return undefined;\n}\n",
5
+ "import type { StdSignDoc } from \"@cosmjs/amino\";\nimport {\n Chain,\n filterSupportedChains,\n type GenericTransferParams,\n getRPCUrl,\n SKConfig,\n SwapKitError,\n WalletOption,\n} from \"@swapkit/helpers\";\nimport type { ThorchainDepositParams } from \"@swapkit/toolboxes/cosmos\";\nimport type { NearSigner } from \"@swapkit/toolboxes/near\";\nimport type { TronSignedTransaction, TronSigner, TronTransaction } from \"@swapkit/toolboxes/tron\";\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\nimport type { WalletConnectModal } from \"@walletconnect/modal\";\nimport type { SignClient } from \"@walletconnect/sign-client\";\nimport type { SessionTypes, SignClientTypes } from \"@walletconnect/types\";\nimport type { Transaction } from \"near-api-js/lib/transaction\";\nimport {\n DEFAULT_APP_METADATA,\n DEFAULT_COSMOS_METHODS,\n DEFAULT_LOGGER,\n DEFAULT_RELAY_URL,\n THORCHAIN_MAINNET_ID,\n} from \"./constants\";\nimport { getEVMSigner } from \"./evmSigner\";\nimport { chainToChainId, getAddressByChain } from \"./helpers\";\nimport { getRequiredNamespaces } from \"./namespaces\";\n\nexport * from \"./constants\";\nexport * from \"./types\";\n\nexport const walletconnectWallet = createWallet({\n connect: ({ addChain, supportedChains, walletType }) =>\n async function connectWalletconnect(chains: Chain[], walletconnectOptions?: SignClientTypes.Options) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n const { walletConnectProjectId } = SKConfig.get(\"apiKeys\");\n\n if (!walletConnectProjectId) {\n throw new SwapKitError(\"wallet_walletconnect_project_id_not_specified\");\n }\n\n const walletconnect = await getWalletconnect(filteredChains, walletConnectProjectId, walletconnectOptions);\n\n if (!walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n const { accounts } = walletconnect;\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n const address = getAddressByChain(chain, accounts || []);\n const toolbox = await getToolbox({ address, chain, walletconnect });\n\n addChain({\n ...toolbox,\n address,\n chain,\n disconnect: walletconnect.disconnect,\n walletType: WalletOption.WALLETCONNECT,\n });\n }),\n );\n\n return true;\n },\n name: \"connectWalletconnect\",\n supportedChains: [\n Chain.Arbitrum,\n Chain.Aurora,\n Chain.Avalanche,\n Chain.Base,\n Chain.Berachain,\n Chain.BinanceSmartChain,\n Chain.Cosmos,\n Chain.Ethereum,\n Chain.Kujira,\n Chain.Maya,\n Chain.Near,\n Chain.Optimism,\n Chain.Polygon,\n Chain.THORChain,\n Chain.Tron,\n ],\n walletType: WalletOption.WALLETCONNECT,\n});\n\nexport const WC_SUPPORTED_CHAINS = getWalletSupportedChains(walletconnectWallet);\nexport type Walletconnect = Awaited<ReturnType<typeof getWalletconnect>>;\n\nasync function getToolbox<T extends (typeof WC_SUPPORTED_CHAINS)[number]>({\n chain,\n walletconnect,\n address,\n}: {\n walletconnect: Walletconnect;\n chain: T;\n address: string;\n}) {\n const session = walletconnect?.session;\n if (!session) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n switch (chain) {\n case Chain.Arbitrum:\n case Chain.Avalanche:\n case Chain.Base:\n case Chain.BinanceSmartChain:\n case Chain.Ethereum:\n case Chain.Optimism:\n case Chain.Polygon: {\n const { getProvider, getEvmToolbox } = await import(\"@swapkit/toolboxes/evm\");\n\n const provider = await getProvider(chain);\n const signer = await getEVMSigner({ chain, provider, walletconnect });\n const toolbox = await getEvmToolbox(chain, { provider, signer });\n\n return toolbox;\n }\n\n case Chain.THORChain: {\n const { SignMode } = await import(\"cosmjs-types/cosmos/tx/signing/v1beta1/signing.js\");\n const { TxRaw } = await import(\"cosmjs-types/cosmos/tx/v1beta1/tx.js\");\n\n const importedSigning = await import(\"@cosmjs/proto-signing\");\n const encodePubkey = importedSigning.encodePubkey ?? importedSigning.default?.encodePubkey;\n const makeAuthInfoBytes = importedSigning.makeAuthInfoBytes ?? importedSigning.default?.makeAuthInfoBytes;\n const importedAmino = await import(\"@cosmjs/amino\");\n const makeSignDoc = importedAmino.makeSignDoc ?? importedSigning.default?.makeSignDoc;\n\n const {\n getCosmosToolbox,\n buildAminoMsg,\n buildEncodedTxBody,\n createStargateClient,\n fromBase64,\n getDefaultChainFee,\n parseAminoMessageForDirectSigning,\n } = await import(\"@swapkit/toolboxes/cosmos\");\n const toolbox = await getCosmosToolbox(chain);\n\n const fee = getDefaultChainFee(chain);\n\n const signRequest = (signDoc: StdSignDoc) =>\n walletconnect?.client.request({\n chainId: THORCHAIN_MAINNET_ID,\n request: { method: DEFAULT_COSMOS_METHODS.COSMOS_SIGN_AMINO, params: { signDoc, signerAddress: address } },\n topic: session.topic,\n });\n\n async function thorchainTransfer({ assetValue, memo, ...rest }: GenericTransferParams | ThorchainDepositParams) {\n const account = await toolbox.getAccount(address);\n if (!account) {\n throw new SwapKitError({ errorKey: \"wallet_missing_params\", info: { account } });\n }\n\n if (!account.pubkey) {\n throw new SwapKitError({ errorKey: \"wallet_missing_params\", info: { account, pubkey: account?.pubkey } });\n }\n\n const { accountNumber, sequence = 0 } = account;\n\n const msgs = [buildAminoMsg({ ...rest, assetValue, memo, sender: address })];\n\n const signDoc = makeSignDoc(\n msgs,\n fee,\n assetValue.chainId,\n memo,\n accountNumber?.toString(),\n sequence?.toString() || \"0\",\n );\n\n const signature: any = await signRequest(signDoc);\n\n const bodyBytes = await buildEncodedTxBody({\n chain: Chain.THORChain,\n memo: memo || \"\",\n msgs: msgs.map(parseAminoMessageForDirectSigning),\n });\n const pubkey = encodePubkey(account.pubkey);\n const authInfoBytes = makeAuthInfoBytes(\n [{ pubkey, sequence }],\n fee.amount,\n Number.parseInt(fee.gas, 10),\n undefined,\n undefined,\n SignMode.SIGN_MODE_LEGACY_AMINO_JSON,\n );\n\n const txRaw = TxRaw.fromPartial({\n authInfoBytes,\n bodyBytes,\n signatures: [\n fromBase64(typeof signature.signature === \"string\" ? signature.signature : signature.signature.signature),\n ],\n });\n const txBytes = TxRaw.encode(txRaw).finish();\n\n const rpcUrl = await getRPCUrl(Chain.THORChain);\n const broadcaster = await createStargateClient(rpcUrl);\n const result = await broadcaster.broadcastTx(txBytes);\n return result.transactionHash;\n }\n\n return {\n ...toolbox,\n deposit: (params: ThorchainDepositParams) => thorchainTransfer(params),\n transfer: (params: GenericTransferParams) => thorchainTransfer(params),\n };\n }\n\n case Chain.Near: {\n const { getNearToolbox } = await import(\"@swapkit/toolboxes/near\");\n const { DEFAULT_NEAR_METHODS } = await import(\"./constants\");\n\n // Create a NEAR signer that uses WalletConnect\n const signer = {\n getAddress() {\n return Promise.resolve(address);\n },\n getPublicKey() {\n // WalletConnect NEAR doesn't expose public key directly\n return Promise.reject(\n new SwapKitError(\"wallet_walletconnect_method_not_supported\", { method: \"getPublicKey\" }),\n );\n },\n\n signDelegateAction(_delegateAction: any) {\n return Promise.reject(\n new SwapKitError(\"wallet_walletconnect_method_not_supported\", { method: \"signDelegateAction\" }),\n );\n },\n\n signNep413Message(\n _message: string,\n _accountId: string,\n _recipient: string,\n _nonce: Uint8Array,\n _callbackUrl?: string,\n ) {\n // WalletConnect NEAR spec doesn't include NEP-413 message signing\n return Promise.reject(\n new SwapKitError(\"wallet_walletconnect_method_not_supported\", { method: \"signNep413Message\" }),\n );\n },\n\n async signTransaction(transaction: Transaction) {\n if (!walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n // WalletConnect signs and sends in one operation\n const result = await walletconnect.client.request({\n chainId: chainToChainId(Chain.Near),\n request: { method: DEFAULT_NEAR_METHODS.NEAR_SIGN_AND_SEND_TRANSACTION, params: { transaction } },\n topic: session.topic,\n });\n // Return dummy hash and result\n return [new Uint8Array(32), result];\n },\n } as NearSigner;\n\n const toolbox = await getNearToolbox({ signer });\n return toolbox;\n }\n\n case Chain.Tron: {\n const { createTronToolbox } = await import(\"@swapkit/toolboxes/tron\");\n const { DEFAULT_TRON_METHODS } = await import(\"./constants\");\n\n // Create a Tron signer that uses WalletConnect\n const signer: TronSigner = {\n getAddress() {\n return Promise.resolve(address);\n },\n\n async signTransaction(transaction: TronTransaction) {\n if (!walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n const signedTx = await walletconnect.client.request({\n chainId: chainToChainId(Chain.Tron),\n request: { method: DEFAULT_TRON_METHODS.TRON_SIGN_TRANSACTION, params: { transaction } },\n topic: session.topic,\n });\n\n return signedTx as TronSignedTransaction;\n },\n };\n\n const toolbox = await createTronToolbox({ signer });\n return toolbox;\n }\n\n default:\n throw new SwapKitError({\n errorKey: \"wallet_chain_not_supported\",\n info: { chain, wallet: WalletOption.WALLETCONNECT },\n });\n }\n}\n\nasync function getWalletconnect(\n chains: Chain[],\n walletConnectProjectId: string,\n walletconnectOptions?: SignClientTypes.Options,\n) {\n let modal: WalletConnectModal | undefined;\n let signer: typeof SignClient | undefined;\n let session: SessionTypes.Struct | undefined;\n let accounts: string[] | undefined;\n try {\n const requiredNamespaces = getRequiredNamespaces(chains.map(chainToChainId));\n\n const { SignClient } = await import(\"@walletconnect/sign-client\");\n const { WalletConnectModal } = await import(\"@walletconnect/modal\");\n\n const client = await SignClient.init({\n logger: DEFAULT_LOGGER,\n metadata: walletconnectOptions?.metadata || DEFAULT_APP_METADATA,\n projectId: walletConnectProjectId,\n relayUrl: DEFAULT_RELAY_URL,\n ...walletconnectOptions?.core,\n });\n\n const modal = new WalletConnectModal({\n logger: DEFAULT_LOGGER,\n projectId: walletConnectProjectId,\n relayUrl: DEFAULT_RELAY_URL,\n ...walletconnectOptions?.core,\n });\n\n const oldSession = (await client.session.getAll())[0];\n\n // disconnect old Session cause we can't handle using it with current ui\n if (oldSession) {\n await client.disconnect({ reason: { code: 0, message: \"Resetting session\" }, topic: oldSession.topic });\n }\n\n const { uri, approval } = await client.connect({\n // Optionally: pass a known prior pairing (e.g. from `client.core.pairing.getPairings()`) to skip the `uri` step.\n // pairingTopic: pairing?.topic,\n // Provide the namespaces and chains (e.g. `eip155` for EVM-based chains) we want to use in this session.\n requiredNamespaces,\n });\n\n if (uri) {\n modal.openModal({ uri });\n // Await session approval from the wallet.\n session = await approval();\n // Handle the returned session (e.g. update UI to \"connected\" state).\n // Close the QRCode modal in case it was open.\n modal.closeModal();\n\n function extractAccountsFromSession(session: SessionTypes.Struct) {\n const accounts: string[] = [];\n\n for (const [_namespace, data] of Object.entries(session.namespaces)) {\n accounts.push(...data.accounts);\n }\n\n return accounts;\n }\n\n accounts = extractAccountsFromSession(session);\n }\n\n const disconnect = async () => {\n session && (await client.disconnect({ reason: { code: 0, message: \"User disconnected\" }, topic: session.topic }));\n };\n\n if (!session) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n return { accounts, client, disconnect, session, signer };\n } catch (_e) {\n // Errors are handled by returning undefined\n } finally {\n if (modal) {\n modal.closeModal();\n }\n }\n return undefined;\n}\n",
6
6
  "import { type EVMChain, SwapKitError, WalletOption } from \"@swapkit/helpers\";\nimport type { JsonRpcProvider, Provider, TransactionRequest, TransactionResponse } from \"ethers\";\nimport { AbstractSigner } from \"ethers\";\n\nimport { DEFAULT_EIP155_METHODS } from \"./constants\";\nimport { chainToChainId, getAddressByChain } from \"./helpers\";\nimport type { Walletconnect } from \"./index\";\n\ninterface WalletconnectEVMSignerParams {\n chain: EVMChain;\n walletconnect: Walletconnect;\n provider: Provider | JsonRpcProvider;\n}\n\nclass WalletconnectSigner extends AbstractSigner {\n address: string;\n\n private chain: EVMChain;\n private walletconnect: Walletconnect;\n readonly provider: Provider | JsonRpcProvider;\n\n constructor({ chain, provider, walletconnect }: WalletconnectEVMSignerParams) {\n super(provider);\n this.chain = chain;\n this.walletconnect = walletconnect;\n this.provider = provider;\n this.address = \"\";\n }\n\n // biome-ignore lint/suspicious/useAwait: fulfil implementation type\n getAddress = async () => {\n if (!this.walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n if (!this.address) {\n this.address = getAddressByChain(this.chain, this.walletconnect.accounts || []);\n }\n\n return this.address;\n };\n\n signMessage = async (message: string) => {\n // this is probably broken\n const txHash = (await this.walletconnect?.client.request({\n chainId: chainToChainId(this.chain),\n request: { method: DEFAULT_EIP155_METHODS.ETH_SIGN, params: [message] },\n topic: this.walletconnect.session.topic || \"\",\n })) as string;\n\n return txHash.startsWith(\"0x\") ? txHash : `0x${txHash}`;\n };\n\n signTransaction = () => {\n throw new SwapKitError(\"wallet_walletconnect_method_not_supported\", { method: \"signTransaction\" });\n\n // const baseTx = {\n // from,\n // to,\n // value: BigNumber.from(value || 0).toHexString(),\n // data,\n // };\n\n // const txHash = (await this.walletconnect?.client.request({\n // chainId: chainToChainId(this.chain),\n // topic: this.walletconnect.session.topic,\n // request: {\n // method: DEFAULT_EIP155_METHODS.ETH_SIGN_TRANSACTION,\n // params: [baseTx],\n // },\n // })) as string;\n\n // return txHash.startsWith('0x') ? txHash : `0x${txHash}`;\n };\n\n // ANCHOR (@Towan) - Implement in future\n signTypedData = () => {\n throw new SwapKitError(\"wallet_walletconnect_method_not_supported\", { method: \"signTypedData\" });\n\n // const { toHexString } = await import('@swapkit/toolboxes/evm');\n\n // const baseTx = {\n // from,\n // to,\n // value: toHexString(value || 0n),\n // data,\n // };\n\n // const txHash = (await this.walletconnect?.client.request({\n // chainId: chainToChainId(this.chain),\n // topic: this.walletconnect.session.topic,\n // request: {\n // method: DEFAULT_EIP155_METHODS.ETH_SIGN_TYPED_DATA,\n // params: [baseTx],\n // },\n // })) as string;\n\n // return txHash.startsWith('0x') ? txHash : `0x${txHash}`;\n };\n\n sendTransaction = async ({ from, to, value, data }: TransactionRequest) => {\n const { toHexString } = await import(\"@swapkit/toolboxes/evm\");\n\n const baseTx = { data, from, to, value: toHexString(BigInt(value || 0)) };\n const response = await this.walletconnect?.client.request({\n chainId: chainToChainId(this.chain),\n request: { method: DEFAULT_EIP155_METHODS.ETH_SEND_TRANSACTION, params: [baseTx] },\n topic: this.walletconnect.session.topic,\n });\n\n return response as TransactionResponse;\n };\n\n connect = (provider: Provider | null) => {\n if (!provider) {\n throw new SwapKitError({\n errorKey: \"wallet_provider_not_found\",\n info: { chain: this.chain, wallet: WalletOption.WALLETCONNECT },\n });\n }\n\n return new WalletconnectSigner({ chain: this.chain, provider, walletconnect: this.walletconnect });\n };\n}\nexport const getEVMSigner = async ({ chain, walletconnect, provider }: WalletconnectEVMSignerParams) =>\n new WalletconnectSigner({ chain, provider, walletconnect });\n",
7
7
  "import { Chain, type EVMChain, SKConfig } from \"@swapkit/helpers\";\n\nimport {\n ARBITRUM_ONE_MAINNET_ID,\n AURORA_MAINNET_ID,\n AVALANCHE_MAINNET_ID,\n BASE_MAINNET_ID,\n BERACHAIN_MAINNET_ID,\n BSC_MAINNET_ID,\n COSMOS_HUB_MAINNET_ID,\n ETHEREUM_MAINNET_ID,\n KUJIRA_MAINNET_ID,\n MAYACHAIN_MAINNET_ID,\n NEAR_MAINNET_ID,\n NEAR_TESTNET_ID,\n OPTIMISM_MAINNET_ID,\n POLYGON_MAINNET_ID,\n THORCHAIN_MAINNET_ID,\n TRON_MAINNET_ID,\n} from \"./constants\";\n\nexport const getAddressByChain = (\n chain: EVMChain | Chain.THORChain | Chain.Maya | Chain.Kujira | Chain.Cosmos | Chain.Near | Chain.Tron,\n accounts: string[],\n) => {\n const account = accounts.find((account) => account.startsWith(chainToChainId(chain))) || \"\";\n const address = account?.split(\":\")?.[2];\n\n return address || \"\";\n};\n\nexport const chainToChainId = (chain: Chain) => {\n switch (chain) {\n case Chain.Avalanche:\n return AVALANCHE_MAINNET_ID;\n case Chain.Aurora:\n return AURORA_MAINNET_ID;\n case Chain.Base:\n return BASE_MAINNET_ID;\n case Chain.BinanceSmartChain:\n return BSC_MAINNET_ID;\n case Chain.Berachain:\n return BERACHAIN_MAINNET_ID;\n case Chain.Ethereum:\n return ETHEREUM_MAINNET_ID;\n case Chain.THORChain:\n return THORCHAIN_MAINNET_ID;\n case Chain.Arbitrum:\n return ARBITRUM_ONE_MAINNET_ID;\n case Chain.Optimism:\n return OPTIMISM_MAINNET_ID;\n case Chain.Polygon:\n return POLYGON_MAINNET_ID;\n case Chain.Maya:\n return MAYACHAIN_MAINNET_ID;\n case Chain.Cosmos:\n return COSMOS_HUB_MAINNET_ID;\n case Chain.Kujira:\n return KUJIRA_MAINNET_ID;\n case Chain.Near: {\n // Use testnet if stagenet is enabled\n const { isStagenet } = SKConfig.get(\"envs\");\n return isStagenet ? NEAR_TESTNET_ID : NEAR_MAINNET_ID;\n }\n case Chain.Tron:\n return TRON_MAINNET_ID;\n default:\n return \"\";\n }\n};\n",
8
8
  "import { SwapKitError } from \"@swapkit/helpers\";\nimport type { ProposalTypes } from \"@walletconnect/types\";\nimport {\n DEFAULT_COSMOS_METHODS,\n DEFAULT_EIP_155_EVENTS,\n DEFAULT_EIP155_METHODS,\n DEFAULT_NEAR_EVENTS,\n DEFAULT_NEAR_METHODS,\n DEFAULT_POLKADOT_EVENTS,\n DEFAULT_POLKADOT_METHODS,\n DEFAULT_SOLANA_EVENTS,\n DEFAULT_SOLANA_METHODS,\n DEFAULT_TRON_EVENTS,\n DEFAULT_TRON_METHODS,\n} from \"./constants\";\n\nexport const getNamespacesFromChains = (chains: string[]) => {\n const supportedNamespaces: string[] = [];\n for (const chainId of chains) {\n const [namespace] = chainId.split(\":\");\n if (namespace && !supportedNamespaces.includes(namespace)) {\n supportedNamespaces.push(namespace);\n }\n }\n\n return supportedNamespaces;\n};\n\nexport const getSupportedMethodsByNamespace = (namespace: string) => {\n switch (namespace) {\n case \"eip155\":\n return Object.values(DEFAULT_EIP155_METHODS);\n case \"cosmos\":\n return Object.values(DEFAULT_COSMOS_METHODS);\n case \"solana\":\n return Object.values(DEFAULT_SOLANA_METHODS);\n case \"polkadot\":\n return Object.values(DEFAULT_POLKADOT_METHODS);\n case \"near\":\n return Object.values(DEFAULT_NEAR_METHODS);\n case \"tron\":\n return Object.values(DEFAULT_TRON_METHODS);\n default:\n throw new SwapKitError({ errorKey: \"wallet_walletconnect_namespace_not_supported\", info: { namespace } });\n }\n};\n\nexport const getSupportedEventsByNamespace = (namespace: string) => {\n switch (namespace) {\n case \"eip155\":\n return Object.values(DEFAULT_EIP_155_EVENTS);\n case \"cosmos\":\n return [];\n case \"solana\":\n return Object.values(DEFAULT_SOLANA_EVENTS);\n case \"polkadot\":\n return Object.values(DEFAULT_POLKADOT_EVENTS);\n case \"near\":\n return Object.values(DEFAULT_NEAR_EVENTS);\n case \"tron\":\n return Object.values(DEFAULT_TRON_EVENTS);\n default:\n throw new SwapKitError({ errorKey: \"wallet_walletconnect_namespace_not_supported\", info: { namespace } });\n }\n};\n\nexport const getRequiredNamespaces = (chains: string[]): ProposalTypes.RequiredNamespaces => {\n const selectedNamespaces = getNamespacesFromChains(chains);\n\n return Object.fromEntries(\n selectedNamespaces.map((namespace) => [\n namespace,\n {\n chains: chains.filter((chain) => chain.startsWith(namespace)),\n events: getSupportedEventsByNamespace(namespace) as any[],\n methods: getSupportedMethodsByNamespace(namespace),\n },\n ]),\n );\n};\n"
9
9
  ],
10
- "mappings": "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",
11
- "debugId": "BC23F3D6F51D579864756E2164756E21",
10
+ "mappings": "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",
11
+ "debugId": "14A400789545AFA264756E2164756E21",
12
12
  "names": []
13
13
  }
@@ -1,4 +1,4 @@
1
- import{A as v5,B as y5,C as G5,D as J5,E as K5,a as N,b as s,c as I,d as e,e as W,f as t,g as c,h as o,i,j as a,k as n,l as L5,m as O5,n as j5,o as F5,p as f5,q as V5,r as g,s as Y5,t as M,u as Q5,v as A,w as yL,x as U5,y as X5,z as Z5}from"../../chunk-hjyak2y4.js";import{F as Z,G as v}from"../../chunk-yqaz2d25.js";import{Chain as j,ChainId as S5,filterSupportedChains as x5,getRPCUrl as M5,SKConfig as m5,SwapKitError as y,WalletOption as C}from"@swapkit/helpers";import{createWallet as A5,getWalletSupportedChains as N5}from"@swapkit/wallet-core";import{SwapKitError as _,WalletOption as _5}from"@swapkit/helpers";import{AbstractSigner as H5}from"ethers";import{Chain as X,SKConfig as R5}from"@swapkit/helpers";var R=(L,O)=>{return(O.find((Q)=>Q.startsWith(b(L)))||"")?.split(":")?.[2]||""},b=(L)=>{switch(L){case X.Avalanche:return e;case X.Aurora:return f5;case X.Base:return L5;case X.BinanceSmartChain:return I;case X.Berachain:return V5;case X.Ethereum:return s;case X.THORChain:return W;case X.Arbitrum:return i;case X.Optimism:return a;case X.Polygon:return n;case X.Maya:return o;case X.Cosmos:return t;case X.Kujira:return c;case X.Near:{let{isStagenet:O}=R5.get("envs");return O?j5:O5}case X.Tron:return F5;default:return""}};class m extends H5{address;chain;walletconnect;provider;constructor({chain:L,provider:O,walletconnect:F}){super(O);this.chain=L,this.walletconnect=F,this.provider=O,this.address=""}getAddress=async()=>{if(!this.walletconnect)throw new _("wallet_walletconnect_connection_not_established");if(!this.address)this.address=R(this.chain,this.walletconnect.accounts||[]);return this.address};signMessage=async(L)=>{let O=await this.walletconnect?.client.request({chainId:b(this.chain),request:{method:"eth_sign",params:[L]},topic:this.walletconnect.session.topic||""});return O.startsWith("0x")?O:`0x${O}`};signTransaction=()=>{throw new _("wallet_walletconnect_method_not_supported",{method:"signTransaction"})};signTypedData=()=>{throw new _("wallet_walletconnect_method_not_supported",{method:"signTypedData"})};sendTransaction=async({from:L,to:O,value:F,data:V})=>{let{toHexString:Q}=await import("@swapkit/toolboxes/evm"),f={data:V,from:L,to:O,value:Q(BigInt(F||0))};return await this.walletconnect?.client.request({chainId:b(this.chain),request:{method:"eth_sendTransaction",params:[f]},topic:this.walletconnect.session.topic})};connect=(L)=>{if(!L)throw new _({errorKey:"wallet_provider_not_found",info:{chain:this.chain,wallet:_5.WALLETCONNECT}});return new m({chain:this.chain,provider:L,walletconnect:this.walletconnect})}}var z5=async({chain:L,walletconnect:O,provider:F})=>new m({chain:L,provider:F,walletconnect:O});import{SwapKitError as $5}from"@swapkit/helpers";var w5=(L)=>{let O=[];for(let F of L){let[V]=F.split(":");if(V&&!O.includes(V))O.push(V)}return O},T5=(L)=>{switch(L){case"eip155":return Object.values(M);case"cosmos":return Object.values(A);case"solana":return Object.values(U5);case"polkadot":return Object.values(Z5);case"near":return Object.values(y5);case"tron":return Object.values(J5);default:throw new $5({errorKey:"wallet_walletconnect_namespace_not_supported",info:{namespace:L}})}},r5=(L)=>{switch(L){case"eip155":return Object.values(Q5);case"cosmos":return[];case"solana":return Object.values(X5);case"polkadot":return Object.values(v5);case"near":return Object.values(G5);case"tron":return Object.values(K5);default:throw new $5({errorKey:"wallet_walletconnect_namespace_not_supported",info:{namespace:L}})}},q5=(L)=>{let O=w5(L);return Object.fromEntries(O.map((F)=>[F,{chains:L.filter((V)=>V.startsWith(F)),events:r5(F),methods:T5(F)}]))};var g5=A5({connect:({addChain:L,supportedChains:O,walletType:F})=>async function V(Q,f){let z=x5({chains:Q,supportedChains:O,walletType:F}),{walletConnectProjectId:J}=m5.get("apiKeys");if(!J)throw new y("wallet_walletconnect_project_id_not_specified");let U=await d5(z,J,f);if(!U)throw new y("wallet_walletconnect_connection_not_established");let{accounts:q}=U;return await Promise.all(z.map(async(G)=>{let Y=R(G,q||[]),k=await C5({address:Y,chain:G,walletconnect:U});L({...k,address:Y,chain:G,disconnect:U.disconnect,walletType:C.WALLETCONNECT})})),!0},name:"connectWalletconnect",supportedChains:[j.Arbitrum,j.Aurora,j.Avalanche,j.Base,j.Berachain,j.BinanceSmartChain,j.Cosmos,j.Ethereum,j.Kujira,j.Maya,j.Near,j.Optimism,j.Polygon,j.THORChain,j.Tron],walletType:C.WALLETCONNECT}),UL=N5(g5);async function C5({chain:L,walletconnect:O,address:F}){let V=O?.session;if(!V)throw new y("wallet_walletconnect_connection_not_established");switch(L){case j.Arbitrum:case j.Avalanche:case j.Base:case j.BinanceSmartChain:case j.Ethereum:case j.Optimism:case j.Polygon:{let{getProvider:Q,getEvmToolbox:f}=await import("@swapkit/toolboxes/evm"),z=await Q(L),J=await z5({chain:L,provider:z,walletconnect:O});return await f(L,{provider:z,signer:J})}case j.THORChain:{let{SignMode:Q}=await import("cosmjs-types/cosmos/tx/signing/v1beta1/signing.js"),{TxRaw:f}=await import("cosmjs-types/cosmos/tx/v1beta1/tx.js"),z=await import("@cosmjs/proto-signing"),J=z.encodePubkey??z.default?.encodePubkey,U=z.makeAuthInfoBytes??z.default?.makeAuthInfoBytes,G=(await import("@cosmjs/amino")).makeSignDoc??z.default?.makeSignDoc,{getCosmosToolbox:Y,buildAminoMsg:k,buildEncodedTxBody:u,createStargateClient:H,fromBase64:w,getDefaultChainFee:T,parseAminoMessageForDirectSigning:r}=await import("@swapkit/toolboxes/cosmos"),p=await Y(j.THORChain);async function d(K){let B=await p.getAccount(K);if(L!==j.THORChain)return B;let[{address:$,algo:S,pubkey:D}]=await O?.client.request({chainId:W,request:{method:"cosmos_getAccounts",params:{}},topic:V.topic});return{...B,address:$,pubkey:{type:S,value:D}}}let P=T(L),b5=(K)=>O?.client.request({chainId:W,request:{method:"cosmos_signAmino",params:{signDoc:K,signerAddress:F}},topic:V.topic});async function h({assetValue:K,memo:E,...B}){let $=await p.getAccount(F);if(!$)throw new y({errorKey:"wallet_missing_params",info:{account:$}});if(!$.pubkey)throw new y({errorKey:"wallet_missing_params",info:{account:$,pubkey:$?.pubkey}});let{accountNumber:S,sequence:D=0}=$,l=[k({assetValue:K,memo:E,sender:F,...B})],k5=S5.THORChain,p5=G(l,P,k5,E,S?.toString(),D?.toString()||"0"),x=await b5(p5),P5=await u({chain:j.THORChain,memo:E||"",msgs:l.map(r)}),W5=J($.pubkey),u5=U([{pubkey:W5,sequence:D}],P.amount,Number.parseInt(P.gas,10),void 0,void 0,Q.SIGN_MODE_LEGACY_AMINO_JSON),E5=f.fromPartial({authInfoBytes:u5,bodyBytes:P5,signatures:[w(typeof x.signature==="string"?x.signature:x.signature.signature)]}),B5=f.encode(E5).finish(),D5=await M5(j.THORChain);return(await(await H(D5)).broadcastTx(B5)).transactionHash}return{...p,deposit:(K)=>h(K),getAccount:d,transfer:(K)=>h(K)}}case j.Near:{let{getNearToolbox:Q}=await import("@swapkit/toolboxes/near"),{DEFAULT_NEAR_METHODS:f}=await import("../../chunk-hjyak2y4.js");return await Q({signer:{getAddress(){return Promise.resolve(F)},getPublicKey(){return Promise.reject(new y("wallet_walletconnect_method_not_supported",{method:"getPublicKey"}))},signDelegateAction(U){return Promise.reject(new y("wallet_walletconnect_method_not_supported",{method:"signDelegateAction"}))},signNep413Message(U,q,G,Y,k){return Promise.reject(new y("wallet_walletconnect_method_not_supported",{method:"signNep413Message"}))},async signTransaction(U){if(!O)throw new y("wallet_walletconnect_connection_not_established");let q=await O.client.request({chainId:b(j.Near),request:{method:f.NEAR_SIGN_AND_SEND_TRANSACTION,params:{transaction:U}},topic:V.topic});return[new Uint8Array(32),q]}}})}case j.Tron:{let{createTronToolbox:Q}=await import("@swapkit/toolboxes/tron"),{DEFAULT_TRON_METHODS:f}=await import("../../chunk-hjyak2y4.js");return await Q({signer:{getAddress(){return Promise.resolve(F)},async signTransaction(U){if(!O)throw new y("wallet_walletconnect_connection_not_established");return await O.client.request({chainId:b(j.Tron),request:{method:f.TRON_SIGN_TRANSACTION,params:{transaction:U}},topic:V.topic})}}})}default:throw new y({errorKey:"wallet_chain_not_supported",info:{chain:L,wallet:C.WALLETCONNECT}})}}async function d5(L,O,F){let V,Q,f,z;try{if(!O)throw new y("wallet_walletconnect_project_id_not_specified");let J=q5(L.map(b)),{SignClient:U}=await import("@walletconnect/sign-client"),{WalletConnectModal:q}=await import("@walletconnect/modal"),G=await U.init({logger:g,metadata:F?.metadata||Y5,projectId:O,relayUrl:N,...F?.core}),Y=new q({logger:g,projectId:O,relayUrl:N,...F?.core}),k=(await G.session.getAll())[0];if(k)await G.disconnect({reason:{code:0,message:"Resetting session"},topic:k.topic});let{uri:u,approval:H}=await G.connect({requiredNamespaces:J});if(u){let T=function(r){let p=[];for(let[d,P]of Object.entries(r.namespaces))p.push(...P.accounts);return p};Y.openModal({uri:u}),f=await H(),Y.closeModal(),z=T(f)}let w=async()=>{f&&await G.disconnect({reason:{code:0,message:"User disconnected"},topic:f.topic})};if(!f)throw new y("wallet_walletconnect_connection_not_established");return{accounts:z,client:G,disconnect:w,session:f,signer:Q}}catch(J){}finally{if(V)V.closeModal()}return}export{g5 as walletconnectWallet,UL as WC_SUPPORTED_CHAINS,F5 as TRON_MAINNET_ID,W as THORCHAIN_MAINNET_ID,n as POLYGON_MAINNET_ID,a as OPTIMISM_MAINNET_ID,j5 as NEAR_TESTNET_ID,O5 as NEAR_MAINNET_ID,o as MAYACHAIN_MAINNET_ID,c as KUJIRA_MAINNET_ID,s as ETHEREUM_MAINNET_ID,J5 as DEFAULT_TRON_METHODS,K5 as DEFAULT_TRON_EVENTS,U5 as DEFAULT_SOLANA_METHODS,X5 as DEFAULT_SOLANA_EVENTS,N as DEFAULT_RELAY_URL,Z5 as DEFAULT_POLKADOT_METHODS,v5 as DEFAULT_POLKADOT_EVENTS,y5 as DEFAULT_NEAR_METHODS,G5 as DEFAULT_NEAR_EVENTS,g as DEFAULT_LOGGER,Q5 as DEFAULT_EIP_155_EVENTS,M as DEFAULT_EIP155_METHODS,A as DEFAULT_COSMOS_METHODS,yL as DEFAULT_COSMOS_EVENTS,Y5 as DEFAULT_APP_METADATA,t as COSMOS_HUB_MAINNET_ID,I as BSC_MAINNET_ID,V5 as BERACHAIN_MAINNET_ID,L5 as BASE_MAINNET_ID,e as AVALANCHE_MAINNET_ID,f5 as AURORA_MAINNET_ID,i as ARBITRUM_ONE_MAINNET_ID};
1
+ import{A as V5,B as X5,C as Z5,D as v5,E as G5,a as m,b as h,c as l,d as s,e as W,f as I,g as c,h as t,i as e,j as o,k as a,l as i,m as n,n as L5,o as j5,p as O5,q as F5,r as A,s as $5,t as x,u as y5,v as M,w as VL,x as z5,y as Q5,z as U5}from"../../chunk-hjyak2y4.js";import{F as X,G as Z}from"../../chunk-yqaz2d25.js";import{Chain as O,filterSupportedChains as H5,getRPCUrl as T5,SKConfig as x5,SwapKitError as G,WalletOption as d}from"@swapkit/helpers";import{createWallet as S5,getWalletSupportedChains as M5}from"@swapkit/wallet-core";import{SwapKitError as B,WalletOption as D5}from"@swapkit/helpers";import{AbstractSigner as r5}from"ethers";import{Chain as V,SKConfig as B5}from"@swapkit/helpers";var E=(L,j)=>{return(j.find((Q)=>Q.startsWith(q(L)))||"")?.split(":")?.[2]||""},q=(L)=>{switch(L){case V.Avalanche:return s;case V.Aurora:return O5;case V.Base:return i;case V.BinanceSmartChain:return l;case V.Berachain:return F5;case V.Ethereum:return h;case V.THORChain:return W;case V.Arbitrum:return e;case V.Optimism:return o;case V.Polygon:return a;case V.Maya:return t;case V.Cosmos:return I;case V.Kujira:return c;case V.Near:{let{isStagenet:j}=B5.get("envs");return j?L5:n}case V.Tron:return j5;default:return""}};class S extends r5{address;chain;walletconnect;provider;constructor({chain:L,provider:j,walletconnect:F}){super(j);this.chain=L,this.walletconnect=F,this.provider=j,this.address=""}getAddress=async()=>{if(!this.walletconnect)throw new B("wallet_walletconnect_connection_not_established");if(!this.address)this.address=E(this.chain,this.walletconnect.accounts||[]);return this.address};signMessage=async(L)=>{let j=await this.walletconnect?.client.request({chainId:q(this.chain),request:{method:"eth_sign",params:[L]},topic:this.walletconnect.session.topic||""});return j.startsWith("0x")?j:`0x${j}`};signTransaction=()=>{throw new B("wallet_walletconnect_method_not_supported",{method:"signTransaction"})};signTypedData=()=>{throw new B("wallet_walletconnect_method_not_supported",{method:"signTypedData"})};sendTransaction=async({from:L,to:j,value:F,data:y})=>{let{toHexString:Q}=await import("@swapkit/toolboxes/evm"),f={data:y,from:L,to:j,value:Q(BigInt(F||0))};return await this.walletconnect?.client.request({chainId:q(this.chain),request:{method:"eth_sendTransaction",params:[f]},topic:this.walletconnect.session.topic})};connect=(L)=>{if(!L)throw new B({errorKey:"wallet_provider_not_found",info:{chain:this.chain,wallet:D5.WALLETCONNECT}});return new S({chain:this.chain,provider:L,walletconnect:this.walletconnect})}}var f5=async({chain:L,walletconnect:j,provider:F})=>new S({chain:L,provider:F,walletconnect:j});import{SwapKitError as J5}from"@swapkit/helpers";var R5=(L)=>{let j=[];for(let F of L){let[y]=F.split(":");if(y&&!j.includes(y))j.push(y)}return j},_5=(L)=>{switch(L){case"eip155":return Object.values(x);case"cosmos":return Object.values(M);case"solana":return Object.values(z5);case"polkadot":return Object.values(U5);case"near":return Object.values(X5);case"tron":return Object.values(v5);default:throw new J5({errorKey:"wallet_walletconnect_namespace_not_supported",info:{namespace:L}})}},w5=(L)=>{switch(L){case"eip155":return Object.values(y5);case"cosmos":return[];case"solana":return Object.values(Q5);case"polkadot":return Object.values(V5);case"near":return Object.values(Z5);case"tron":return Object.values(G5);default:throw new J5({errorKey:"wallet_walletconnect_namespace_not_supported",info:{namespace:L}})}},K5=(L)=>{let j=R5(L);return Object.fromEntries(j.map((F)=>[F,{chains:L.filter((y)=>y.startsWith(F)),events:w5(F),methods:_5(F)}]))};var m5=S5({connect:({addChain:L,supportedChains:j,walletType:F})=>async function y(Q,f){let z=H5({chains:Q,supportedChains:j,walletType:F}),{walletConnectProjectId:J}=x5.get("apiKeys");if(!J)throw new G("wallet_walletconnect_project_id_not_specified");let U=await d5(z,J,f);if(!U)throw new G("wallet_walletconnect_connection_not_established");let{accounts:K}=U;return await Promise.all(z.map(async(v)=>{let $=E(v,K||[]),Y=await A5({address:$,chain:v,walletconnect:U});L({...Y,address:$,chain:v,disconnect:U.disconnect,walletType:d.WALLETCONNECT})})),!0},name:"connectWalletconnect",supportedChains:[O.Arbitrum,O.Aurora,O.Avalanche,O.Base,O.Berachain,O.BinanceSmartChain,O.Cosmos,O.Ethereum,O.Kujira,O.Maya,O.Near,O.Optimism,O.Polygon,O.THORChain,O.Tron],walletType:d.WALLETCONNECT}),yL=M5(m5);async function A5({chain:L,walletconnect:j,address:F}){let y=j?.session;if(!y)throw new G("wallet_walletconnect_connection_not_established");switch(L){case O.Arbitrum:case O.Avalanche:case O.Base:case O.BinanceSmartChain:case O.Ethereum:case O.Optimism:case O.Polygon:{let{getProvider:Q,getEvmToolbox:f}=await import("@swapkit/toolboxes/evm"),z=await Q(L),J=await f5({chain:L,provider:z,walletconnect:j});return await f(L,{provider:z,signer:J})}case O.THORChain:{let{SignMode:Q}=await import("cosmjs-types/cosmos/tx/signing/v1beta1/signing.js"),{TxRaw:f}=await import("cosmjs-types/cosmos/tx/v1beta1/tx.js"),z=await import("@cosmjs/proto-signing"),J=z.encodePubkey??z.default?.encodePubkey,U=z.makeAuthInfoBytes??z.default?.makeAuthInfoBytes,v=(await import("@cosmjs/amino")).makeSignDoc??z.default?.makeSignDoc,{getCosmosToolbox:$,buildAminoMsg:Y,buildEncodedTxBody:p,createStargateClient:D,fromBase64:r,getDefaultChainFee:R,parseAminoMessageForDirectSigning:_}=await import("@swapkit/toolboxes/cosmos"),k=await $(L),u=R(L),w=(b)=>j?.client.request({chainId:W,request:{method:"cosmos_signAmino",params:{signDoc:b,signerAddress:F}},topic:y.topic});async function N({assetValue:b,memo:H,...b5}){let P=await k.getAccount(F);if(!P)throw new G({errorKey:"wallet_missing_params",info:{account:P}});if(!P.pubkey)throw new G({errorKey:"wallet_missing_params",info:{account:P,pubkey:P?.pubkey}});let{accountNumber:q5,sequence:g=0}=P,C=[Y({...b5,assetValue:b,memo:H,sender:F})],Y5=v(C,u,b.chainId,H,q5?.toString(),g?.toString()||"0"),T=await w(Y5),P5=await p({chain:O.THORChain,memo:H||"",msgs:C.map(_)}),k5=J(P.pubkey),p5=U([{pubkey:k5,sequence:g}],u.amount,Number.parseInt(u.gas,10),void 0,void 0,Q.SIGN_MODE_LEGACY_AMINO_JSON),u5=f.fromPartial({authInfoBytes:p5,bodyBytes:P5,signatures:[r(typeof T.signature==="string"?T.signature:T.signature.signature)]}),W5=f.encode(u5).finish(),E5=await T5(O.THORChain);return(await(await D(E5)).broadcastTx(W5)).transactionHash}return{...k,deposit:(b)=>N(b),transfer:(b)=>N(b)}}case O.Near:{let{getNearToolbox:Q}=await import("@swapkit/toolboxes/near"),{DEFAULT_NEAR_METHODS:f}=await import("../../chunk-hjyak2y4.js");return await Q({signer:{getAddress(){return Promise.resolve(F)},getPublicKey(){return Promise.reject(new G("wallet_walletconnect_method_not_supported",{method:"getPublicKey"}))},signDelegateAction(U){return Promise.reject(new G("wallet_walletconnect_method_not_supported",{method:"signDelegateAction"}))},signNep413Message(U,K,v,$,Y){return Promise.reject(new G("wallet_walletconnect_method_not_supported",{method:"signNep413Message"}))},async signTransaction(U){if(!j)throw new G("wallet_walletconnect_connection_not_established");let K=await j.client.request({chainId:q(O.Near),request:{method:f.NEAR_SIGN_AND_SEND_TRANSACTION,params:{transaction:U}},topic:y.topic});return[new Uint8Array(32),K]}}})}case O.Tron:{let{createTronToolbox:Q}=await import("@swapkit/toolboxes/tron"),{DEFAULT_TRON_METHODS:f}=await import("../../chunk-hjyak2y4.js");return await Q({signer:{getAddress(){return Promise.resolve(F)},async signTransaction(U){if(!j)throw new G("wallet_walletconnect_connection_not_established");return await j.client.request({chainId:q(O.Tron),request:{method:f.TRON_SIGN_TRANSACTION,params:{transaction:U}},topic:y.topic})}}})}default:throw new G({errorKey:"wallet_chain_not_supported",info:{chain:L,wallet:d.WALLETCONNECT}})}}async function d5(L,j,F){let y,Q,f,z;try{let J=K5(L.map(q)),{SignClient:U}=await import("@walletconnect/sign-client"),{WalletConnectModal:K}=await import("@walletconnect/modal"),v=await U.init({logger:A,metadata:F?.metadata||$5,projectId:j,relayUrl:m,...F?.core}),$=new K({logger:A,projectId:j,relayUrl:m,...F?.core}),Y=(await v.session.getAll())[0];if(Y)await v.disconnect({reason:{code:0,message:"Resetting session"},topic:Y.topic});let{uri:p,approval:D}=await v.connect({requiredNamespaces:J});if(p){let R=function(_){let k=[];for(let[u,w]of Object.entries(_.namespaces))k.push(...w.accounts);return k};$.openModal({uri:p}),f=await D(),$.closeModal(),z=R(f)}let r=async()=>{f&&await v.disconnect({reason:{code:0,message:"User disconnected"},topic:f.topic})};if(!f)throw new G("wallet_walletconnect_connection_not_established");return{accounts:z,client:v,disconnect:r,session:f,signer:Q}}catch(J){}finally{if(y)y.closeModal()}return}export{m5 as walletconnectWallet,yL as WC_SUPPORTED_CHAINS,j5 as TRON_MAINNET_ID,W as THORCHAIN_MAINNET_ID,a as POLYGON_MAINNET_ID,o as OPTIMISM_MAINNET_ID,L5 as NEAR_TESTNET_ID,n as NEAR_MAINNET_ID,t as MAYACHAIN_MAINNET_ID,c as KUJIRA_MAINNET_ID,h as ETHEREUM_MAINNET_ID,v5 as DEFAULT_TRON_METHODS,G5 as DEFAULT_TRON_EVENTS,z5 as DEFAULT_SOLANA_METHODS,Q5 as DEFAULT_SOLANA_EVENTS,m as DEFAULT_RELAY_URL,U5 as DEFAULT_POLKADOT_METHODS,V5 as DEFAULT_POLKADOT_EVENTS,X5 as DEFAULT_NEAR_METHODS,Z5 as DEFAULT_NEAR_EVENTS,A as DEFAULT_LOGGER,y5 as DEFAULT_EIP_155_EVENTS,x as DEFAULT_EIP155_METHODS,M as DEFAULT_COSMOS_METHODS,VL as DEFAULT_COSMOS_EVENTS,$5 as DEFAULT_APP_METADATA,I as COSMOS_HUB_MAINNET_ID,l as BSC_MAINNET_ID,F5 as BERACHAIN_MAINNET_ID,i as BASE_MAINNET_ID,s as AVALANCHE_MAINNET_ID,O5 as AURORA_MAINNET_ID,e as ARBITRUM_ONE_MAINNET_ID};
2
2
 
3
- //# debugId=1206EBC91F829CD464756E2164756E21
3
+ //# debugId=CA20E9D45033790E64756E2164756E21
4
4
  //# sourceMappingURL=index.js.map
@@ -2,12 +2,12 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/walletconnect/index.ts", "../src/walletconnect/evmSigner.ts", "../src/walletconnect/helpers.ts", "../src/walletconnect/namespaces.ts"],
4
4
  "sourcesContent": [
5
- "import type { StdSignDoc } from \"@cosmjs/amino\";\nimport {\n Chain,\n ChainId,\n filterSupportedChains,\n type GenericTransferParams,\n getRPCUrl,\n SKConfig,\n SwapKitError,\n WalletOption,\n} from \"@swapkit/helpers\";\nimport type { createThorchainToolbox, ThorchainDepositParams } from \"@swapkit/toolboxes/cosmos\";\nimport type { NearSigner } from \"@swapkit/toolboxes/near\";\nimport type { TronSignedTransaction, TronSigner, TronTransaction } from \"@swapkit/toolboxes/tron\";\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\nimport type { WalletConnectModal } from \"@walletconnect/modal\";\nimport type { SignClient } from \"@walletconnect/sign-client\";\nimport type { SessionTypes, SignClientTypes } from \"@walletconnect/types\";\nimport type { Transaction } from \"near-api-js/lib/transaction\";\nimport {\n DEFAULT_APP_METADATA,\n DEFAULT_COSMOS_METHODS,\n DEFAULT_LOGGER,\n DEFAULT_RELAY_URL,\n THORCHAIN_MAINNET_ID,\n} from \"./constants\";\nimport { getEVMSigner } from \"./evmSigner\";\nimport { chainToChainId, getAddressByChain } from \"./helpers\";\nimport { getRequiredNamespaces } from \"./namespaces\";\n\nexport * from \"./constants\";\nexport * from \"./types\";\n\nexport const walletconnectWallet = createWallet({\n connect: ({ addChain, supportedChains, walletType }) =>\n async function connectWalletconnect(chains: Chain[], walletconnectOptions?: SignClientTypes.Options) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n const { walletConnectProjectId } = SKConfig.get(\"apiKeys\");\n\n if (!walletConnectProjectId) {\n throw new SwapKitError(\"wallet_walletconnect_project_id_not_specified\");\n }\n\n const walletconnect = await getWalletconnect(filteredChains, walletConnectProjectId, walletconnectOptions);\n\n if (!walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n const { accounts } = walletconnect;\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n const address = getAddressByChain(chain, accounts || []);\n const toolbox = await getToolbox({ address, chain, walletconnect });\n\n addChain({\n ...toolbox,\n address,\n chain,\n disconnect: walletconnect.disconnect,\n walletType: WalletOption.WALLETCONNECT,\n });\n }),\n );\n\n return true;\n },\n name: \"connectWalletconnect\",\n supportedChains: [\n Chain.Arbitrum,\n Chain.Aurora,\n Chain.Avalanche,\n Chain.Base,\n Chain.Berachain,\n Chain.BinanceSmartChain,\n Chain.Cosmos,\n Chain.Ethereum,\n Chain.Kujira,\n Chain.Maya,\n Chain.Near,\n Chain.Optimism,\n Chain.Polygon,\n Chain.THORChain,\n Chain.Tron,\n ],\n walletType: WalletOption.WALLETCONNECT,\n});\n\nexport const WC_SUPPORTED_CHAINS = getWalletSupportedChains(walletconnectWallet);\nexport type Walletconnect = Awaited<ReturnType<typeof getWalletconnect>>;\n\nasync function getToolbox<T extends (typeof WC_SUPPORTED_CHAINS)[number]>({\n chain,\n walletconnect,\n address,\n}: {\n walletconnect: Walletconnect;\n chain: T;\n address: string;\n}) {\n const session = walletconnect?.session;\n if (!session) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n switch (chain) {\n case Chain.Arbitrum:\n case Chain.Avalanche:\n case Chain.Base:\n case Chain.BinanceSmartChain:\n case Chain.Ethereum:\n case Chain.Optimism:\n case Chain.Polygon: {\n const { getProvider, getEvmToolbox } = await import(\"@swapkit/toolboxes/evm\");\n\n const provider = await getProvider(chain);\n const signer = await getEVMSigner({ chain, provider, walletconnect });\n const toolbox = await getEvmToolbox(chain, { provider, signer });\n\n return toolbox;\n }\n\n case Chain.THORChain: {\n const { SignMode } = await import(\"cosmjs-types/cosmos/tx/signing/v1beta1/signing.js\");\n const { TxRaw } = await import(\"cosmjs-types/cosmos/tx/v1beta1/tx.js\");\n\n const importedSigning = await import(\"@cosmjs/proto-signing\");\n const encodePubkey = importedSigning.encodePubkey ?? importedSigning.default?.encodePubkey;\n const makeAuthInfoBytes = importedSigning.makeAuthInfoBytes ?? importedSigning.default?.makeAuthInfoBytes;\n const importedAmino = await import(\"@cosmjs/amino\");\n const makeSignDoc = importedAmino.makeSignDoc ?? importedSigning.default?.makeSignDoc;\n\n const {\n getCosmosToolbox,\n buildAminoMsg,\n buildEncodedTxBody,\n createStargateClient,\n fromBase64,\n getDefaultChainFee,\n parseAminoMessageForDirectSigning,\n } = await import(\"@swapkit/toolboxes/cosmos\");\n const toolbox = await getCosmosToolbox(Chain.THORChain);\n\n async function getAccount(accountAddress: string) {\n const cosmosToolbox = toolbox;\n const account = await (cosmosToolbox as Awaited<ReturnType<typeof createThorchainToolbox>>).getAccount(\n accountAddress,\n );\n\n if (chain !== Chain.THORChain) {\n return account;\n }\n\n const [{ address, algo, pubkey }] = (await walletconnect?.client.request({\n chainId: THORCHAIN_MAINNET_ID,\n request: { method: DEFAULT_COSMOS_METHODS.COSMOS_GET_ACCOUNTS, params: {} },\n // @ts-expect-error\n topic: session.topic,\n })) as [{ address: string; algo: string; pubkey: string }];\n\n return { ...account, address, pubkey: { type: algo, value: pubkey } };\n }\n\n const fee = getDefaultChainFee(chain);\n\n const signRequest = (signDoc: StdSignDoc) =>\n walletconnect?.client.request({\n chainId: THORCHAIN_MAINNET_ID,\n request: { method: DEFAULT_COSMOS_METHODS.COSMOS_SIGN_AMINO, params: { signDoc, signerAddress: address } },\n topic: session.topic,\n });\n\n async function thorchainTransfer({ assetValue, memo, ...rest }: GenericTransferParams | ThorchainDepositParams) {\n const account = await toolbox.getAccount(address);\n if (!account) {\n throw new SwapKitError({ errorKey: \"wallet_missing_params\", info: { account } });\n }\n\n if (!account.pubkey) {\n throw new SwapKitError({ errorKey: \"wallet_missing_params\", info: { account, pubkey: account?.pubkey } });\n }\n\n const { accountNumber, sequence = 0 } = account;\n\n const msgs = [buildAminoMsg({ assetValue, memo, sender: address, ...rest })];\n\n const chainId = ChainId.THORChain;\n\n const signDoc = makeSignDoc(msgs, fee, chainId, memo, accountNumber?.toString(), sequence?.toString() || \"0\");\n\n const signature: any = await signRequest(signDoc);\n\n const bodyBytes = await buildEncodedTxBody({\n chain: Chain.THORChain,\n memo: memo || \"\",\n msgs: msgs.map(parseAminoMessageForDirectSigning),\n });\n const pubkey = encodePubkey(account.pubkey);\n const authInfoBytes = makeAuthInfoBytes(\n [{ pubkey, sequence }],\n fee.amount,\n Number.parseInt(fee.gas, 10),\n undefined,\n undefined,\n SignMode.SIGN_MODE_LEGACY_AMINO_JSON,\n );\n\n const txRaw = TxRaw.fromPartial({\n authInfoBytes,\n bodyBytes,\n signatures: [\n fromBase64(typeof signature.signature === \"string\" ? signature.signature : signature.signature.signature),\n ],\n });\n const txBytes = TxRaw.encode(txRaw).finish();\n\n const rpcUrl = await getRPCUrl(Chain.THORChain);\n const broadcaster = await createStargateClient(rpcUrl);\n const result = await broadcaster.broadcastTx(txBytes);\n return result.transactionHash;\n }\n\n return {\n ...toolbox,\n deposit: (params: ThorchainDepositParams) => thorchainTransfer(params),\n getAccount,\n transfer: (params: GenericTransferParams) => thorchainTransfer(params),\n };\n }\n\n case Chain.Near: {\n const { getNearToolbox } = await import(\"@swapkit/toolboxes/near\");\n const { DEFAULT_NEAR_METHODS } = await import(\"./constants\");\n\n // Create a NEAR signer that uses WalletConnect\n const signer = {\n getAddress() {\n return Promise.resolve(address);\n },\n getPublicKey() {\n // WalletConnect NEAR doesn't expose public key directly\n return Promise.reject(\n new SwapKitError(\"wallet_walletconnect_method_not_supported\", { method: \"getPublicKey\" }),\n );\n },\n\n signDelegateAction(_delegateAction: any) {\n return Promise.reject(\n new SwapKitError(\"wallet_walletconnect_method_not_supported\", { method: \"signDelegateAction\" }),\n );\n },\n\n signNep413Message(\n _message: string,\n _accountId: string,\n _recipient: string,\n _nonce: Uint8Array,\n _callbackUrl?: string,\n ) {\n // WalletConnect NEAR spec doesn't include NEP-413 message signing\n return Promise.reject(\n new SwapKitError(\"wallet_walletconnect_method_not_supported\", { method: \"signNep413Message\" }),\n );\n },\n\n async signTransaction(transaction: Transaction) {\n if (!walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n // WalletConnect signs and sends in one operation\n const result = await walletconnect.client.request({\n chainId: chainToChainId(Chain.Near),\n request: { method: DEFAULT_NEAR_METHODS.NEAR_SIGN_AND_SEND_TRANSACTION, params: { transaction } },\n topic: session.topic,\n });\n // Return dummy hash and result\n return [new Uint8Array(32), result];\n },\n } as NearSigner;\n\n const toolbox = await getNearToolbox({ signer });\n return toolbox;\n }\n\n case Chain.Tron: {\n const { createTronToolbox } = await import(\"@swapkit/toolboxes/tron\");\n const { DEFAULT_TRON_METHODS } = await import(\"./constants\");\n\n // Create a Tron signer that uses WalletConnect\n const signer: TronSigner = {\n getAddress() {\n return Promise.resolve(address);\n },\n\n async signTransaction(transaction: TronTransaction) {\n if (!walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n const signedTx = await walletconnect.client.request({\n chainId: chainToChainId(Chain.Tron),\n request: { method: DEFAULT_TRON_METHODS.TRON_SIGN_TRANSACTION, params: { transaction } },\n topic: session.topic,\n });\n\n return signedTx as TronSignedTransaction;\n },\n };\n\n const toolbox = await createTronToolbox({ signer });\n return toolbox;\n }\n\n default:\n throw new SwapKitError({\n errorKey: \"wallet_chain_not_supported\",\n info: { chain, wallet: WalletOption.WALLETCONNECT },\n });\n }\n}\n\nasync function getWalletconnect(\n chains: Chain[],\n walletConnectProjectId?: string,\n walletconnectOptions?: SignClientTypes.Options,\n) {\n let modal: WalletConnectModal | undefined;\n let signer: typeof SignClient | undefined;\n let session: SessionTypes.Struct | undefined;\n let accounts: string[] | undefined;\n try {\n if (!walletConnectProjectId) {\n throw new SwapKitError(\"wallet_walletconnect_project_id_not_specified\");\n }\n const requiredNamespaces = getRequiredNamespaces(chains.map(chainToChainId));\n\n const { SignClient } = await import(\"@walletconnect/sign-client\");\n const { WalletConnectModal } = await import(\"@walletconnect/modal\");\n\n const client = await SignClient.init({\n logger: DEFAULT_LOGGER,\n metadata: walletconnectOptions?.metadata || DEFAULT_APP_METADATA,\n projectId: walletConnectProjectId,\n relayUrl: DEFAULT_RELAY_URL,\n ...walletconnectOptions?.core,\n });\n\n const modal = new WalletConnectModal({\n logger: DEFAULT_LOGGER,\n projectId: walletConnectProjectId,\n relayUrl: DEFAULT_RELAY_URL,\n ...walletconnectOptions?.core,\n });\n\n const oldSession = (await client.session.getAll())[0];\n\n // disconnect old Session cause we can't handle using it with current ui\n if (oldSession) {\n await client.disconnect({ reason: { code: 0, message: \"Resetting session\" }, topic: oldSession.topic });\n }\n\n const { uri, approval } = await client.connect({\n // Optionally: pass a known prior pairing (e.g. from `client.core.pairing.getPairings()`) to skip the `uri` step.\n // pairingTopic: pairing?.topic,\n // Provide the namespaces and chains (e.g. `eip155` for EVM-based chains) we want to use in this session.\n requiredNamespaces,\n });\n\n if (uri) {\n modal.openModal({ uri });\n // Await session approval from the wallet.\n session = await approval();\n // Handle the returned session (e.g. update UI to \"connected\" state).\n // Close the QRCode modal in case it was open.\n modal.closeModal();\n\n function extractAccountsFromSession(session: SessionTypes.Struct) {\n const accounts: string[] = [];\n\n for (const [_namespace, data] of Object.entries(session.namespaces)) {\n accounts.push(...data.accounts);\n }\n\n return accounts;\n }\n\n accounts = extractAccountsFromSession(session);\n }\n\n const disconnect = async () => {\n session && (await client.disconnect({ reason: { code: 0, message: \"User disconnected\" }, topic: session.topic }));\n };\n\n if (!session) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n return { accounts, client, disconnect, session, signer };\n } catch (_e) {\n // Errors are handled by returning undefined\n } finally {\n if (modal) {\n modal.closeModal();\n }\n }\n return undefined;\n}\n",
5
+ "import type { StdSignDoc } from \"@cosmjs/amino\";\nimport {\n Chain,\n filterSupportedChains,\n type GenericTransferParams,\n getRPCUrl,\n SKConfig,\n SwapKitError,\n WalletOption,\n} from \"@swapkit/helpers\";\nimport type { ThorchainDepositParams } from \"@swapkit/toolboxes/cosmos\";\nimport type { NearSigner } from \"@swapkit/toolboxes/near\";\nimport type { TronSignedTransaction, TronSigner, TronTransaction } from \"@swapkit/toolboxes/tron\";\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\nimport type { WalletConnectModal } from \"@walletconnect/modal\";\nimport type { SignClient } from \"@walletconnect/sign-client\";\nimport type { SessionTypes, SignClientTypes } from \"@walletconnect/types\";\nimport type { Transaction } from \"near-api-js/lib/transaction\";\nimport {\n DEFAULT_APP_METADATA,\n DEFAULT_COSMOS_METHODS,\n DEFAULT_LOGGER,\n DEFAULT_RELAY_URL,\n THORCHAIN_MAINNET_ID,\n} from \"./constants\";\nimport { getEVMSigner } from \"./evmSigner\";\nimport { chainToChainId, getAddressByChain } from \"./helpers\";\nimport { getRequiredNamespaces } from \"./namespaces\";\n\nexport * from \"./constants\";\nexport * from \"./types\";\n\nexport const walletconnectWallet = createWallet({\n connect: ({ addChain, supportedChains, walletType }) =>\n async function connectWalletconnect(chains: Chain[], walletconnectOptions?: SignClientTypes.Options) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n const { walletConnectProjectId } = SKConfig.get(\"apiKeys\");\n\n if (!walletConnectProjectId) {\n throw new SwapKitError(\"wallet_walletconnect_project_id_not_specified\");\n }\n\n const walletconnect = await getWalletconnect(filteredChains, walletConnectProjectId, walletconnectOptions);\n\n if (!walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n const { accounts } = walletconnect;\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n const address = getAddressByChain(chain, accounts || []);\n const toolbox = await getToolbox({ address, chain, walletconnect });\n\n addChain({\n ...toolbox,\n address,\n chain,\n disconnect: walletconnect.disconnect,\n walletType: WalletOption.WALLETCONNECT,\n });\n }),\n );\n\n return true;\n },\n name: \"connectWalletconnect\",\n supportedChains: [\n Chain.Arbitrum,\n Chain.Aurora,\n Chain.Avalanche,\n Chain.Base,\n Chain.Berachain,\n Chain.BinanceSmartChain,\n Chain.Cosmos,\n Chain.Ethereum,\n Chain.Kujira,\n Chain.Maya,\n Chain.Near,\n Chain.Optimism,\n Chain.Polygon,\n Chain.THORChain,\n Chain.Tron,\n ],\n walletType: WalletOption.WALLETCONNECT,\n});\n\nexport const WC_SUPPORTED_CHAINS = getWalletSupportedChains(walletconnectWallet);\nexport type Walletconnect = Awaited<ReturnType<typeof getWalletconnect>>;\n\nasync function getToolbox<T extends (typeof WC_SUPPORTED_CHAINS)[number]>({\n chain,\n walletconnect,\n address,\n}: {\n walletconnect: Walletconnect;\n chain: T;\n address: string;\n}) {\n const session = walletconnect?.session;\n if (!session) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n switch (chain) {\n case Chain.Arbitrum:\n case Chain.Avalanche:\n case Chain.Base:\n case Chain.BinanceSmartChain:\n case Chain.Ethereum:\n case Chain.Optimism:\n case Chain.Polygon: {\n const { getProvider, getEvmToolbox } = await import(\"@swapkit/toolboxes/evm\");\n\n const provider = await getProvider(chain);\n const signer = await getEVMSigner({ chain, provider, walletconnect });\n const toolbox = await getEvmToolbox(chain, { provider, signer });\n\n return toolbox;\n }\n\n case Chain.THORChain: {\n const { SignMode } = await import(\"cosmjs-types/cosmos/tx/signing/v1beta1/signing.js\");\n const { TxRaw } = await import(\"cosmjs-types/cosmos/tx/v1beta1/tx.js\");\n\n const importedSigning = await import(\"@cosmjs/proto-signing\");\n const encodePubkey = importedSigning.encodePubkey ?? importedSigning.default?.encodePubkey;\n const makeAuthInfoBytes = importedSigning.makeAuthInfoBytes ?? importedSigning.default?.makeAuthInfoBytes;\n const importedAmino = await import(\"@cosmjs/amino\");\n const makeSignDoc = importedAmino.makeSignDoc ?? importedSigning.default?.makeSignDoc;\n\n const {\n getCosmosToolbox,\n buildAminoMsg,\n buildEncodedTxBody,\n createStargateClient,\n fromBase64,\n getDefaultChainFee,\n parseAminoMessageForDirectSigning,\n } = await import(\"@swapkit/toolboxes/cosmos\");\n const toolbox = await getCosmosToolbox(chain);\n\n const fee = getDefaultChainFee(chain);\n\n const signRequest = (signDoc: StdSignDoc) =>\n walletconnect?.client.request({\n chainId: THORCHAIN_MAINNET_ID,\n request: { method: DEFAULT_COSMOS_METHODS.COSMOS_SIGN_AMINO, params: { signDoc, signerAddress: address } },\n topic: session.topic,\n });\n\n async function thorchainTransfer({ assetValue, memo, ...rest }: GenericTransferParams | ThorchainDepositParams) {\n const account = await toolbox.getAccount(address);\n if (!account) {\n throw new SwapKitError({ errorKey: \"wallet_missing_params\", info: { account } });\n }\n\n if (!account.pubkey) {\n throw new SwapKitError({ errorKey: \"wallet_missing_params\", info: { account, pubkey: account?.pubkey } });\n }\n\n const { accountNumber, sequence = 0 } = account;\n\n const msgs = [buildAminoMsg({ ...rest, assetValue, memo, sender: address })];\n\n const signDoc = makeSignDoc(\n msgs,\n fee,\n assetValue.chainId,\n memo,\n accountNumber?.toString(),\n sequence?.toString() || \"0\",\n );\n\n const signature: any = await signRequest(signDoc);\n\n const bodyBytes = await buildEncodedTxBody({\n chain: Chain.THORChain,\n memo: memo || \"\",\n msgs: msgs.map(parseAminoMessageForDirectSigning),\n });\n const pubkey = encodePubkey(account.pubkey);\n const authInfoBytes = makeAuthInfoBytes(\n [{ pubkey, sequence }],\n fee.amount,\n Number.parseInt(fee.gas, 10),\n undefined,\n undefined,\n SignMode.SIGN_MODE_LEGACY_AMINO_JSON,\n );\n\n const txRaw = TxRaw.fromPartial({\n authInfoBytes,\n bodyBytes,\n signatures: [\n fromBase64(typeof signature.signature === \"string\" ? signature.signature : signature.signature.signature),\n ],\n });\n const txBytes = TxRaw.encode(txRaw).finish();\n\n const rpcUrl = await getRPCUrl(Chain.THORChain);\n const broadcaster = await createStargateClient(rpcUrl);\n const result = await broadcaster.broadcastTx(txBytes);\n return result.transactionHash;\n }\n\n return {\n ...toolbox,\n deposit: (params: ThorchainDepositParams) => thorchainTransfer(params),\n transfer: (params: GenericTransferParams) => thorchainTransfer(params),\n };\n }\n\n case Chain.Near: {\n const { getNearToolbox } = await import(\"@swapkit/toolboxes/near\");\n const { DEFAULT_NEAR_METHODS } = await import(\"./constants\");\n\n // Create a NEAR signer that uses WalletConnect\n const signer = {\n getAddress() {\n return Promise.resolve(address);\n },\n getPublicKey() {\n // WalletConnect NEAR doesn't expose public key directly\n return Promise.reject(\n new SwapKitError(\"wallet_walletconnect_method_not_supported\", { method: \"getPublicKey\" }),\n );\n },\n\n signDelegateAction(_delegateAction: any) {\n return Promise.reject(\n new SwapKitError(\"wallet_walletconnect_method_not_supported\", { method: \"signDelegateAction\" }),\n );\n },\n\n signNep413Message(\n _message: string,\n _accountId: string,\n _recipient: string,\n _nonce: Uint8Array,\n _callbackUrl?: string,\n ) {\n // WalletConnect NEAR spec doesn't include NEP-413 message signing\n return Promise.reject(\n new SwapKitError(\"wallet_walletconnect_method_not_supported\", { method: \"signNep413Message\" }),\n );\n },\n\n async signTransaction(transaction: Transaction) {\n if (!walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n // WalletConnect signs and sends in one operation\n const result = await walletconnect.client.request({\n chainId: chainToChainId(Chain.Near),\n request: { method: DEFAULT_NEAR_METHODS.NEAR_SIGN_AND_SEND_TRANSACTION, params: { transaction } },\n topic: session.topic,\n });\n // Return dummy hash and result\n return [new Uint8Array(32), result];\n },\n } as NearSigner;\n\n const toolbox = await getNearToolbox({ signer });\n return toolbox;\n }\n\n case Chain.Tron: {\n const { createTronToolbox } = await import(\"@swapkit/toolboxes/tron\");\n const { DEFAULT_TRON_METHODS } = await import(\"./constants\");\n\n // Create a Tron signer that uses WalletConnect\n const signer: TronSigner = {\n getAddress() {\n return Promise.resolve(address);\n },\n\n async signTransaction(transaction: TronTransaction) {\n if (!walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n const signedTx = await walletconnect.client.request({\n chainId: chainToChainId(Chain.Tron),\n request: { method: DEFAULT_TRON_METHODS.TRON_SIGN_TRANSACTION, params: { transaction } },\n topic: session.topic,\n });\n\n return signedTx as TronSignedTransaction;\n },\n };\n\n const toolbox = await createTronToolbox({ signer });\n return toolbox;\n }\n\n default:\n throw new SwapKitError({\n errorKey: \"wallet_chain_not_supported\",\n info: { chain, wallet: WalletOption.WALLETCONNECT },\n });\n }\n}\n\nasync function getWalletconnect(\n chains: Chain[],\n walletConnectProjectId: string,\n walletconnectOptions?: SignClientTypes.Options,\n) {\n let modal: WalletConnectModal | undefined;\n let signer: typeof SignClient | undefined;\n let session: SessionTypes.Struct | undefined;\n let accounts: string[] | undefined;\n try {\n const requiredNamespaces = getRequiredNamespaces(chains.map(chainToChainId));\n\n const { SignClient } = await import(\"@walletconnect/sign-client\");\n const { WalletConnectModal } = await import(\"@walletconnect/modal\");\n\n const client = await SignClient.init({\n logger: DEFAULT_LOGGER,\n metadata: walletconnectOptions?.metadata || DEFAULT_APP_METADATA,\n projectId: walletConnectProjectId,\n relayUrl: DEFAULT_RELAY_URL,\n ...walletconnectOptions?.core,\n });\n\n const modal = new WalletConnectModal({\n logger: DEFAULT_LOGGER,\n projectId: walletConnectProjectId,\n relayUrl: DEFAULT_RELAY_URL,\n ...walletconnectOptions?.core,\n });\n\n const oldSession = (await client.session.getAll())[0];\n\n // disconnect old Session cause we can't handle using it with current ui\n if (oldSession) {\n await client.disconnect({ reason: { code: 0, message: \"Resetting session\" }, topic: oldSession.topic });\n }\n\n const { uri, approval } = await client.connect({\n // Optionally: pass a known prior pairing (e.g. from `client.core.pairing.getPairings()`) to skip the `uri` step.\n // pairingTopic: pairing?.topic,\n // Provide the namespaces and chains (e.g. `eip155` for EVM-based chains) we want to use in this session.\n requiredNamespaces,\n });\n\n if (uri) {\n modal.openModal({ uri });\n // Await session approval from the wallet.\n session = await approval();\n // Handle the returned session (e.g. update UI to \"connected\" state).\n // Close the QRCode modal in case it was open.\n modal.closeModal();\n\n function extractAccountsFromSession(session: SessionTypes.Struct) {\n const accounts: string[] = [];\n\n for (const [_namespace, data] of Object.entries(session.namespaces)) {\n accounts.push(...data.accounts);\n }\n\n return accounts;\n }\n\n accounts = extractAccountsFromSession(session);\n }\n\n const disconnect = async () => {\n session && (await client.disconnect({ reason: { code: 0, message: \"User disconnected\" }, topic: session.topic }));\n };\n\n if (!session) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n return { accounts, client, disconnect, session, signer };\n } catch (_e) {\n // Errors are handled by returning undefined\n } finally {\n if (modal) {\n modal.closeModal();\n }\n }\n return undefined;\n}\n",
6
6
  "import { type EVMChain, SwapKitError, WalletOption } from \"@swapkit/helpers\";\nimport type { JsonRpcProvider, Provider, TransactionRequest, TransactionResponse } from \"ethers\";\nimport { AbstractSigner } from \"ethers\";\n\nimport { DEFAULT_EIP155_METHODS } from \"./constants\";\nimport { chainToChainId, getAddressByChain } from \"./helpers\";\nimport type { Walletconnect } from \"./index\";\n\ninterface WalletconnectEVMSignerParams {\n chain: EVMChain;\n walletconnect: Walletconnect;\n provider: Provider | JsonRpcProvider;\n}\n\nclass WalletconnectSigner extends AbstractSigner {\n address: string;\n\n private chain: EVMChain;\n private walletconnect: Walletconnect;\n readonly provider: Provider | JsonRpcProvider;\n\n constructor({ chain, provider, walletconnect }: WalletconnectEVMSignerParams) {\n super(provider);\n this.chain = chain;\n this.walletconnect = walletconnect;\n this.provider = provider;\n this.address = \"\";\n }\n\n // biome-ignore lint/suspicious/useAwait: fulfil implementation type\n getAddress = async () => {\n if (!this.walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n if (!this.address) {\n this.address = getAddressByChain(this.chain, this.walletconnect.accounts || []);\n }\n\n return this.address;\n };\n\n signMessage = async (message: string) => {\n // this is probably broken\n const txHash = (await this.walletconnect?.client.request({\n chainId: chainToChainId(this.chain),\n request: { method: DEFAULT_EIP155_METHODS.ETH_SIGN, params: [message] },\n topic: this.walletconnect.session.topic || \"\",\n })) as string;\n\n return txHash.startsWith(\"0x\") ? txHash : `0x${txHash}`;\n };\n\n signTransaction = () => {\n throw new SwapKitError(\"wallet_walletconnect_method_not_supported\", { method: \"signTransaction\" });\n\n // const baseTx = {\n // from,\n // to,\n // value: BigNumber.from(value || 0).toHexString(),\n // data,\n // };\n\n // const txHash = (await this.walletconnect?.client.request({\n // chainId: chainToChainId(this.chain),\n // topic: this.walletconnect.session.topic,\n // request: {\n // method: DEFAULT_EIP155_METHODS.ETH_SIGN_TRANSACTION,\n // params: [baseTx],\n // },\n // })) as string;\n\n // return txHash.startsWith('0x') ? txHash : `0x${txHash}`;\n };\n\n // ANCHOR (@Towan) - Implement in future\n signTypedData = () => {\n throw new SwapKitError(\"wallet_walletconnect_method_not_supported\", { method: \"signTypedData\" });\n\n // const { toHexString } = await import('@swapkit/toolboxes/evm');\n\n // const baseTx = {\n // from,\n // to,\n // value: toHexString(value || 0n),\n // data,\n // };\n\n // const txHash = (await this.walletconnect?.client.request({\n // chainId: chainToChainId(this.chain),\n // topic: this.walletconnect.session.topic,\n // request: {\n // method: DEFAULT_EIP155_METHODS.ETH_SIGN_TYPED_DATA,\n // params: [baseTx],\n // },\n // })) as string;\n\n // return txHash.startsWith('0x') ? txHash : `0x${txHash}`;\n };\n\n sendTransaction = async ({ from, to, value, data }: TransactionRequest) => {\n const { toHexString } = await import(\"@swapkit/toolboxes/evm\");\n\n const baseTx = { data, from, to, value: toHexString(BigInt(value || 0)) };\n const response = await this.walletconnect?.client.request({\n chainId: chainToChainId(this.chain),\n request: { method: DEFAULT_EIP155_METHODS.ETH_SEND_TRANSACTION, params: [baseTx] },\n topic: this.walletconnect.session.topic,\n });\n\n return response as TransactionResponse;\n };\n\n connect = (provider: Provider | null) => {\n if (!provider) {\n throw new SwapKitError({\n errorKey: \"wallet_provider_not_found\",\n info: { chain: this.chain, wallet: WalletOption.WALLETCONNECT },\n });\n }\n\n return new WalletconnectSigner({ chain: this.chain, provider, walletconnect: this.walletconnect });\n };\n}\nexport const getEVMSigner = async ({ chain, walletconnect, provider }: WalletconnectEVMSignerParams) =>\n new WalletconnectSigner({ chain, provider, walletconnect });\n",
7
7
  "import { Chain, type EVMChain, SKConfig } from \"@swapkit/helpers\";\n\nimport {\n ARBITRUM_ONE_MAINNET_ID,\n AURORA_MAINNET_ID,\n AVALANCHE_MAINNET_ID,\n BASE_MAINNET_ID,\n BERACHAIN_MAINNET_ID,\n BSC_MAINNET_ID,\n COSMOS_HUB_MAINNET_ID,\n ETHEREUM_MAINNET_ID,\n KUJIRA_MAINNET_ID,\n MAYACHAIN_MAINNET_ID,\n NEAR_MAINNET_ID,\n NEAR_TESTNET_ID,\n OPTIMISM_MAINNET_ID,\n POLYGON_MAINNET_ID,\n THORCHAIN_MAINNET_ID,\n TRON_MAINNET_ID,\n} from \"./constants\";\n\nexport const getAddressByChain = (\n chain: EVMChain | Chain.THORChain | Chain.Maya | Chain.Kujira | Chain.Cosmos | Chain.Near | Chain.Tron,\n accounts: string[],\n) => {\n const account = accounts.find((account) => account.startsWith(chainToChainId(chain))) || \"\";\n const address = account?.split(\":\")?.[2];\n\n return address || \"\";\n};\n\nexport const chainToChainId = (chain: Chain) => {\n switch (chain) {\n case Chain.Avalanche:\n return AVALANCHE_MAINNET_ID;\n case Chain.Aurora:\n return AURORA_MAINNET_ID;\n case Chain.Base:\n return BASE_MAINNET_ID;\n case Chain.BinanceSmartChain:\n return BSC_MAINNET_ID;\n case Chain.Berachain:\n return BERACHAIN_MAINNET_ID;\n case Chain.Ethereum:\n return ETHEREUM_MAINNET_ID;\n case Chain.THORChain:\n return THORCHAIN_MAINNET_ID;\n case Chain.Arbitrum:\n return ARBITRUM_ONE_MAINNET_ID;\n case Chain.Optimism:\n return OPTIMISM_MAINNET_ID;\n case Chain.Polygon:\n return POLYGON_MAINNET_ID;\n case Chain.Maya:\n return MAYACHAIN_MAINNET_ID;\n case Chain.Cosmos:\n return COSMOS_HUB_MAINNET_ID;\n case Chain.Kujira:\n return KUJIRA_MAINNET_ID;\n case Chain.Near: {\n // Use testnet if stagenet is enabled\n const { isStagenet } = SKConfig.get(\"envs\");\n return isStagenet ? NEAR_TESTNET_ID : NEAR_MAINNET_ID;\n }\n case Chain.Tron:\n return TRON_MAINNET_ID;\n default:\n return \"\";\n }\n};\n",
8
8
  "import { SwapKitError } from \"@swapkit/helpers\";\nimport type { ProposalTypes } from \"@walletconnect/types\";\nimport {\n DEFAULT_COSMOS_METHODS,\n DEFAULT_EIP_155_EVENTS,\n DEFAULT_EIP155_METHODS,\n DEFAULT_NEAR_EVENTS,\n DEFAULT_NEAR_METHODS,\n DEFAULT_POLKADOT_EVENTS,\n DEFAULT_POLKADOT_METHODS,\n DEFAULT_SOLANA_EVENTS,\n DEFAULT_SOLANA_METHODS,\n DEFAULT_TRON_EVENTS,\n DEFAULT_TRON_METHODS,\n} from \"./constants\";\n\nexport const getNamespacesFromChains = (chains: string[]) => {\n const supportedNamespaces: string[] = [];\n for (const chainId of chains) {\n const [namespace] = chainId.split(\":\");\n if (namespace && !supportedNamespaces.includes(namespace)) {\n supportedNamespaces.push(namespace);\n }\n }\n\n return supportedNamespaces;\n};\n\nexport const getSupportedMethodsByNamespace = (namespace: string) => {\n switch (namespace) {\n case \"eip155\":\n return Object.values(DEFAULT_EIP155_METHODS);\n case \"cosmos\":\n return Object.values(DEFAULT_COSMOS_METHODS);\n case \"solana\":\n return Object.values(DEFAULT_SOLANA_METHODS);\n case \"polkadot\":\n return Object.values(DEFAULT_POLKADOT_METHODS);\n case \"near\":\n return Object.values(DEFAULT_NEAR_METHODS);\n case \"tron\":\n return Object.values(DEFAULT_TRON_METHODS);\n default:\n throw new SwapKitError({ errorKey: \"wallet_walletconnect_namespace_not_supported\", info: { namespace } });\n }\n};\n\nexport const getSupportedEventsByNamespace = (namespace: string) => {\n switch (namespace) {\n case \"eip155\":\n return Object.values(DEFAULT_EIP_155_EVENTS);\n case \"cosmos\":\n return [];\n case \"solana\":\n return Object.values(DEFAULT_SOLANA_EVENTS);\n case \"polkadot\":\n return Object.values(DEFAULT_POLKADOT_EVENTS);\n case \"near\":\n return Object.values(DEFAULT_NEAR_EVENTS);\n case \"tron\":\n return Object.values(DEFAULT_TRON_EVENTS);\n default:\n throw new SwapKitError({ errorKey: \"wallet_walletconnect_namespace_not_supported\", info: { namespace } });\n }\n};\n\nexport const getRequiredNamespaces = (chains: string[]): ProposalTypes.RequiredNamespaces => {\n const selectedNamespaces = getNamespacesFromChains(chains);\n\n return Object.fromEntries(\n selectedNamespaces.map((namespace) => [\n namespace,\n {\n chains: chains.filter((chain) => chain.startsWith(namespace)),\n events: getSupportedEventsByNamespace(namespace) as any[],\n methods: getSupportedMethodsByNamespace(namespace),\n },\n ]),\n );\n};\n"
9
9
  ],
10
- "mappings": "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",
11
- "debugId": "1206EBC91F829CD464756E2164756E21",
10
+ "mappings": "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",
11
+ "debugId": "CA20E9D45033790E64756E2164756E21",
12
12
  "names": []
13
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/evm-extensions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,KAAK,EAEV,KAAK,QAAQ,EAMb,YAAY,EACb,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;;;;;;;;;;iIAQqE,GACpE;gIAImE,GAAI;sCAOzB,GAAI;;;;gBAc9C,CAAF;kBACI,CAAA;mBAAiC,CAAA;YACN,CAAC;;;kBAGN,CAAC;gBAA0B,CAAC;oBAE9C,CAAF;4BAAsC,CAAC;;iDACL,GAAI;;;;;;sCAYpC,GAAC;oBAEuB,CAAC;;;oEAQD,GAAI;;;;;;;yBAOO,CAAC,kBAAkB,CAAC,sBAAsB,CAAC;;;;;;;;;iIAa89B,GAAI;gIAAgO,GAAI;sCAAsI,GAAI;;;;gBAA4b,CAAC;kBAA4B,CAAC;mBAAgC,CAAC;YAAwC,CAAC;;;kBAA+I,CAAC;gBAA0B,CAAC;oBAA8B,CAAC;4BAAsC,CAAC;;iDAAqE,GAAI;;;;;;sCAA+Y,GAAI;oBAAuD,CAAC;;;oEAAqU,GAAI;;;;;;sBAA6L,CAAC;oBAA8B,CAAC;wBAAkC,CAAC;gCAA0C,CAAC;;;sBAA2D,CAAC;oBAA8B,CAAC;wBAAkC,CAAC;gCAA0C,CAAC;;;sBAA8D,CAAC;oBAA8B,CAAC;wBAAkC,CAAC;gCAA0C,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;iIAA48D,GAAI;gIAAgO,GAAI;sCAAsI,GAAI;;;;gBAA4b,CAAC;kBAA4B,CAAC;mBAAgC,CAAC;YAAwC,CAAC;;iDAAqF,GAAI;;;;;;sCAA+Y,GAAI;oBAAuD,CAAC;;;oEAAqU,GAAI;;EA9D12O,CAAC;AAEF,eAAO,MAAM,SAAS;;;;;;;CAyDpB,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,KAAK,EAEV,KAAK,QAAQ,EAMb,YAAY,EACb,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;AAqBzB,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;;;;;;;;;;iIAQ2C,GAAG;gIAKL,GAAI;sCAOzB,GAAI;;;;gBAYU,CAAC;kBAE9B,CAAA;mBACO,CAAC;YACJ,CAAD;;;kBAGC,CAAF;gBAA0B,CAAC;oBAA8B,CAAC;4BAC5C,CAAC;;iDAEV,GAAI;;;;;;sCAWqB,GAAI;oBAAuD,CAAC;;;oEAalG,GAAI;;;;;;;yBAAyN,CAAC,kBAAkB,CAAC,sBAAsB,CAAC;;;;;;;;;iIAAi3C,GAAI;gIAAgO,GAAI;sCAAsI,GAAI;;;;gBAA4b,CAAC;kBAA4B,CAAC;mBAAgC,CAAC;YAAwC,CAAC;;;kBAA+I,CAAC;gBAA0B,CAAC;oBAA8B,CAAC;4BAAsC,CAAC;;iDAAqE,GAAI;;;;;;sCAA+Y,GAAI;oBAAuD,CAAC;;;oEAAqU,GAAI;;;;;;sBAA6L,CAAC;oBAA8B,CAAC;wBAAkC,CAAC;gCAA0C,CAAC;;;sBAA2D,CAAC;oBAA8B,CAAC;wBAAkC,CAAC;gCAA0C,CAAC;;;sBAA8D,CAAC;oBAA8B,CAAC;wBAAkC,CAAC;gCAA0C,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;iIAA48D,GAAI;gIAAgO,GAAI;sCAAsI,GAAI;;;;gBAA4b,CAAC;kBAA4B,CAAC;mBAAgC,CAAC;YAAwC,CAAC;;iDAAqF,GAAI;;;;;;sCAA+Y,GAAI;oBAAuD,CAAC;;;oEAAqU,GAAI;;EA5C36P,CAAC;AAEF,eAAO,MAAM,SAAS;;;;;;;CAuCpB,CAAC;AAEH,eAAO,MAAM,+BAA+B,YAAsC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/exodus/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAEL,KAAK,EAQN,MAAM,kBAAkB,CAAC;AAsK1B,eAAO,MAAM,YAAY;;;;;;;CAyCvB,CAAC;AAEH,eAAO,MAAM,uBAAuB,8MAAyC,CAAC;AAC9E,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/exodus/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EACL,KAAK,EAON,MAAM,kBAAkB,CAAC;AA4I1B,eAAO,MAAM,YAAY;;;;;;;CAyCvB,CAAC;AAEH,eAAO,MAAM,uBAAuB,8MAAyC,CAAC;AAC9E,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC"}
@@ -12,7 +12,7 @@ export declare const walletconnectWallet: {
12
12
  };
13
13
  export declare const WC_SUPPORTED_CHAINS: (Chain.Arbitrum | Chain.Aurora | Chain.Avalanche | Chain.Base | Chain.Berachain | Chain.BinanceSmartChain | Chain.Cosmos | Chain.Ethereum | Chain.Kujira | Chain.Maya | Chain.Near | Chain.Optimism | Chain.Polygon | Chain.THORChain | Chain.Tron)[];
14
14
  export type Walletconnect = Awaited<ReturnType<typeof getWalletconnect>>;
15
- declare function getWalletconnect(chains: Chain[], walletConnectProjectId?: string, walletconnectOptions?: SignClientTypes.Options): Promise<{
15
+ declare function getWalletconnect(chains: Chain[], walletConnectProjectId: string, walletconnectOptions?: SignClientTypes.Options): Promise<{
16
16
  accounts: string[] | undefined;
17
17
  client: import("@walletconnect/sign-client").default;
18
18
  disconnect: () => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/walletconnect/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,EAQN,MAAM,kBAAkB,CAAC;AAO1B,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAa1E,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AAExB,eAAO,MAAM,mBAAmB;;;;;;;CAsD9B,CAAC;AAEH,eAAO,MAAM,mBAAmB,uPAAgD,CAAC;AACjF,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC;AAwOzE,iBAAe,gBAAgB,CAC7B,MAAM,EAAE,KAAK,EAAE,EACf,sBAAsB,CAAC,EAAE,MAAM,EAC/B,oBAAoB,CAAC,EAAE,eAAe,CAAC,OAAO;;;;;;eAkF/C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/walletconnect/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,EAON,MAAM,kBAAkB,CAAC;AAO1B,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAa1E,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AAExB,eAAO,MAAM,mBAAmB;;;;;;;CAsD9B,CAAC;AAEH,eAAO,MAAM,mBAAmB,uPAAgD,CAAC;AACjF,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC;AAwNzE,iBAAe,gBAAgB,CAC7B,MAAM,EAAE,KAAK,EAAE,EACf,sBAAsB,EAAE,MAAM,EAC9B,oBAAoB,CAAC,EAAE,eAAe,CAAC,OAAO;;;;;;eA+E/C"}
package/package.json CHANGED
@@ -6,17 +6,17 @@
6
6
  "@cosmjs/proto-signing": "~0.33.0",
7
7
  "@keplr-wallet/types": "~0.12.238",
8
8
  "@passkeys/core": "^4.0.0",
9
- "@passkeys/react": "^3.0.0",
9
+ "@passkeys/react": "^3.0.1",
10
10
  "@radixdlt/babylon-gateway-api-sdk": "~1.10.0",
11
11
  "@radixdlt/radix-dapp-toolkit": "~2.2.0",
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.8",
16
- "@swapkit/toolboxes": "4.0.8",
17
- "@swapkit/wallet-core": "4.0.8",
18
- "@swapkit/wallet-hardware": "4.1.7",
19
- "@swapkit/wallet-keystore": "4.0.8",
15
+ "@swapkit/helpers": "4.0.10",
16
+ "@swapkit/toolboxes": "4.0.10",
17
+ "@swapkit/wallet-core": "4.0.10",
18
+ "@swapkit/wallet-hardware": "4.1.9",
19
+ "@swapkit/wallet-keystore": "4.0.10",
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.4",
45
- "@swapkit/helpers": "4.0.8",
46
- "@swapkit/toolboxes": "4.0.8",
45
+ "@swapkit/helpers": "4.0.10",
46
+ "@swapkit/toolboxes": "4.0.10",
47
47
  "@trezor/connect-web": "9.6.2",
48
48
  "@walletconnect/logger": "2.1.2",
49
49
  "@walletconnect/modal": "2.7.0",
@@ -183,5 +183,5 @@
183
183
  "type-check:go": "tsgo"
184
184
  },
185
185
  "type": "module",
186
- "version": "4.1.7"
186
+ "version": "4.1.9"
187
187
  }