@swapkit/wallets 4.1.22 → 4.1.24

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,5 +1,5 @@
1
- import"./chunk-fxqrst6z.js";var Q="wss://relay.walletconnect.com",W="eip155:1",X="eip155:56",Y="eip155:43114",Z="cosmos:thorchain",$="cosmos:cosmoshub-4",c="cosmos:kaiyo-1",e="cosmos:mayachain-mainnet-v1",g="eip155:42161",h="eip155:10",o="eip155:137",r="eip155:8453",G="near:mainnet",a="near:testnet",i="tron:0x2b6653dc",s="eip155:1313161554",t="eip155:80094",n="debug",K={description:"SwapKit cross-chain SDK",icons:["https://raw.githubusercontent.com/swapkit/SwapKit/refs/heads/develop/docs/src/assets/logo-black.png"],name:"SwapKit",url:"https://swapkit.dev/"},l;((b)=>{b.ETH_SEND_TRANSACTION="eth_sendTransaction";b.ETH_SIGN="eth_sign";b.PERSONAL_SIGN="personal_sign";b.ETH_SIGN_TYPED_DATA="eth_signTypedData"})(l||={});var m;((d)=>{d.ETH_CHAIN_CHANGED="chainChanged";d.ETH_ACCOUNTS_CHANGED="accountsChanged"})(m||={});var p;((k)=>{k.COSMOS_SIGN_DIRECT="cosmos_signDirect";k.COSMOS_SIGN_AMINO="cosmos_signAmino";k.COSMOS_GET_ACCOUNTS="cosmos_getAccounts"})(p||={});var q;((j)=>{})(q||={});var u;((d)=>{d.SOL_SIGN_TRANSACTION="solana_signTransaction";d.SOL_SIGN_MESSAGE="solana_signMessage"})(u||={});var v;((j)=>{})(v||={});var w;((d)=>{d.POLKADOT_SIGN_TRANSACTION="polkadot_signTransaction";d.POLKADOT_SIGN_MESSAGE="polkadot_signMessage"})(w||={});var x;((j)=>{})(x||={});var y;((f)=>{f.NEAR_SIGN_IN="near_signIn";f.NEAR_SIGN_OUT="near_signOut";f.NEAR_GET_ACCOUNTS="near_getAccounts";f.NEAR_SIGN_AND_SEND_TRANSACTION="near_signAndSendTransaction";f.NEAR_SIGN_AND_SEND_TRANSACTIONS="near_signAndSendTransactions"})(y||={});var z;((j)=>{})(z||={});var B;((b)=>{b.TRON_SIGN_MESSAGE="tron_signMessage";b.TRON_SIGN_TRANSACTION="tron_signTransaction";b.TRON_SEND_TRANSACTION="tron_sendTransaction";b.TRON_GET_ACCOUNTS="tron_getAccounts"})(B||={});var J;((j)=>{})(J||={});export{i as TRON_MAINNET_ID,Z as THORCHAIN_MAINNET_ID,o as POLYGON_MAINNET_ID,h as OPTIMISM_MAINNET_ID,a as NEAR_TESTNET_ID,G as NEAR_MAINNET_ID,e as MAYACHAIN_MAINNET_ID,c as KUJIRA_MAINNET_ID,W as ETHEREUM_MAINNET_ID,B as DEFAULT_TRON_METHODS,J as DEFAULT_TRON_EVENTS,u as DEFAULT_SOLANA_METHODS,v as DEFAULT_SOLANA_EVENTS,Q as DEFAULT_RELAY_URL,w as DEFAULT_POLKADOT_METHODS,x as DEFAULT_POLKADOT_EVENTS,y as DEFAULT_NEAR_METHODS,z as DEFAULT_NEAR_EVENTS,n as DEFAULT_LOGGER,m as DEFAULT_EIP_155_EVENTS,l as DEFAULT_EIP155_METHODS,p as DEFAULT_COSMOS_METHODS,q as DEFAULT_COSMOS_EVENTS,K as DEFAULT_APP_METADATA,$ as COSMOS_HUB_MAINNET_ID,X as BSC_MAINNET_ID,t as BERACHAIN_MAINNET_ID,r as BASE_MAINNET_ID,Y as AVALANCHE_MAINNET_ID,s as AURORA_MAINNET_ID,g as ARBITRUM_ONE_MAINNET_ID};
1
+ import"./chunk-jgq4njag.js";var Q="wss://relay.walletconnect.com",W="eip155:1",X="eip155:56",Y="eip155:43114",Z="cosmos:thorchain",$="cosmos:cosmoshub-4",c="cosmos:kaiyo-1",e="cosmos:mayachain-mainnet-v1",g="eip155:42161",h="eip155:10",o="eip155:137",r="eip155:8453",G="near:mainnet",a="near:testnet",i="tron:0x2b6653dc",s="eip155:1313161554",t="eip155:80094",n="debug",K={description:"SwapKit cross-chain SDK",icons:["https://raw.githubusercontent.com/swapkit/SwapKit/refs/heads/develop/docs/src/assets/logo-black.png"],name:"SwapKit",url:"https://swapkit.dev/"},l;((b)=>{b.ETH_SEND_TRANSACTION="eth_sendTransaction";b.ETH_SIGN="eth_sign";b.PERSONAL_SIGN="personal_sign";b.ETH_SIGN_TYPED_DATA="eth_signTypedData"})(l||={});var m;((d)=>{d.ETH_CHAIN_CHANGED="chainChanged";d.ETH_ACCOUNTS_CHANGED="accountsChanged"})(m||={});var p;((k)=>{k.COSMOS_SIGN_DIRECT="cosmos_signDirect";k.COSMOS_SIGN_AMINO="cosmos_signAmino";k.COSMOS_GET_ACCOUNTS="cosmos_getAccounts"})(p||={});var q;((j)=>{})(q||={});var u;((d)=>{d.SOL_SIGN_TRANSACTION="solana_signTransaction";d.SOL_SIGN_MESSAGE="solana_signMessage"})(u||={});var v;((j)=>{})(v||={});var w;((d)=>{d.POLKADOT_SIGN_TRANSACTION="polkadot_signTransaction";d.POLKADOT_SIGN_MESSAGE="polkadot_signMessage"})(w||={});var x;((j)=>{})(x||={});var y;((f)=>{f.NEAR_SIGN_IN="near_signIn";f.NEAR_SIGN_OUT="near_signOut";f.NEAR_GET_ACCOUNTS="near_getAccounts";f.NEAR_SIGN_AND_SEND_TRANSACTION="near_signAndSendTransaction";f.NEAR_SIGN_AND_SEND_TRANSACTIONS="near_signAndSendTransactions"})(y||={});var z;((j)=>{})(z||={});var B;((b)=>{b.TRON_SIGN_MESSAGE="tron_signMessage";b.TRON_SIGN_TRANSACTION="tron_signTransaction";b.TRON_SEND_TRANSACTION="tron_sendTransaction";b.TRON_GET_ACCOUNTS="tron_getAccounts"})(B||={});var J;((j)=>{})(J||={});export{i as TRON_MAINNET_ID,Z as THORCHAIN_MAINNET_ID,o as POLYGON_MAINNET_ID,h as OPTIMISM_MAINNET_ID,a as NEAR_TESTNET_ID,G as NEAR_MAINNET_ID,e as MAYACHAIN_MAINNET_ID,c as KUJIRA_MAINNET_ID,W as ETHEREUM_MAINNET_ID,B as DEFAULT_TRON_METHODS,J as DEFAULT_TRON_EVENTS,u as DEFAULT_SOLANA_METHODS,v as DEFAULT_SOLANA_EVENTS,Q as DEFAULT_RELAY_URL,w as DEFAULT_POLKADOT_METHODS,x as DEFAULT_POLKADOT_EVENTS,y as DEFAULT_NEAR_METHODS,z as DEFAULT_NEAR_EVENTS,n as DEFAULT_LOGGER,m as DEFAULT_EIP_155_EVENTS,l as DEFAULT_EIP155_METHODS,p as DEFAULT_COSMOS_METHODS,q as DEFAULT_COSMOS_EVENTS,K as DEFAULT_APP_METADATA,$ as COSMOS_HUB_MAINNET_ID,X as BSC_MAINNET_ID,t as BERACHAIN_MAINNET_ID,r as BASE_MAINNET_ID,Y as AVALANCHE_MAINNET_ID,s as AURORA_MAINNET_ID,g as ARBITRUM_ONE_MAINNET_ID};
2
2
  export{Q as a,W as b,X as c,Y as d,Z as e,$ as f,c as g,e as h,g as i,h as j,o as k,r as l,G as m,a as n,i as o,s as p,t as q,n as r,K as s,l as t,m as u,p as v,q as w,u as x,v as y,w as z,x as A,y as B,z as C,B as D,J as E};
3
3
 
4
4
  //# debugId=20A0358BBD91D51464756E2164756E21
5
- //# sourceMappingURL=chunk-4a80xkcp.js.map
5
+ //# sourceMappingURL=chunk-3cmctt43.js.map
@@ -1,5 +1,5 @@
1
1
  var g=Object.create;var{getPrototypeOf:h,defineProperty:f,getOwnPropertyNames:i}=Object;var j=Object.prototype.hasOwnProperty;var k=(a,c,b)=>{b=a!=null?g(h(a)):{};let d=c||!a||!a.__esModule?f(b,"default",{value:a,enumerable:!0}):b;for(let e of i(a))if(!j.call(d,e))f(d,e,{get:()=>a[e],enumerable:!0});return d};var l=((a)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(a,{get:(c,b)=>(typeof require<"u"?require:c)[b]}):a)(function(a){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+a+'" is not supported')});
2
2
  export{k as F,l as G};
3
3
 
4
- //# debugId=46D1202043EB7DA864756E2164756E21
5
- //# sourceMappingURL=chunk-fxqrst6z.js.map
4
+ //# debugId=25CF7CC074E44F5564756E2164756E21
5
+ //# sourceMappingURL=chunk-jgq4njag.js.map
@@ -4,6 +4,6 @@
4
4
  "sourcesContent": [
5
5
  ],
6
6
  "mappings": "",
7
- "debugId": "46D1202043EB7DA864756E2164756E21",
7
+ "debugId": "25CF7CC074E44F5564756E2164756E21",
8
8
  "names": []
9
9
  }
@@ -1,4 +1,4 @@
1
- import{F as Q,G as V}from"./chunk-fxqrst6z.js";import{SwapKitError as B}from"@swapkit/helpers";import{SignedTransaction as X}from"near-api-js/lib/transaction";async function $(q,z){if(!(q.isSignedIn?q.isSignedIn():!1))await q.connect({contractId:"",methodNames:[]});return{...q,async getAddress(){if(q.getAccountId)return q.getAccountId();if(q.isSignedIn&&!q.isSignedIn()){let x=await q.connect();if(Array.isArray(x)&&x.length>0&&x[0])return typeof x[0]==="string"?x[0]:x[0].accountId;throw new B("wallet_connection_rejected_by_user",{wallet:z})}throw new B("wallet_connection_rejected_by_user",{wallet:z})},async getPublicKey(){let{utils:x}=await import("near-api-js");if(q.getPublicKey){let M=await q.getPublicKey();return x.PublicKey.from(M)}if(!q.signMessage)throw new B("wallet_ledger_method_not_supported",{method:"getPublicKey",wallet:z});let{PublicKey:H}=await import("near-api-js/lib/utils"),J=Buffer.alloc(32),L=`ed25519:${Buffer.from(J).toString("base64")}`;return H.from(L)},signDelegateAction(x){return Promise.reject(new B("wallet_ledger_method_not_supported",{method:"signDelegateAction",wallet:z}))},async signNep413Message(x,H,J,L,M){if(!q.signMessage)throw new B("wallet_ledger_method_not_supported",{method:"signNep413Message",wallet:z});return await q.signMessage({callbackUrl:M,message:x,nonce:Buffer.from(L),recipient:J})},async signTransaction(x){if(!q.request)throw new B("wallet_near_method_not_supported",{method:"request",wallet:z});let H=await q.request({method:"near_signTransactions",params:{transactions:[x]}}),J=new X({signature:H.signatures,transaction:x});return[H.signatures.data,J]}}}function f(q,z){let O=z.split("."),F=q;for(let x of O)if(F=F?.[x],!F)return null;return F}function A(q){return q?"near:testnet":"near:mainnet"}export{A as getNearChainId,f as detectNearProvider,$ as createNearSignerFromProvider};
1
+ import{F as Q,G as V}from"./chunk-jgq4njag.js";import{SwapKitError as B}from"@swapkit/helpers";import{SignedTransaction as X}from"near-api-js/lib/transaction";async function $(q,z){if(!(q.isSignedIn?q.isSignedIn():!1))await q.connect({contractId:"",methodNames:[]});return{...q,async getAddress(){if(q.getAccountId)return q.getAccountId();if(q.isSignedIn&&!q.isSignedIn()){let x=await q.connect();if(Array.isArray(x)&&x.length>0&&x[0])return typeof x[0]==="string"?x[0]:x[0].accountId;throw new B("wallet_connection_rejected_by_user",{wallet:z})}throw new B("wallet_connection_rejected_by_user",{wallet:z})},async getPublicKey(){let{utils:x}=await import("near-api-js");if(q.getPublicKey){let M=await q.getPublicKey();return x.PublicKey.from(M)}if(!q.signMessage)throw new B("wallet_ledger_method_not_supported",{method:"getPublicKey",wallet:z});let{PublicKey:H}=await import("near-api-js/lib/utils"),J=Buffer.alloc(32),L=`ed25519:${Buffer.from(J).toString("base64")}`;return H.from(L)},signDelegateAction(x){return Promise.reject(new B("wallet_ledger_method_not_supported",{method:"signDelegateAction",wallet:z}))},async signNep413Message(x,H,J,L,M){if(!q.signMessage)throw new B("wallet_ledger_method_not_supported",{method:"signNep413Message",wallet:z});return await q.signMessage({callbackUrl:M,message:x,nonce:Buffer.from(L),recipient:J})},async signTransaction(x){if(!q.request)throw new B("wallet_near_method_not_supported",{method:"request",wallet:z});let H=await q.request({method:"near_signTransactions",params:{transactions:[x]}}),J=new X({signature:H.signatures,transaction:x});return[H.signatures.data,J]}}}function f(q,z){let O=z.split("."),F=q;for(let x of O)if(F=F?.[x],!F)return null;return F}function A(q){return q?"near:testnet":"near:mainnet"}export{A as getNearChainId,f as detectNearProvider,$ as createNearSignerFromProvider};
2
2
 
3
3
  //# debugId=92BB3373324EB0C464756E2164756E21
4
- //# sourceMappingURL=chunk-dtr1yvx8.js.map
4
+ //# sourceMappingURL=chunk-wfz8zxk9.js.map
@@ -1,4 +1,4 @@
1
- import{F as H,G as I}from"../../chunk-fxqrst6z.js";import{Chain as q,EVMChains as Y,filterSupportedChains as Z,WalletOption as $}from"@swapkit/helpers";import{createWallet as j,getWalletSupportedChains as L}from"@swapkit/wallet-core";import{Chain as y,ChainId as J,prepareNetworkSwitch as U,SwapKitError as _,switchEVMWalletNetwork as V}from"@swapkit/helpers";import{Psbt as W}from"bitcoinjs-lib";async function Q(f){let{match:D,P:M}=await import("ts-pattern"),m=window.bitkeep;return D(f).with(M.union(y.Arbitrum,y.Aurora,y.Avalanche,y.Base,y.Berachain,y.BinanceSmartChain,y.Ethereum,y.Gnosis,y.Optimism,y.Polygon),async()=>{if(!(m&&("ethereum"in m)))throw new _("wallet_bitkeep_not_found");let B=m.ethereum,[G]=await B.send("eth_requestAccounts",[]);return{...await X({chain:f,walletProvider:B}),address:G}}).with(y.Bitcoin,async()=>{if(!(m&&("unisat"in m)))throw new _("wallet_bitkeep_not_found");let{unisat:B}=m,{getUtxoToolbox:G}=await import("@swapkit/toolboxes/utxo"),[u]=await B.requestAccounts();async function O(z){let F=await B.signPsbt(z.toHex(),{autoFinalized:!1});return W.fromHex(F)}let A={getAddress:()=>Promise.resolve(u),signTransaction:O};return{...await G(y.Bitcoin,{signer:A}),address:u}}).with(y.Cosmos,async()=>{if(!(m&&("keplr"in m)))throw new _("wallet_bitkeep_not_found");let{keplr:B}=m;await B.enable(J.GAIA);let G=B.getOfflineSignerOnlyAmino(J.GAIA),u=await G.getAccounts();if(!u?.[0])throw new _("wallet_bitkeep_no_accounts",{chain:y.Cosmos});let{getCosmosToolbox:O}=await import("@swapkit/toolboxes/cosmos"),[{address:A}]=u,R={...G,getAddress:()=>Promise.resolve(A),signTransaction:async()=>Promise.resolve({})};return{...await O(y.Cosmos,{signer:R}),address:A}}).with(y.Solana,async()=>{if(!(m&&("solana"in m)))throw new _("wallet_bitkeep_not_found");let{getSolanaToolbox:B}=await import("@swapkit/toolboxes/solana"),G=m?.solana,u=await G.connect(),O=u.publicKey.toString(),A={...G,getAddress:async()=>O,publicKey:u.publicKey};return{...await B({signer:A}),address:O}}).with(y.Tron,async()=>{if(!(m&&("tronLink"in m)&&("tronWeb"in m)))throw new _("wallet_bitkeep_not_found");let{createTronToolbox:B}=await import("@swapkit/toolboxes/tron"),{tronLink:G,tronWeb:u}=m,O=await G.request({method:"tron_requestAccounts"});if(O.code!==200)throw new _("wallet_connection_rejected_by_user",{message:O.message||"User rejected connection"});let A=u.defaultAddress?.base58;if(!A)throw new _("wallet_bitkeep_no_accounts",{chain:y.Tron});return{...await B({signer:{getAddress:()=>Promise.resolve(A),signTransaction:async(F)=>{return await u.trx.sign(F)}}}),address:A}}).otherwise(()=>{throw new _("wallet_chain_not_supported")})}var X=async({chain:f,walletProvider:D})=>{let{getEvmToolbox:M}=await import("@swapkit/toolboxes/evm"),{BrowserProvider:m}=await import("ethers");if(!D)throw new _("wallet_provider_not_found");let B=new m(D,"any"),G=await B.getSigner(),u=await M(f,{provider:B,signer:G});try{if(f!==y.Ethereum&&"getNetworkParams"in u)await V(B,f,u.getNetworkParams())}catch(O){throw new _("wallet_bitkeep_failed_to_switch_network",{chain:f})}return U({chain:f,provider:B,toolbox:u})};var N=j({connect:({addChain:f,walletType:D,supportedChains:M})=>async function(B){let G=Z({chains:B,supportedChains:M,walletType:D});return await Promise.all(G.map(async(u)=>{let O=await Q(u);f({...O,chain:u,walletType:D})})),!0},name:"connectBitget",supportedChains:[...Y,q.Cosmos,q.Bitcoin,q.Solana,q.Tron],walletType:$.BITGET}),v=L(N);export{N as bitgetWallet,v as BITGET_SUPPORTED_CHAINS};
1
+ import{F as H,G as I}from"../../chunk-jgq4njag.js";import{Chain as q,EVMChains as Y,filterSupportedChains as Z,WalletOption as $}from"@swapkit/helpers";import{createWallet as j,getWalletSupportedChains as L}from"@swapkit/wallet-core";import{Chain as y,ChainId as J,prepareNetworkSwitch as U,SwapKitError as _,switchEVMWalletNetwork as V}from"@swapkit/helpers";import{Psbt as W}from"bitcoinjs-lib";async function Q(f){let{match:D,P:M}=await import("ts-pattern"),m=window.bitkeep;return D(f).with(M.union(y.Arbitrum,y.Aurora,y.Avalanche,y.Base,y.Berachain,y.BinanceSmartChain,y.Ethereum,y.Gnosis,y.Optimism,y.Polygon),async()=>{if(!(m&&("ethereum"in m)))throw new _("wallet_bitkeep_not_found");let B=m.ethereum,[G]=await B.send("eth_requestAccounts",[]);return{...await X({chain:f,walletProvider:B}),address:G}}).with(y.Bitcoin,async()=>{if(!(m&&("unisat"in m)))throw new _("wallet_bitkeep_not_found");let{unisat:B}=m,{getUtxoToolbox:G}=await import("@swapkit/toolboxes/utxo"),[u]=await B.requestAccounts();async function O(z){let F=await B.signPsbt(z.toHex(),{autoFinalized:!1});return W.fromHex(F)}let A={getAddress:()=>Promise.resolve(u),signTransaction:O};return{...await G(y.Bitcoin,{signer:A}),address:u}}).with(y.Cosmos,async()=>{if(!(m&&("keplr"in m)))throw new _("wallet_bitkeep_not_found");let{keplr:B}=m;await B.enable(J.GAIA);let G=B.getOfflineSignerOnlyAmino(J.GAIA),u=await G.getAccounts();if(!u?.[0])throw new _("wallet_bitkeep_no_accounts",{chain:y.Cosmos});let{getCosmosToolbox:O}=await import("@swapkit/toolboxes/cosmos"),[{address:A}]=u,R={...G,getAddress:()=>Promise.resolve(A),signTransaction:async()=>Promise.resolve({})};return{...await O(y.Cosmos,{signer:R}),address:A}}).with(y.Solana,async()=>{if(!(m&&("solana"in m)))throw new _("wallet_bitkeep_not_found");let{getSolanaToolbox:B}=await import("@swapkit/toolboxes/solana"),G=m?.solana,u=await G.connect(),O=u.publicKey.toString(),A={...G,getAddress:async()=>O,publicKey:u.publicKey};return{...await B({signer:A}),address:O}}).with(y.Tron,async()=>{if(!(m&&("tronLink"in m)&&("tronWeb"in m)))throw new _("wallet_bitkeep_not_found");let{createTronToolbox:B}=await import("@swapkit/toolboxes/tron"),{tronLink:G,tronWeb:u}=m,O=await G.request({method:"tron_requestAccounts"});if(O.code!==200)throw new _("wallet_connection_rejected_by_user",{message:O.message||"User rejected connection"});let A=u.defaultAddress?.base58;if(!A)throw new _("wallet_bitkeep_no_accounts",{chain:y.Tron});return{...await B({signer:{getAddress:()=>Promise.resolve(A),signTransaction:async(F)=>{return await u.trx.sign(F)}}}),address:A}}).otherwise(()=>{throw new _("wallet_chain_not_supported")})}var X=async({chain:f,walletProvider:D})=>{let{getEvmToolbox:M}=await import("@swapkit/toolboxes/evm"),{BrowserProvider:m}=await import("ethers");if(!D)throw new _("wallet_provider_not_found");let B=new m(D,"any"),G=await B.getSigner(),u=await M(f,{provider:B,signer:G});try{if(f!==y.Ethereum&&"getNetworkParams"in u)await V(B,f,u.getNetworkParams())}catch(O){throw new _("wallet_bitkeep_failed_to_switch_network",{chain:f})}return U({chain:f,provider:B,toolbox:u})};var N=j({connect:({addChain:f,walletType:D,supportedChains:M})=>async function(B){let G=Z({chains:B,supportedChains:M,walletType:D});return await Promise.all(G.map(async(u)=>{let O=await Q(u);f({...O,chain:u,walletType:D})})),!0},name:"connectBitget",supportedChains:[...Y,q.Cosmos,q.Bitcoin,q.Solana,q.Tron],walletType:$.BITGET}),v=L(N);export{N as bitgetWallet,v as BITGET_SUPPORTED_CHAINS};
2
2
 
3
3
  //# debugId=58973E50A301DB4F64756E2164756E21
4
4
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- import{F as h,G as u}from"../../chunk-fxqrst6z.js";import{Chain as o,ChainId as C,filterSupportedChains as P,SKConfig as y,WalletOption as S}from"@swapkit/helpers";import{createWallet as v,getWalletSupportedChains as W}from"@swapkit/wallet-core";import{Chain as a,SwapKitError as m}from"@swapkit/helpers";async function b(t,n){let{AbstractSigner:i}=await import("ethers");class s extends i{#e;constructor(e,r){super(r);this.#e=e}async getAddress(){let e=await this.#e.request({method:"eth_requestAccounts"});if(!e[0])throw new m("wallet_coinbase_no_accounts");return e[0]}async signTransaction(){return await this.#e.request({method:"eth_signTransaction"})}async signMessage(e){return await this.#e.request({method:"personal_sign",params:[e,await this.getAddress()]})}signTypedData=()=>{throw new m("wallet_coinbase_method_not_supported",{method:"signTypedData"})};connect(e){return new s(this.#e,e)}}return new s(t,n)}var w=async({chain:t,coinbaseSdk:n})=>{switch(t){case a.Ethereum:case a.Avalanche:case a.Arbitrum:case a.Optimism:case a.Polygon:case a.Base:case a.BinanceSmartChain:{let i=n.getProvider(),{getEvmToolbox:s,getProvider:e}=await import("@swapkit/toolboxes/evm"),r=await e(t),c=await b(i,r),d=await s(t,{provider:r,signer:c}),p=await c.getAddress();return{...d,address:p}}default:throw new m("wallet_coinbase_chain_not_supported",{chain:t})}};var _=v({connect:({addChain:t,walletType:n,supportedChains:i})=>async function(e){let{createCoinbaseWalletSDK:r}=await import("@coinbase/wallet-sdk"),c=P({chains:e,supportedChains:i,walletType:n}),d=y.get("integrations").coinbase||{appName:"Swapkit Playground"},p=r({...d,appChainIds:c.map((l)=>Number(C[l]))});return await Promise.all(c.map(async(l)=>{let g=await w({chain:l,coinbaseSdk:p});t({...g,chain:l,walletType:n})})),!0},name:"connectCoinbaseWallet",supportedChains:[o.Arbitrum,o.Avalanche,o.Base,o.BinanceSmartChain,o.Ethereum,o.Optimism,o.Polygon],walletType:S.COINBASE_MOBILE}),O=W(_);export{_ as coinbaseWallet,O as COINBASE_SUPPORTED_CHAINS};
1
+ import{F as h,G as u}from"../../chunk-jgq4njag.js";import{Chain as o,ChainId as C,filterSupportedChains as P,SKConfig as y,WalletOption as S}from"@swapkit/helpers";import{createWallet as v,getWalletSupportedChains as W}from"@swapkit/wallet-core";import{Chain as a,SwapKitError as m}from"@swapkit/helpers";async function b(t,n){let{AbstractSigner:i}=await import("ethers");class s extends i{#e;constructor(e,r){super(r);this.#e=e}async getAddress(){let e=await this.#e.request({method:"eth_requestAccounts"});if(!e[0])throw new m("wallet_coinbase_no_accounts");return e[0]}async signTransaction(){return await this.#e.request({method:"eth_signTransaction"})}async signMessage(e){return await this.#e.request({method:"personal_sign",params:[e,await this.getAddress()]})}signTypedData=()=>{throw new m("wallet_coinbase_method_not_supported",{method:"signTypedData"})};connect(e){return new s(this.#e,e)}}return new s(t,n)}var w=async({chain:t,coinbaseSdk:n})=>{switch(t){case a.Ethereum:case a.Avalanche:case a.Arbitrum:case a.Optimism:case a.Polygon:case a.Base:case a.BinanceSmartChain:{let i=n.getProvider(),{getEvmToolbox:s,getProvider:e}=await import("@swapkit/toolboxes/evm"),r=await e(t),c=await b(i,r),d=await s(t,{provider:r,signer:c}),p=await c.getAddress();return{...d,address:p}}default:throw new m("wallet_coinbase_chain_not_supported",{chain:t})}};var _=v({connect:({addChain:t,walletType:n,supportedChains:i})=>async function(e){let{createCoinbaseWalletSDK:r}=await import("@coinbase/wallet-sdk"),c=P({chains:e,supportedChains:i,walletType:n}),d=y.get("integrations").coinbase||{appName:"Swapkit Playground"},p=r({...d,appChainIds:c.map((l)=>Number(C[l]))});return await Promise.all(c.map(async(l)=>{let g=await w({chain:l,coinbaseSdk:p});t({...g,chain:l,walletType:n})})),!0},name:"connectCoinbaseWallet",supportedChains:[o.Arbitrum,o.Avalanche,o.Base,o.BinanceSmartChain,o.Ethereum,o.Optimism,o.Polygon],walletType:S.COINBASE_MOBILE}),O=W(_);export{_ as coinbaseWallet,O as COINBASE_SUPPORTED_CHAINS};
2
2
 
3
3
  //# debugId=AC2A2E76F13C583D64756E2164756E21
4
4
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- import{F as w,G as h}from"../../chunk-fxqrst6z.js";import{Chain as o,ChainId as l,filterSupportedChains as _,SwapKitError as i,WalletOption as p}from"@swapkit/helpers";import{createWallet as f,getWalletSupportedChains as C}from"@swapkit/wallet-core";var O=[l.GAIA,l.KUJI,l.NOBLE,l.THOR],y=[o.Ethereum,o.BinanceSmartChain,o.Avalanche,o.Polygon,o.Arbitrum,o.Optimism,o.Base];async function S(r,m,e){await Promise.all(r.map(async(n)=>{let a=l[n];await e.enable(a);let s=e.getOfflineSignerOnlyAmino(a);if(!s)throw new i("wallet_cosmostation_signer_not_found");let{getCosmosToolbox:c}=await import("@swapkit/toolboxes/cosmos"),t=await s.getAccounts();if(!t?.[0]?.address)throw new i("wallet_cosmostation_no_accounts");let[{address:d}]=t,u=await c(n,{signer:s});m({...u,address:d,chain:n,walletType:p.COSMOSTATION})}))}async function T(r,m){let e=window.ethereum;if(!e)throw new i("wallet_cosmostation_evm_provider_not_found");let n=await e.request({method:"eth_requestAccounts"});if(!n||n.length===0)throw new i("wallet_cosmostation_no_evm_accounts");let{getEvmToolbox:a}=await import("@swapkit/toolboxes/evm");for(let s of r){let c=a(s,{provider:e}),[t]=n;if(!t)throw new i("wallet_cosmostation_no_evm_address");m({...c,address:t,chain:s,walletType:p.COSMOSTATION})}}var g=f({connect:({addChain:r,supportedChains:m})=>async function(n){let a=_({chains:n,supportedChains:m,walletType:p.COSMOSTATION});if(!window.cosmostation)throw new i("wallet_cosmostation_not_found");let s=a.filter((t)=>O.includes(l[t])),c=a.filter((t)=>y.includes(t));if(s.length>0){let t=window.cosmostation.providers?.keplr;if(!t)throw new i("wallet_cosmostation_keplr_provider_not_found");await S(s,r,t)}if(c.length>0)await T(c,r);return!0},name:"connectCosmostation",supportedChains:[o.Cosmos,o.Kujira,o.Noble,o.THORChain,o.Ethereum,o.BinanceSmartChain,o.Avalanche,o.Polygon,o.Arbitrum,o.Optimism,o.Base]}),I=C(g);export{g as cosmostationWallet,I as COSMOSTATION_SUPPORTED_CHAINS};
1
+ import{F as w,G as h}from"../../chunk-jgq4njag.js";import{Chain as o,ChainId as l,filterSupportedChains as _,SwapKitError as i,WalletOption as p}from"@swapkit/helpers";import{createWallet as f,getWalletSupportedChains as C}from"@swapkit/wallet-core";var O=[l.GAIA,l.KUJI,l.NOBLE,l.THOR],y=[o.Ethereum,o.BinanceSmartChain,o.Avalanche,o.Polygon,o.Arbitrum,o.Optimism,o.Base];async function S(r,m,e){await Promise.all(r.map(async(n)=>{let a=l[n];await e.enable(a);let s=e.getOfflineSignerOnlyAmino(a);if(!s)throw new i("wallet_cosmostation_signer_not_found");let{getCosmosToolbox:c}=await import("@swapkit/toolboxes/cosmos"),t=await s.getAccounts();if(!t?.[0]?.address)throw new i("wallet_cosmostation_no_accounts");let[{address:d}]=t,u=await c(n,{signer:s});m({...u,address:d,chain:n,walletType:p.COSMOSTATION})}))}async function T(r,m){let e=window.ethereum;if(!e)throw new i("wallet_cosmostation_evm_provider_not_found");let n=await e.request({method:"eth_requestAccounts"});if(!n||n.length===0)throw new i("wallet_cosmostation_no_evm_accounts");let{getEvmToolbox:a}=await import("@swapkit/toolboxes/evm");for(let s of r){let c=a(s,{provider:e}),[t]=n;if(!t)throw new i("wallet_cosmostation_no_evm_address");m({...c,address:t,chain:s,walletType:p.COSMOSTATION})}}var g=f({connect:({addChain:r,supportedChains:m})=>async function(n){let a=_({chains:n,supportedChains:m,walletType:p.COSMOSTATION});if(!window.cosmostation)throw new i("wallet_cosmostation_not_found");let s=a.filter((t)=>O.includes(l[t])),c=a.filter((t)=>y.includes(t));if(s.length>0){let t=window.cosmostation.providers?.keplr;if(!t)throw new i("wallet_cosmostation_keplr_provider_not_found");await S(s,r,t)}if(c.length>0)await T(c,r);return!0},name:"connectCosmostation",supportedChains:[o.Cosmos,o.Kujira,o.Noble,o.THORChain,o.Ethereum,o.BinanceSmartChain,o.Avalanche,o.Polygon,o.Arbitrum,o.Optimism,o.Base]}),I=C(g);export{g as cosmostationWallet,I as COSMOSTATION_SUPPORTED_CHAINS};
2
2
 
3
3
  //# debugId=C2223C66DBF8904664756E2164756E21
4
4
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- import{F as l,G as f}from"../../chunk-fxqrst6z.js";import{Chain as o,ChainId as G,filterSupportedChains as H,SwapKitError as T,WalletOption as u}from"@swapkit/helpers";import{createWallet as L,getWalletSupportedChains as I}from"@swapkit/wallet-core";import{Chain as n,ChainId as S,EVMChains as B,providerRequest as p,SwapKitError as x,WalletOption as A}from"@swapkit/helpers";async function _(t){if(!window.xfi)throw new x("wallet_ctrl_not_found");let{match:r}=await import("ts-pattern");return r(t).with(n.Arbitrum,n.Aurora,n.Avalanche,n.Base,n.Berachain,n.BinanceSmartChain,n.Ethereum,n.Gnosis,n.Optimism,n.Polygon,()=>window.xfi?.ethereum).with(n.Cosmos,n.Kujira,n.Noble,()=>window.xfi?.keplr).with(n.Bitcoin,()=>window.xfi?.bitcoin).with(n.BitcoinCash,()=>window.xfi?.bitcoincash).with(n.Dogecoin,()=>window.xfi?.dogecoin).with(n.Litecoin,()=>window.xfi?.litecoin).with(n.Solana,()=>window.xfi?.solana).with(n.THORChain,()=>window.xfi?.thorchain).with(n.Maya,()=>window.xfi?.mayachain).otherwise(()=>{return})}async function R({method:t,params:r,chain:a}){let e=await _(a);return new Promise((s,w)=>{if(e&&"request"in e)e.request({method:t,params:r},(c,i)=>{c?w(c):s(i)})})}async function d(t){try{let r=await _(t);if(!r)throw new x({errorKey:"wallet_provider_not_found",info:{chain:t,wallet:A.CTRL}});if([n.Cosmos,n.Kujira,n.Noble].includes(t)){let e=await _(n.Cosmos);if(!e||"request"in e)throw new x({errorKey:"wallet_provider_not_found",info:{chain:t,wallet:A.CTRL}});let s=S[t];await e.enable(s);let w=e.getOfflineSigner(s),[c]=await w.getAccounts();return c?.address}if(B.includes(t)){if("request"in r&&typeof r.request==="function")return(await r.request({method:"eth_requestAccounts"}))[0];let{BrowserProvider:e}=await import("ethers"),s=new e(r,"any"),[w]=await p({method:"eth_requestAccounts",params:[],provider:s});return w}if(t===n.Solana)return(await(await _(n.Solana)).connect()).publicKey.toString();if(t===n.Near){if(!window.xfi?.near)throw new x("wallet_ctrl_not_found",{chain:n.Near});if(!window.xfi.near.isSignedIn?.())return(await window.xfi.near.request?.({method:"connect"}))?.[0]||"";return window.xfi.near.getAccountId?.()||""}return(await r.request({method:"request_accounts",params:[]}))[0]}catch(r){throw new x({errorKey:"wallet_provider_not_found",info:{chain:t,wallet:A.CTRL}})}}async function b({assetValue:t,recipient:r,memo:a,gasLimit:e},s="transfer"){if(!t)throw new x("wallet_ctrl_asset_not_defined");let w=await d(t.chain),c=[{amount:{amount:t.getBaseValue("number"),decimals:t.decimal},asset:{chain:t.chain,symbol:t.symbol.toUpperCase(),ticker:t.symbol.toUpperCase()},from:w,gasLimit:e,memo:a||"",recipient:r}];return R({chain:t.chain,method:s,params:c})}var P=L({connect:({addChain:t,walletType:r,supportedChains:a})=>async function(s){let c=H({chains:s,supportedChains:a,walletType:r}).map(async(i)=>{let m=await d(i),g=await O(i);t({...g,address:m,chain:i,walletType:r})});return await Promise.all(c),!0},name:"connectCtrl",supportedChains:[o.Arbitrum,o.Aurora,o.Avalanche,o.Base,o.Berachain,o.BinanceSmartChain,o.Bitcoin,o.BitcoinCash,o.Cosmos,o.Dogecoin,o.Ethereum,o.Gnosis,o.Kujira,o.Litecoin,o.Maya,o.Near,o.Noble,o.Optimism,o.Polygon,o.Solana,o.THORChain],walletType:u.CTRL}),Y=I(P);async function O(t){switch(t){case o.Solana:{let{getSolanaToolbox:r}=await import("@swapkit/toolboxes/solana"),a=window.xfi?.solana;if(!a)throw new T("wallet_ctrl_not_found");return await r({signer:a})}case o.Maya:case o.THORChain:{let{getCosmosToolbox:r,THORCHAIN_GAS_VALUE:a,MAYA_GAS_VALUE:e}=await import("@swapkit/toolboxes/cosmos"),s=t===o.Maya?e:a;return{...await r(t),deposit:(c)=>b({...c,recipient:""},"deposit"),transfer:(c)=>b({...c,gasLimit:s},"transfer")}}case o.Cosmos:case o.Kujira:case o.Noble:{let{getCosmosToolbox:r}=await import("@swapkit/toolboxes/cosmos"),a=G[t],e=await _(t);await e?.enable(a);let s=e?.getOfflineSignerOnlyAmino(a,{preferNoSetFee:!0});if(!s)throw new T("wallet_ctrl_not_found");return await r(t,{signer:s})}case o.Bitcoin:case o.BitcoinCash:case o.Dogecoin:case o.Litecoin:{let{getUtxoToolbox:r}=await import("@swapkit/toolboxes/utxo");return{...await r(t),transfer:b}}case o.Arbitrum:case o.Aurora:case o.Avalanche:case o.Base:case o.Berachain:case o.BinanceSmartChain:case o.Ethereum:case o.Gnosis:case o.Optimism:case o.Polygon:{let{prepareNetworkSwitch:r,switchEVMWalletNetwork:a}=await import("@swapkit/helpers"),{getEvmToolbox:e}=await import("@swapkit/toolboxes/evm"),{BrowserProvider:s}=await import("ethers"),w=await _(t);if(!w)throw new T("wallet_ctrl_not_found");let c=new s(w,"any"),i=await c.getSigner(),m=await e(t,{provider:c,signer:i});try{if(t!==o.Ethereum){let g=m.getNetworkParams();await a(c,t,g)}}catch(g){throw new T({errorKey:"wallet_failed_to_add_or_switch_network",info:{chain:t,wallet:u.CTRL}})}return r({chain:t,provider:c,toolbox:m})}case o.Near:{if(!window.xfi?.near)throw new T("wallet_ctrl_not_found",{chain:o.Near});let{createNearSignerFromProvider:r}=await import("../../chunk-dtr1yvx8.js"),{getNearToolbox:a}=await import("@swapkit/toolboxes/near"),e=window.xfi.near,s=await r(e,"CTRL"),w=await s.getAddress();return{...await a({signer:s}),transfer:async(m)=>{let{transfer:g}=await import("near-api-js/lib/transaction"),y=m.assetValue.getBaseValue("string"),N={actions:[g(BigInt(y))],receiverId:m.recipient,signerId:w};return await e.request({method:"signAndSendTransaction",params:{transaction:N}})}}}default:return null}}export{P as ctrlWallet,Y as CTRL_SUPPORTED_CHAINS};
1
+ import{F as l,G as f}from"../../chunk-jgq4njag.js";import{Chain as o,ChainId as G,filterSupportedChains as H,SwapKitError as T,WalletOption as u}from"@swapkit/helpers";import{createWallet as L,getWalletSupportedChains as I}from"@swapkit/wallet-core";import{Chain as n,ChainId as S,EVMChains as B,providerRequest as p,SwapKitError as x,WalletOption as A}from"@swapkit/helpers";async function _(t){if(!window.xfi)throw new x("wallet_ctrl_not_found");let{match:r}=await import("ts-pattern");return r(t).with(n.Arbitrum,n.Aurora,n.Avalanche,n.Base,n.Berachain,n.BinanceSmartChain,n.Ethereum,n.Gnosis,n.Optimism,n.Polygon,()=>window.xfi?.ethereum).with(n.Cosmos,n.Kujira,n.Noble,()=>window.xfi?.keplr).with(n.Bitcoin,()=>window.xfi?.bitcoin).with(n.BitcoinCash,()=>window.xfi?.bitcoincash).with(n.Dogecoin,()=>window.xfi?.dogecoin).with(n.Litecoin,()=>window.xfi?.litecoin).with(n.Solana,()=>window.xfi?.solana).with(n.THORChain,()=>window.xfi?.thorchain).with(n.Maya,()=>window.xfi?.mayachain).otherwise(()=>{return})}async function R({method:t,params:r,chain:a}){let e=await _(a);return new Promise((s,w)=>{if(e&&"request"in e)e.request({method:t,params:r},(c,i)=>{c?w(c):s(i)})})}async function d(t){try{let r=await _(t);if(!r)throw new x({errorKey:"wallet_provider_not_found",info:{chain:t,wallet:A.CTRL}});if([n.Cosmos,n.Kujira,n.Noble].includes(t)){let e=await _(n.Cosmos);if(!e||"request"in e)throw new x({errorKey:"wallet_provider_not_found",info:{chain:t,wallet:A.CTRL}});let s=S[t];await e.enable(s);let w=e.getOfflineSigner(s),[c]=await w.getAccounts();return c?.address}if(B.includes(t)){if("request"in r&&typeof r.request==="function")return(await r.request({method:"eth_requestAccounts"}))[0];let{BrowserProvider:e}=await import("ethers"),s=new e(r,"any"),[w]=await p({method:"eth_requestAccounts",params:[],provider:s});return w}if(t===n.Solana)return(await(await _(n.Solana)).connect()).publicKey.toString();if(t===n.Near){if(!window.xfi?.near)throw new x("wallet_ctrl_not_found",{chain:n.Near});if(!window.xfi.near.isSignedIn?.())return(await window.xfi.near.request?.({method:"connect"}))?.[0]||"";return window.xfi.near.getAccountId?.()||""}return(await r.request({method:"request_accounts",params:[]}))[0]}catch(r){throw new x({errorKey:"wallet_provider_not_found",info:{chain:t,wallet:A.CTRL}})}}async function b({assetValue:t,recipient:r,memo:a,gasLimit:e},s="transfer"){if(!t)throw new x("wallet_ctrl_asset_not_defined");let w=await d(t.chain),c=[{amount:{amount:t.getBaseValue("number"),decimals:t.decimal},asset:{chain:t.chain,symbol:t.symbol.toUpperCase(),ticker:t.symbol.toUpperCase()},from:w,gasLimit:e,memo:a||"",recipient:r}];return R({chain:t.chain,method:s,params:c})}var P=L({connect:({addChain:t,walletType:r,supportedChains:a})=>async function(s){let c=H({chains:s,supportedChains:a,walletType:r}).map(async(i)=>{let m=await d(i),g=await O(i);t({...g,address:m,chain:i,walletType:r})});return await Promise.all(c),!0},name:"connectCtrl",supportedChains:[o.Arbitrum,o.Aurora,o.Avalanche,o.Base,o.Berachain,o.BinanceSmartChain,o.Bitcoin,o.BitcoinCash,o.Cosmos,o.Dogecoin,o.Ethereum,o.Gnosis,o.Kujira,o.Litecoin,o.Maya,o.Near,o.Noble,o.Optimism,o.Polygon,o.Solana,o.THORChain],walletType:u.CTRL}),Y=I(P);async function O(t){switch(t){case o.Solana:{let{getSolanaToolbox:r}=await import("@swapkit/toolboxes/solana"),a=window.xfi?.solana;if(!a)throw new T("wallet_ctrl_not_found");return await r({signer:a})}case o.Maya:case o.THORChain:{let{getCosmosToolbox:r,THORCHAIN_GAS_VALUE:a,MAYA_GAS_VALUE:e}=await import("@swapkit/toolboxes/cosmos"),s=t===o.Maya?e:a;return{...await r(t),deposit:(c)=>b({...c,recipient:""},"deposit"),transfer:(c)=>b({...c,gasLimit:s},"transfer")}}case o.Cosmos:case o.Kujira:case o.Noble:{let{getCosmosToolbox:r}=await import("@swapkit/toolboxes/cosmos"),a=G[t],e=await _(t);await e?.enable(a);let s=e?.getOfflineSignerOnlyAmino(a,{preferNoSetFee:!0});if(!s)throw new T("wallet_ctrl_not_found");return await r(t,{signer:s})}case o.Bitcoin:case o.BitcoinCash:case o.Dogecoin:case o.Litecoin:{let{getUtxoToolbox:r}=await import("@swapkit/toolboxes/utxo");return{...await r(t),transfer:b}}case o.Arbitrum:case o.Aurora:case o.Avalanche:case o.Base:case o.Berachain:case o.BinanceSmartChain:case o.Ethereum:case o.Gnosis:case o.Optimism:case o.Polygon:{let{prepareNetworkSwitch:r,switchEVMWalletNetwork:a}=await import("@swapkit/helpers"),{getEvmToolbox:e}=await import("@swapkit/toolboxes/evm"),{BrowserProvider:s}=await import("ethers"),w=await _(t);if(!w)throw new T("wallet_ctrl_not_found");let c=new s(w,"any"),i=await c.getSigner(),m=await e(t,{provider:c,signer:i});try{if(t!==o.Ethereum){let g=m.getNetworkParams();await a(c,t,g)}}catch(g){throw new T({errorKey:"wallet_failed_to_add_or_switch_network",info:{chain:t,wallet:u.CTRL}})}return r({chain:t,provider:c,toolbox:m})}case o.Near:{if(!window.xfi?.near)throw new T("wallet_ctrl_not_found",{chain:o.Near});let{createNearSignerFromProvider:r}=await import("../../chunk-wfz8zxk9.js"),{getNearToolbox:a}=await import("@swapkit/toolboxes/near"),e=window.xfi.near,s=await r(e,"CTRL"),w=await s.getAddress();return{...await a({signer:s}),transfer:async(m)=>{let{transfer:g}=await import("near-api-js/lib/transaction"),y=m.assetValue.getBaseValue("string"),N={actions:[g(BigInt(y))],receiverId:m.recipient,signerId:w};return await e.request({method:"signAndSendTransaction",params:{transaction:N}})}}}default:return null}}export{P as ctrlWallet,Y as CTRL_SUPPORTED_CHAINS};
2
2
 
3
3
  //# debugId=17C70420B1D8E32364756E2164756E21
4
4
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- import{F as d,G as _}from"../../chunk-fxqrst6z.js";import{EVMChains as h,filterSupportedChains as g,getChainConfig as m,prepareNetworkSwitch as u,SwapKitError as p,switchEVMWalletNetwork as M,WalletOption as l}from"@swapkit/helpers";import{createWallet as S,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:c,chain:e,provider:t})=>{if(!c)throw new p("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}),{chainIdHex:w}=m(e);if((await t.getNetwork()).chainId.toString()!==w)try{let a=r.getNetworkParams();await M(t,e,a)}catch(a){throw new p("wallet_evm_extensions_failed_to_switch_network",{chain:e})}return u({chain:e,provider:t,toolbox:{...r,getBalance:()=>r.getBalance(n)}})},C=S({connect:({addChain:n,supportedChains:c})=>async function(t,o=l.METAMASK,i){let r=g({chains:t,supportedChains:c,walletType:o}),{BrowserProvider:w}=await import("ethers");return await Promise.all(r.map(async(E)=>{if(o===l.EIP6963&&!i)throw new p("wallet_evm_extensions_no_provider");let a=i||P(o),s=new w(a,"any");await s.send("eth_requestAccounts",[]);let W=await(await s.getSigner()).getAddress(),O=await A({address:W,chain:E,provider:s,walletProvider:a});n({...O,address:W,chain:E,disconnect:()=>s.send("wallet_revokePermissions",[{eth_accounts:{}}]),walletType:o});return})),!0},name:"connectEVMWallet",supportedChains:[...h]}),I=B(C);export{A as getWeb3WalletMethods,C as evmWallet,I as EVM_EXTENSIONS_SUPPORTED_CHAINS};
1
+ import{F as d,G as _}from"../../chunk-jgq4njag.js";import{EVMChains as h,filterSupportedChains as g,getChainConfig as m,prepareNetworkSwitch as u,SwapKitError as p,switchEVMWalletNetwork as M,WalletOption as l}from"@swapkit/helpers";import{createWallet as S,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:c,chain:e,provider:t})=>{if(!c)throw new p("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}),{chainIdHex:w}=m(e);if((await t.getNetwork()).chainId.toString()!==w)try{let a=r.getNetworkParams();await M(t,e,a)}catch(a){throw new p("wallet_evm_extensions_failed_to_switch_network",{chain:e})}return u({chain:e,provider:t,toolbox:{...r,getBalance:()=>r.getBalance(n)}})},C=S({connect:({addChain:n,supportedChains:c})=>async function(t,o=l.METAMASK,i){let r=g({chains:t,supportedChains:c,walletType:o}),{BrowserProvider:w}=await import("ethers");return await Promise.all(r.map(async(E)=>{if(o===l.EIP6963&&!i)throw new p("wallet_evm_extensions_no_provider");let a=i||P(o),s=new w(a,"any");await s.send("eth_requestAccounts",[]);let W=await(await s.getSigner()).getAddress(),O=await A({address:W,chain:E,provider:s,walletProvider:a});n({...O,address:W,chain:E,disconnect:()=>s.send("wallet_revokePermissions",[{eth_accounts:{}}]),walletType:o});return})),!0},name:"connectEVMWallet",supportedChains:[...h]}),I=B(C);export{A as getWeb3WalletMethods,C as evmWallet,I as EVM_EXTENSIONS_SUPPORTED_CHAINS};
2
2
 
3
3
  //# debugId=CBA82159F21352F364756E2164756E21
4
4
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- import{F as R,G as U}from"../../chunk-fxqrst6z.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(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};
1
+ import{F as R,G as U}from"../../chunk-jgq4njag.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(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
3
  //# debugId=D7899E40461425A864756E2164756E21
4
4
  //# sourceMappingURL=index.js.map
package/dist/src/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import{F as q,G as A}from"../chunk-fxqrst6z.js";export*from"@swapkit/wallet-core";import{WalletOption as f}from"@swapkit/helpers";async function F(B){let{match:C}=await import("ts-pattern");return await C(B).with(f.COINBASE_MOBILE,async()=>(await import("./coinbase/index.js")).coinbaseWallet).with(f.BITGET,async()=>(await import("./bitget/index.js")).bitgetWallet).with(f.CTRL,async()=>(await import("./ctrl/index.js")).ctrlWallet).with(f.VULTISIG,async()=>(await import("./vultisig/index.js")).vultisigWallet).with(f.OKX,async()=>(await import("./okx/index.js")).okxWallet).with(f.ONEKEY,async()=>(await import("./onekey/index.js")).onekeyWallet).with(f.EXODUS,async()=>(await import("./exodus/index.js")).exodusWallet).with(f.KEEPKEY,async()=>(await import("@swapkit/wallet-hardware/keepkey")).keepkeyWallet).with(f.KEEPKEY_BEX,async()=>(await import("./keepkey-bex/index.js")).keepkeyBexWallet).with(f.WALLETCONNECT,async()=>(await import("./walletconnect/index.js")).walletconnectWallet).with(f.KEPLR,f.LEAP,async()=>(await import("./keplr/index.js")).keplrWallet).with(f.COSMOSTATION,async()=>(await import("./cosmostation/index.js")).cosmostationWallet).with(f.BRAVE,f.COINBASE_WEB,f.EIP6963,f.METAMASK,f.OKX_MOBILE,f.TRUSTWALLET_WEB,async()=>(await import("./evm-extensions/index.js")).evmWallet).with(f.KEYSTORE,async()=>(await import("./keystore.js")).keystoreWallet).with(f.TREZOR,async()=>(await import("@swapkit/wallet-hardware/trezor")).trezorWallet).with(f.LEDGER,f.LEDGER_LIVE,async()=>(await import("@swapkit/wallet-hardware/ledger")).ledgerWallet).with(f.PHANTOM,async()=>(await import("./phantom/index.js")).phantomWallet).with(f.POLKADOT_JS,async()=>(await import("./polkadotjs/index.js")).polkadotWallet).with(f.RADIX_WALLET,async()=>(await import("./radix/index.js")).radixWallet).with(f.TALISMAN,async()=>(await import("./talisman/index.js")).talismanWallet).with(f.TRONLINK,async()=>(await import("./tronlink/index.js")).tronlinkWallet).with(f.XAMAN,async()=>(await import("./xaman/index.js")).xamanWallet).exhaustive()}export{F as loadWallet};
1
+ import{F as q,G as A}from"../chunk-jgq4njag.js";export*from"@swapkit/wallet-core";import{WalletOption as f}from"@swapkit/helpers";async function F(B){let{match:C}=await import("ts-pattern");return await C(B).with(f.COINBASE_MOBILE,async()=>(await import("./coinbase/index.js")).coinbaseWallet).with(f.BITGET,async()=>(await import("./bitget/index.js")).bitgetWallet).with(f.CTRL,async()=>(await import("./ctrl/index.js")).ctrlWallet).with(f.VULTISIG,async()=>(await import("./vultisig/index.js")).vultisigWallet).with(f.OKX,async()=>(await import("./okx/index.js")).okxWallet).with(f.ONEKEY,async()=>(await import("./onekey/index.js")).onekeyWallet).with(f.EXODUS,async()=>(await import("./exodus/index.js")).exodusWallet).with(f.KEEPKEY,async()=>(await import("@swapkit/wallet-hardware/keepkey")).keepkeyWallet).with(f.KEEPKEY_BEX,async()=>(await import("./keepkey-bex/index.js")).keepkeyBexWallet).with(f.WALLETCONNECT,async()=>(await import("./walletconnect/index.js")).walletconnectWallet).with(f.KEPLR,f.LEAP,async()=>(await import("./keplr/index.js")).keplrWallet).with(f.COSMOSTATION,async()=>(await import("./cosmostation/index.js")).cosmostationWallet).with(f.BRAVE,f.COINBASE_WEB,f.EIP6963,f.METAMASK,f.OKX_MOBILE,f.TRUSTWALLET_WEB,async()=>(await import("./evm-extensions/index.js")).evmWallet).with(f.KEYSTORE,async()=>(await import("./keystore.js")).keystoreWallet).with(f.TREZOR,async()=>(await import("@swapkit/wallet-hardware/trezor")).trezorWallet).with(f.LEDGER,f.LEDGER_LIVE,async()=>(await import("@swapkit/wallet-hardware/ledger")).ledgerWallet).with(f.PHANTOM,async()=>(await import("./phantom/index.js")).phantomWallet).with(f.POLKADOT_JS,async()=>(await import("./polkadotjs/index.js")).polkadotWallet).with(f.RADIX_WALLET,async()=>(await import("./radix/index.js")).radixWallet).with(f.TALISMAN,async()=>(await import("./talisman/index.js")).talismanWallet).with(f.TRONLINK,async()=>(await import("./tronlink/index.js")).tronlinkWallet).with(f.XAMAN,async()=>(await import("./xaman/index.js")).xamanWallet).exhaustive()}export{F as loadWallet};
2
2
 
3
3
  //# debugId=BCC29060E4DE83C964756E2164756E21
4
4
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- import{F as d,G as u}from"../../chunk-fxqrst6z.js";import{AssetValue as F,Chain as t,ChainId as L,filterSupportedChains as V,SwapKitError as _,WalletOption as l}from"@swapkit/helpers";import{createWallet as j,getWalletSupportedChains as H}from"@swapkit/wallet-core";import{Chain as a,EVMChains as x,SwapKitError as p,WalletOption as D}from"@swapkit/helpers";import{erc20ABI as A}from"@swapkit/helpers/contracts";var O=(e)=>{switch(e){case a.Bitcoin:return"bitcoin";case a.BitcoinCash:return"bitcoincash";case a.Dash:return"dash";case a.Dogecoin:return"dogecoin";case a.Litecoin:return"litecoin";default:throw new p("wallet_keepkey_chain_not_supported",{chain:e})}};function f(e){if(!window.keepkey)throw new p("wallet_keepkey_not_found");switch(e){case a.Ethereum:case a.Base:case a.Avalanche:case a.BinanceSmartChain:case a.Arbitrum:case a.Optimism:case a.Polygon:return window.keepkey.ethereum;case a.Cosmos:return window.keepkey.cosmos;case a.Bitcoin:return window.keepkey.bitcoin;case a.BitcoinCash:return window.keepkey.bitcoincash;case a.Dogecoin:return window.keepkey.dogecoin;case a.Litecoin:return window.keepkey.litecoin;case a.Dash:return window.keepkey.dash;case a.THORChain:return window.keepkey.thorchain;case a.Maya:return window.keepkey.mayachain;default:return}}function I({method:e,params:c,chain:r}){let s=f(r);return new Promise((o,i)=>{if(s&&"request"in s)s.request({method:e,params:c},(n,m)=>{n?i(n):o(m)});else i(new p("wallet_provider_not_found"))})}async function k(e){let c=f(e);if(!c)throw new p({errorKey:"wallet_provider_not_found",info:{chain:e,wallet:D.KEEPKEY}});let r="request_accounts";if(x.includes(e))r="eth_requestAccounts";let[s]=await c.request({method:r,params:[]});return s}async function w({assetValue:e,recipient:c,memo:r,gasLimit:s},o="transfer"){if(!e)throw new p("wallet_keepkey_asset_not_defined");let i=await k(e.chain),n=[{amount:{amount:e.getValue("string"),decimals:e.decimal},asset:{chain:e.chain,symbol:e.symbol.toUpperCase(),ticker:e.symbol.toUpperCase()},from:i,gasLimit:s,memo:r,recipient:c}];return I({chain:e.chain,method:o,params:n})}function b(e,c){return{approve:async({assetAddress:r,spenderAddress:s,amount:o,from:i})=>{let{MAX_APPROVAL:n,getCreateContractTxObject:m,toHexString:g}=await import("@swapkit/toolboxes/evm"),y=m({chain:c,provider:e}),{value:P,to:T,data:E}=await y({abi:A,contractAddress:r,funcName:"approve",funcParams:[s,BigInt(o||n)],txOverrides:{from:i}});return e.send("eth_sendTransaction",[{data:E||"0x",from:i,to:T,value:g(BigInt(P||0))}])},call:async({contractAddress:r,abi:s,funcName:o,funcParams:i=[],txOverrides:n})=>{if(!r)throw new p("wallet_keepkey_contract_address_not_provided");let{createContract:m,getCreateContractTxObject:g,isStateChangingCall:y,toHexString:P}=await import("@swapkit/toolboxes/evm");if(y({abi:s,funcName:o})){let B=g({chain:c,provider:e}),{value:X,from:U,to:q,data:M}=await B({abi:s,contractAddress:r,funcName:o,funcParams:i,txOverrides:n});return e.send("eth_sendTransaction",[{data:M||"0x",from:U,to:q,value:P(BigInt(X||0))}])}let v=await m(r,s,e)[o]?.(...i);return typeof v?.hash==="string"?v?.hash:v},sendTransaction:async(r)=>{let{from:s,to:o,data:i,value:n}=r;if(!o)throw new p("wallet_keepkey_send_transaction_no_address");let{toHexString:m}=await import("@swapkit/toolboxes/evm");return e.send("eth_sendTransaction",[{data:i||"0x",from:s,to:o,value:m(BigInt(n||0))}])}}}var K=j({connect:({addChain:e,supportedChains:c,walletType:r})=>async function(o){let i=V({chains:o,supportedChains:c,walletType:r});return await Promise.all(i.map(async(n)=>{let m=await k(n),g=await R(n);e({...g,address:m,chain:n,walletType:r})})),!0},name:"connectKeepkeyBex",supportedChains:[t.Arbitrum,t.Avalanche,t.BinanceSmartChain,t.Bitcoin,t.BitcoinCash,t.Base,t.Cosmos,t.Dash,t.Dogecoin,t.Ethereum,t.Kujira,t.Litecoin,t.Maya,t.Optimism,t.Polygon,t.Ripple,t.Solana,t.THORChain],walletType:l.KEEPKEY_BEX}),S=H(K);async function R(e){switch(e){case t.Maya:case t.THORChain:{let{getCosmosToolbox:c,THORCHAIN_GAS_VALUE:r,MAYA_GAS_VALUE:s}=await import("@swapkit/toolboxes/cosmos"),o=e===t.Maya?s:r;return{...await c(e),deposit:(n)=>w({...n,recipient:""},"deposit"),transfer:(n)=>w({...n,gasLimit:o},"transfer")}}case t.Cosmos:case t.Kujira:{let{getCosmosToolbox:c}=await import("@swapkit/toolboxes/cosmos"),r=window.keepkey?.cosmos?.getOfflineSignerOnlyAmino(L[e]);if(!r)throw new _("wallet_keepkey_signer_not_found");let s=await c(e,{signer:r}),o=await r.getAccounts();if(!o?.[0]?.address)throw new _("wallet_keepkey_no_accounts");let[{address:i}]=o;return{...s,address:i}}case t.Dash:case t.Bitcoin:case t.BitcoinCash:case t.Dogecoin:case t.Litecoin:{let{getUtxoToolbox:c}=await import("@swapkit/toolboxes/utxo");return{...await c(e),getBalance:async()=>{let o=O(e),i=await window?.keepkey?.[o]?.request({method:"request_balance"});return[F.from({chain:e,value:i[0].balance})]},transfer:w}}case t.Ethereum:case t.BinanceSmartChain:case t.Base:case t.Arbitrum:case t.Optimism:case t.Polygon:case t.Avalanche:{let{prepareNetworkSwitch:c,switchEVMWalletNetwork:r}=await import("@swapkit/helpers"),{getEvmToolbox:s}=await import("@swapkit/toolboxes/evm"),{BrowserProvider:o}=await import("ethers"),i=f(e);if(!i)throw new _("wallet_keepkey_not_found");let n=new o(i,"any"),m=await n.getSigner(),g=await s(e,{provider:n,signer:m}),y=b(n,e);try{if(e!==t.Ethereum){let P=g.getNetworkParams();await r(n,e,P)}}catch(P){throw new _({errorKey:"wallet_failed_to_add_or_switch_network",info:{chain:e,wallet:l.KEEPKEY}})}return c({chain:e,provider:n,toolbox:{...g,...y}})}default:return null}}export{K as keepkeyBexWallet,S as KEEPKEY_BEX_SUPPORTED_CHAINS};
1
+ import{F as d,G as u}from"../../chunk-jgq4njag.js";import{AssetValue as F,Chain as t,ChainId as L,filterSupportedChains as V,SwapKitError as _,WalletOption as l}from"@swapkit/helpers";import{createWallet as j,getWalletSupportedChains as H}from"@swapkit/wallet-core";import{Chain as a,EVMChains as x,SwapKitError as p,WalletOption as D}from"@swapkit/helpers";import{erc20ABI as A}from"@swapkit/helpers/contracts";var O=(e)=>{switch(e){case a.Bitcoin:return"bitcoin";case a.BitcoinCash:return"bitcoincash";case a.Dash:return"dash";case a.Dogecoin:return"dogecoin";case a.Litecoin:return"litecoin";default:throw new p("wallet_keepkey_chain_not_supported",{chain:e})}};function f(e){if(!window.keepkey)throw new p("wallet_keepkey_not_found");switch(e){case a.Ethereum:case a.Base:case a.Avalanche:case a.BinanceSmartChain:case a.Arbitrum:case a.Optimism:case a.Polygon:return window.keepkey.ethereum;case a.Cosmos:return window.keepkey.cosmos;case a.Bitcoin:return window.keepkey.bitcoin;case a.BitcoinCash:return window.keepkey.bitcoincash;case a.Dogecoin:return window.keepkey.dogecoin;case a.Litecoin:return window.keepkey.litecoin;case a.Dash:return window.keepkey.dash;case a.THORChain:return window.keepkey.thorchain;case a.Maya:return window.keepkey.mayachain;default:return}}function I({method:e,params:c,chain:r}){let s=f(r);return new Promise((o,i)=>{if(s&&"request"in s)s.request({method:e,params:c},(n,m)=>{n?i(n):o(m)});else i(new p("wallet_provider_not_found"))})}async function k(e){let c=f(e);if(!c)throw new p({errorKey:"wallet_provider_not_found",info:{chain:e,wallet:D.KEEPKEY}});let r="request_accounts";if(x.includes(e))r="eth_requestAccounts";let[s]=await c.request({method:r,params:[]});return s}async function w({assetValue:e,recipient:c,memo:r,gasLimit:s},o="transfer"){if(!e)throw new p("wallet_keepkey_asset_not_defined");let i=await k(e.chain),n=[{amount:{amount:e.getValue("string"),decimals:e.decimal},asset:{chain:e.chain,symbol:e.symbol.toUpperCase(),ticker:e.symbol.toUpperCase()},from:i,gasLimit:s,memo:r,recipient:c}];return I({chain:e.chain,method:o,params:n})}function b(e,c){return{approve:async({assetAddress:r,spenderAddress:s,amount:o,from:i})=>{let{MAX_APPROVAL:n,getCreateContractTxObject:m,toHexString:g}=await import("@swapkit/toolboxes/evm"),y=m({chain:c,provider:e}),{value:P,to:T,data:E}=await y({abi:A,contractAddress:r,funcName:"approve",funcParams:[s,BigInt(o||n)],txOverrides:{from:i}});return e.send("eth_sendTransaction",[{data:E||"0x",from:i,to:T,value:g(BigInt(P||0))}])},call:async({contractAddress:r,abi:s,funcName:o,funcParams:i=[],txOverrides:n})=>{if(!r)throw new p("wallet_keepkey_contract_address_not_provided");let{createContract:m,getCreateContractTxObject:g,isStateChangingCall:y,toHexString:P}=await import("@swapkit/toolboxes/evm");if(y({abi:s,funcName:o})){let B=g({chain:c,provider:e}),{value:X,from:U,to:q,data:M}=await B({abi:s,contractAddress:r,funcName:o,funcParams:i,txOverrides:n});return e.send("eth_sendTransaction",[{data:M||"0x",from:U,to:q,value:P(BigInt(X||0))}])}let v=await m(r,s,e)[o]?.(...i);return typeof v?.hash==="string"?v?.hash:v},sendTransaction:async(r)=>{let{from:s,to:o,data:i,value:n}=r;if(!o)throw new p("wallet_keepkey_send_transaction_no_address");let{toHexString:m}=await import("@swapkit/toolboxes/evm");return e.send("eth_sendTransaction",[{data:i||"0x",from:s,to:o,value:m(BigInt(n||0))}])}}}var K=j({connect:({addChain:e,supportedChains:c,walletType:r})=>async function(o){let i=V({chains:o,supportedChains:c,walletType:r});return await Promise.all(i.map(async(n)=>{let m=await k(n),g=await R(n);e({...g,address:m,chain:n,walletType:r})})),!0},name:"connectKeepkeyBex",supportedChains:[t.Arbitrum,t.Avalanche,t.BinanceSmartChain,t.Bitcoin,t.BitcoinCash,t.Base,t.Cosmos,t.Dash,t.Dogecoin,t.Ethereum,t.Kujira,t.Litecoin,t.Maya,t.Optimism,t.Polygon,t.Ripple,t.Solana,t.THORChain],walletType:l.KEEPKEY_BEX}),S=H(K);async function R(e){switch(e){case t.Maya:case t.THORChain:{let{getCosmosToolbox:c,THORCHAIN_GAS_VALUE:r,MAYA_GAS_VALUE:s}=await import("@swapkit/toolboxes/cosmos"),o=e===t.Maya?s:r;return{...await c(e),deposit:(n)=>w({...n,recipient:""},"deposit"),transfer:(n)=>w({...n,gasLimit:o},"transfer")}}case t.Cosmos:case t.Kujira:{let{getCosmosToolbox:c}=await import("@swapkit/toolboxes/cosmos"),r=window.keepkey?.cosmos?.getOfflineSignerOnlyAmino(L[e]);if(!r)throw new _("wallet_keepkey_signer_not_found");let s=await c(e,{signer:r}),o=await r.getAccounts();if(!o?.[0]?.address)throw new _("wallet_keepkey_no_accounts");let[{address:i}]=o;return{...s,address:i}}case t.Dash:case t.Bitcoin:case t.BitcoinCash:case t.Dogecoin:case t.Litecoin:{let{getUtxoToolbox:c}=await import("@swapkit/toolboxes/utxo");return{...await c(e),getBalance:async()=>{let o=O(e),i=await window?.keepkey?.[o]?.request({method:"request_balance"});return[F.from({chain:e,value:i[0].balance})]},transfer:w}}case t.Ethereum:case t.BinanceSmartChain:case t.Base:case t.Arbitrum:case t.Optimism:case t.Polygon:case t.Avalanche:{let{prepareNetworkSwitch:c,switchEVMWalletNetwork:r}=await import("@swapkit/helpers"),{getEvmToolbox:s}=await import("@swapkit/toolboxes/evm"),{BrowserProvider:o}=await import("ethers"),i=f(e);if(!i)throw new _("wallet_keepkey_not_found");let n=new o(i,"any"),m=await n.getSigner(),g=await s(e,{provider:n,signer:m}),y=b(n,e);try{if(e!==t.Ethereum){let P=g.getNetworkParams();await r(n,e,P)}}catch(P){throw new _({errorKey:"wallet_failed_to_add_or_switch_network",info:{chain:e,wallet:l.KEEPKEY}})}return c({chain:e,provider:n,toolbox:{...g,...y}})}default:return null}}export{K as keepkeyBexWallet,S as KEEPKEY_BEX_SUPPORTED_CHAINS};
2
2
 
3
3
  //# debugId=72FB20D5D7C65D8F64756E2164756E21
4
4
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- import{F as E,G as f}from"../../chunk-fxqrst6z.js";import{Chain as o,ChainId as i,filterSupportedChains as I,SwapKitError as t,WalletOption as h}from"@swapkit/helpers";import{createWallet as y,getWalletSupportedChains as x}from"@swapkit/wallet-core";import{ChainId as s}from"@swapkit/helpers";var p=new Map([[s.KUJI,{bech32Config:{bech32PrefixAccAddr:"kujira",bech32PrefixAccPub:"kujirapub",bech32PrefixConsAddr:"kujiravalcons",bech32PrefixConsPub:"kujiravalconspub",bech32PrefixValAddr:"kujiravaloper",bech32PrefixValPub:"kujiravaloperpub"},bip44:{coinType:118},chainId:"kaiyo-1",chainName:"Kujira",chainSymbolImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/chain.png",currencies:[{coinDecimals:6,coinDenom:"KUJI",coinGeckoId:"kujira",coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/ukuji.png",coinMinimalDenom:"ukuji"},{coinDecimals:6,coinDenom:"USK",coinGeckoId:"usk",coinMinimalDenom:"factory/kujira1qk00h5atutpsv900x202pxx42npjr9thg58dnqpa72f2p7m2luase444a7/uusk"},{coinDecimals:6,coinDenom:"MNTA",coinGeckoId:"mantadao",coinMinimalDenom:"factory/kujira1643jxg8wasy5cfcn7xm8rd742yeazcksqlg4d7/umnta"},{coinDecimals:6,coinDenom:"bKUJI",coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/factory/kujira15e8q5wzlk5k38gjxlhse3vu6vqnafysncx2ltexd6y9gx50vuj2qpt7dgv/bKUJI.png",coinMinimalDenom:"factory/kujira15e8q5wzlk5k38gjxlhse3vu6vqnafysncx2ltexd6y9gx50vuj2qpt7dgv/boneKuji"},{coinDecimals:6,coinDenom:"AQLA",coinGeckoId:"aqualibre",coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/factory/kujira1xe0awk5planmtsmjel5xtx2hzhqdw5p8z66yqd/AQLA.png",coinMinimalDenom:"factory/kujira1xe0awk5planmtsmjel5xtx2hzhqdw5p8z66yqd/uaqla"}],features:["cosmwasm"],feeCurrencies:[{coinDecimals:6,coinDenom:"KUJI",coinGeckoId:"kujira",coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/ukuji.png",coinMinimalDenom:"ukuji"},{coinDecimals:6,coinDenom:"USK",coinGeckoId:"usk",coinMinimalDenom:"factory/kujira1qk00h5atutpsv900x202pxx42npjr9thg58dnqpa72f2p7m2luase444a7/uusk"},{coinDecimals:6,coinDenom:"axlUSDC",coinGeckoId:"usd-coin",coinMinimalDenom:"ibc/295548A78785A1007F232DE286149A6FF512F180AF5657780FC89C009E2C348F"},{coinDecimals:6,coinDenom:"ATOM",coinGeckoId:"cosmos",coinMinimalDenom:"ibc/27394FB092D2ECCD56123C74F36E4C1F926001CEADA9CA97EA622B25F41E5EB2"},{coinDecimals:6,coinDenom:"OSMO",coinGeckoId:"osmosis",coinMinimalDenom:"ibc/47BD209179859CDE4A2806763D7189B6E6FE13A17880FE2B42DE1E6C1E329E23"},{coinDecimals:6,coinDenom:"CMDX",coinGeckoId:"comdex",coinMinimalDenom:"ibc/3607EB5B5E64DD1C0E12E07F077FF470D5BC4706AFCBC98FE1BA960E5AE4CE07"},{coinDecimals:6,coinDenom:"EVMOS",coinGeckoId:"evmos",coinMinimalDenom:"ibc/F3AA7EF362EC5E791FE78A0F4CCC69FEE1F9A7485EB1A8CAB3F6601C00522F10"},{coinDecimals:6,coinDenom:"JUNO",coinGeckoId:"juno-network",coinMinimalDenom:"ibc/EFF323CC632EC4F747C61BCE238A758EFDB7699C3226565F7C20DA06509D59A5"},{coinDecimals:6,coinDenom:"MNTA",coinGeckoId:"mantadao",coinMinimalDenom:"factory/kujira1643jxg8wasy5cfcn7xm8rd742yeazcksqlg4d7/umnta"},{coinDecimals:6,coinDenom:"SCRT",coinGeckoId:"secret",coinMinimalDenom:"ibc/A358D7F19237777AF6D8AD0E0F53268F8B18AE8A53ED318095C14D6D7F3B2DB5"},{coinDecimals:6,coinDenom:"STARS",coinGeckoId:"stargaze",coinMinimalDenom:"ibc/4F393C3FCA4190C0A6756CE7F6D897D5D1BE57D6CCB80D0BC87393566A7B6602"},{coinDecimals:18,coinDenom:"wAVAX",coinGeckoId:"avalanche-2",coinMinimalDenom:"ibc/004EBF085BBED1029326D56BE8A2E67C08CECE670A94AC1947DF413EF5130EB2"},{coinDecimals:18,coinDenom:"wETH",coinGeckoId:"ethereum",coinMinimalDenom:"ibc/1B38805B1C75352B28169284F96DF56BDEBD9E8FAC005BDCC8CF0378C82AA8E7"}],nodeProvider:{email:"pfc-validator@protonmail.com",name:"PFC",website:"https://pfc.zone/"},rest:"https://rest.cosmos.directory/kujira/",rpc:"https://kujira-rpc.nodes.defiantlabs.net",stakeCurrency:{coinDecimals:6,coinDenom:"KUJI",coinGeckoId:"kujira",coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/ukuji.png",coinMinimalDenom:"ukuji"}}],[s.NOBLE,{bech32Config:{bech32PrefixAccAddr:"noble",bech32PrefixAccPub:"noblepub",bech32PrefixConsAddr:"noblevalcons",bech32PrefixConsPub:"noblevalconspub",bech32PrefixValAddr:"noblevaloper",bech32PrefixValPub:"noblevaloperpub"},bip44:{coinType:118},chainId:"noble-1",chainName:"Noble",chainSymbolImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/noble/chain.png",currencies:[{coinDecimals:6,coinDenom:"USDC",coinGeckoId:"usd-coin",coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/noble/uusdc.png",coinMinimalDenom:"uusdc"},{coinDecimals:6,coinDenom:"USDN",coinGeckoId:"usd-coin",coinMinimalDenom:"uusdn"}],features:["cosmwasm"],feeCurrencies:[{coinDecimals:6,coinDenom:"USDC",coinGeckoId:"usd-coin",coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/noble/uusdc.png",coinMinimalDenom:"uusdc"},{coinDecimals:6,coinDenom:"USDN",coinGeckoId:"usd-coin",coinMinimalDenom:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/noble/uusdn.png"}],rest:"https://lcd-noble.keplr.app",rpc:"https://rpc-noble.keplr.app"}],[s.THOR,{bech32Config:{bech32PrefixAccAddr:"thor",bech32PrefixAccPub:"thorpub",bech32PrefixConsAddr:"thorvalcons",bech32PrefixConsPub:"thorvalconspub",bech32PrefixValAddr:"thorvaloper",bech32PrefixValPub:"thorvaloperpub"},bip44:{coinType:931},chainId:"thorchain-1",chainName:"THORChain",chainSymbolImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/thorchain/chain.png",currencies:[{coinDecimals:8,coinDenom:"RUNE",coinGeckoId:"thorchain",coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/thorchain/rune.png",coinMinimalDenom:"rune"}],features:[],feeCurrencies:[{coinDecimals:8,coinDenom:"RUNE",coinGeckoId:"thorchain",coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/thorchain/rune.png",coinMinimalDenom:"rune",gasPriceStep:{average:0.02,high:0.03,low:0.02}}],rest:"https://lcd-thorchain.keplr.app",rpc:"https://rpc-thorchain.keplr.app"}]]);var F=[i.GAIA,i.KUJI,i.NOBLE,i.THOR],w=y({connect:({addChain:u,supportedChains:D})=>async function(d,c=h.KEPLR){let k=c===h.LEAP?"leap":"keplr",g=I({chains:d,supportedChains:D,walletType:c}),a=window[k];return await Promise.all(g.map(async(n)=>{let e=i[n];if(!F.includes(e)){let l=p.get(e);if(!l)throw new t("wallet_keplr_chain_not_supported",{chain:n});await a.experimentalSuggestChain(l)}a?.enable(e);let r=a?.getOfflineSignerOnlyAmino(e);if(!r)throw new t("wallet_keplr_signer_not_found");let{getCosmosToolbox:b}=await import("@swapkit/toolboxes/cosmos"),m=await r.getAccounts();if(!m?.[0]?.address)throw new t("wallet_keplr_no_accounts");let[{address:C}]=m,A=await b(n,{signer:r});u({...A,address:C,chain:n,walletType:c})})),!0},name:"connectKeplr",supportedChains:[o.Cosmos,o.Kujira,o.Noble,o.THORChain]}),G=x(w);export{w as keplrWallet,G as KEPLR_SUPPORTED_CHAINS};
1
+ import{F as E,G as f}from"../../chunk-jgq4njag.js";import{Chain as o,ChainId as i,filterSupportedChains as I,SwapKitError as t,WalletOption as h}from"@swapkit/helpers";import{createWallet as y,getWalletSupportedChains as x}from"@swapkit/wallet-core";import{ChainId as s}from"@swapkit/helpers";var p=new Map([[s.KUJI,{bech32Config:{bech32PrefixAccAddr:"kujira",bech32PrefixAccPub:"kujirapub",bech32PrefixConsAddr:"kujiravalcons",bech32PrefixConsPub:"kujiravalconspub",bech32PrefixValAddr:"kujiravaloper",bech32PrefixValPub:"kujiravaloperpub"},bip44:{coinType:118},chainId:"kaiyo-1",chainName:"Kujira",chainSymbolImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/chain.png",currencies:[{coinDecimals:6,coinDenom:"KUJI",coinGeckoId:"kujira",coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/ukuji.png",coinMinimalDenom:"ukuji"},{coinDecimals:6,coinDenom:"USK",coinGeckoId:"usk",coinMinimalDenom:"factory/kujira1qk00h5atutpsv900x202pxx42npjr9thg58dnqpa72f2p7m2luase444a7/uusk"},{coinDecimals:6,coinDenom:"MNTA",coinGeckoId:"mantadao",coinMinimalDenom:"factory/kujira1643jxg8wasy5cfcn7xm8rd742yeazcksqlg4d7/umnta"},{coinDecimals:6,coinDenom:"bKUJI",coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/factory/kujira15e8q5wzlk5k38gjxlhse3vu6vqnafysncx2ltexd6y9gx50vuj2qpt7dgv/bKUJI.png",coinMinimalDenom:"factory/kujira15e8q5wzlk5k38gjxlhse3vu6vqnafysncx2ltexd6y9gx50vuj2qpt7dgv/boneKuji"},{coinDecimals:6,coinDenom:"AQLA",coinGeckoId:"aqualibre",coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/factory/kujira1xe0awk5planmtsmjel5xtx2hzhqdw5p8z66yqd/AQLA.png",coinMinimalDenom:"factory/kujira1xe0awk5planmtsmjel5xtx2hzhqdw5p8z66yqd/uaqla"}],features:["cosmwasm"],feeCurrencies:[{coinDecimals:6,coinDenom:"KUJI",coinGeckoId:"kujira",coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/ukuji.png",coinMinimalDenom:"ukuji"},{coinDecimals:6,coinDenom:"USK",coinGeckoId:"usk",coinMinimalDenom:"factory/kujira1qk00h5atutpsv900x202pxx42npjr9thg58dnqpa72f2p7m2luase444a7/uusk"},{coinDecimals:6,coinDenom:"axlUSDC",coinGeckoId:"usd-coin",coinMinimalDenom:"ibc/295548A78785A1007F232DE286149A6FF512F180AF5657780FC89C009E2C348F"},{coinDecimals:6,coinDenom:"ATOM",coinGeckoId:"cosmos",coinMinimalDenom:"ibc/27394FB092D2ECCD56123C74F36E4C1F926001CEADA9CA97EA622B25F41E5EB2"},{coinDecimals:6,coinDenom:"OSMO",coinGeckoId:"osmosis",coinMinimalDenom:"ibc/47BD209179859CDE4A2806763D7189B6E6FE13A17880FE2B42DE1E6C1E329E23"},{coinDecimals:6,coinDenom:"CMDX",coinGeckoId:"comdex",coinMinimalDenom:"ibc/3607EB5B5E64DD1C0E12E07F077FF470D5BC4706AFCBC98FE1BA960E5AE4CE07"},{coinDecimals:6,coinDenom:"EVMOS",coinGeckoId:"evmos",coinMinimalDenom:"ibc/F3AA7EF362EC5E791FE78A0F4CCC69FEE1F9A7485EB1A8CAB3F6601C00522F10"},{coinDecimals:6,coinDenom:"JUNO",coinGeckoId:"juno-network",coinMinimalDenom:"ibc/EFF323CC632EC4F747C61BCE238A758EFDB7699C3226565F7C20DA06509D59A5"},{coinDecimals:6,coinDenom:"MNTA",coinGeckoId:"mantadao",coinMinimalDenom:"factory/kujira1643jxg8wasy5cfcn7xm8rd742yeazcksqlg4d7/umnta"},{coinDecimals:6,coinDenom:"SCRT",coinGeckoId:"secret",coinMinimalDenom:"ibc/A358D7F19237777AF6D8AD0E0F53268F8B18AE8A53ED318095C14D6D7F3B2DB5"},{coinDecimals:6,coinDenom:"STARS",coinGeckoId:"stargaze",coinMinimalDenom:"ibc/4F393C3FCA4190C0A6756CE7F6D897D5D1BE57D6CCB80D0BC87393566A7B6602"},{coinDecimals:18,coinDenom:"wAVAX",coinGeckoId:"avalanche-2",coinMinimalDenom:"ibc/004EBF085BBED1029326D56BE8A2E67C08CECE670A94AC1947DF413EF5130EB2"},{coinDecimals:18,coinDenom:"wETH",coinGeckoId:"ethereum",coinMinimalDenom:"ibc/1B38805B1C75352B28169284F96DF56BDEBD9E8FAC005BDCC8CF0378C82AA8E7"}],nodeProvider:{email:"pfc-validator@protonmail.com",name:"PFC",website:"https://pfc.zone/"},rest:"https://rest.cosmos.directory/kujira/",rpc:"https://kujira-rpc.nodes.defiantlabs.net",stakeCurrency:{coinDecimals:6,coinDenom:"KUJI",coinGeckoId:"kujira",coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/ukuji.png",coinMinimalDenom:"ukuji"}}],[s.NOBLE,{bech32Config:{bech32PrefixAccAddr:"noble",bech32PrefixAccPub:"noblepub",bech32PrefixConsAddr:"noblevalcons",bech32PrefixConsPub:"noblevalconspub",bech32PrefixValAddr:"noblevaloper",bech32PrefixValPub:"noblevaloperpub"},bip44:{coinType:118},chainId:"noble-1",chainName:"Noble",chainSymbolImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/noble/chain.png",currencies:[{coinDecimals:6,coinDenom:"USDC",coinGeckoId:"usd-coin",coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/noble/uusdc.png",coinMinimalDenom:"uusdc"},{coinDecimals:6,coinDenom:"USDN",coinGeckoId:"usd-coin",coinMinimalDenom:"uusdn"}],features:["cosmwasm"],feeCurrencies:[{coinDecimals:6,coinDenom:"USDC",coinGeckoId:"usd-coin",coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/noble/uusdc.png",coinMinimalDenom:"uusdc"},{coinDecimals:6,coinDenom:"USDN",coinGeckoId:"usd-coin",coinMinimalDenom:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/noble/uusdn.png"}],rest:"https://lcd-noble.keplr.app",rpc:"https://rpc-noble.keplr.app"}],[s.THOR,{bech32Config:{bech32PrefixAccAddr:"thor",bech32PrefixAccPub:"thorpub",bech32PrefixConsAddr:"thorvalcons",bech32PrefixConsPub:"thorvalconspub",bech32PrefixValAddr:"thorvaloper",bech32PrefixValPub:"thorvaloperpub"},bip44:{coinType:931},chainId:"thorchain-1",chainName:"THORChain",chainSymbolImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/thorchain/chain.png",currencies:[{coinDecimals:8,coinDenom:"RUNE",coinGeckoId:"thorchain",coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/thorchain/rune.png",coinMinimalDenom:"rune"}],features:[],feeCurrencies:[{coinDecimals:8,coinDenom:"RUNE",coinGeckoId:"thorchain",coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/thorchain/rune.png",coinMinimalDenom:"rune",gasPriceStep:{average:0.02,high:0.03,low:0.02}}],rest:"https://lcd-thorchain.keplr.app",rpc:"https://rpc-thorchain.keplr.app"}]]);var F=[i.GAIA,i.KUJI,i.NOBLE,i.THOR],w=y({connect:({addChain:u,supportedChains:D})=>async function(d,c=h.KEPLR){let k=c===h.LEAP?"leap":"keplr",g=I({chains:d,supportedChains:D,walletType:c}),a=window[k];return await Promise.all(g.map(async(n)=>{let e=i[n];if(!F.includes(e)){let l=p.get(e);if(!l)throw new t("wallet_keplr_chain_not_supported",{chain:n});await a.experimentalSuggestChain(l)}a?.enable(e);let r=a?.getOfflineSignerOnlyAmino(e);if(!r)throw new t("wallet_keplr_signer_not_found");let{getCosmosToolbox:b}=await import("@swapkit/toolboxes/cosmos"),m=await r.getAccounts();if(!m?.[0]?.address)throw new t("wallet_keplr_no_accounts");let[{address:C}]=m,A=await b(n,{signer:r});u({...A,address:C,chain:n,walletType:c})})),!0},name:"connectKeplr",supportedChains:[o.Cosmos,o.Kujira,o.Noble,o.THORChain]}),G=x(w);export{w as keplrWallet,G as KEPLR_SUPPORTED_CHAINS};
2
2
 
3
3
  //# debugId=5DAF1B60B583606764756E2164756E21
4
4
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- import{F as z,G as H}from"../../chunk-fxqrst6z.js";import{Chain as _,filterSupportedChains as U,WalletOption as I}from"@swapkit/helpers";import{createWallet as L,getWalletSupportedChains as T}from"@swapkit/wallet-core";import{Chain as O,ChainId as Y,getRPCUrl as j,prepareNetworkSwitch as q,SwapKitError as G,switchEVMWalletNetwork as F}from"@swapkit/helpers";import{Psbt as J}from"bitcoinjs-lib";var R=(f)=>async({recipient:m,assetValue:W,memo:X})=>{if(!(window.okxwallet&&("keplr"in window.okxwallet)))throw new G("wallet_okx_not_found",{chain:O.Cosmos});let{createSigningStargateClient:A}=await import("@swapkit/toolboxes/cosmos"),{keplr:B}=window.okxwallet,y=B?.getOfflineSignerOnlyAmino(Y.GAIA),D=await j(O.Cosmos),M=await A(D,y),Q=[{amount:W.getBaseValue("string"),denom:W?.symbol==="MUON"?"umuon":"uatom"}],{transactionHash:$}=await M.sendTokens(f,m,Q,1.6,X);return $};async function N({walletProvider:f,chain:m}){let{getEvmToolbox:W}=await import("@swapkit/toolboxes/evm"),{BrowserProvider:X}=await import("ethers");if(!f)throw new G("wallet_okx_not_found");let A=new X(f,"any"),B=await A.getSigner(),y=await W(m,{provider:A,signer:B});try{if(m!==O.Ethereum&&"getNetworkParams"in y)await F(A,m,y.getNetworkParams())}catch(D){throw new G("wallet_okx_failed_to_switch_network",{chain:m})}return q({chain:m,provider:A,toolbox:y})}async function Z(f){let{match:m,P:W}=await import("ts-pattern");return m(f).with(W.union(O.Arbitrum,O.Aurora,O.Avalanche,O.Base,O.Berachain,O.BinanceSmartChain,O.Ethereum,O.Gnosis,O.Optimism,O.Polygon),async()=>{if(!(window.okxwallet&&("send"in window.okxwallet)))throw new G("wallet_okx_not_found",{chain:f});let X=await N({chain:f,walletProvider:window.okxwallet}),A=(await window.okxwallet.send("eth_requestAccounts",[])).result[0];return{...X,address:A}}).with(O.Bitcoin,async()=>{if(!(window.okxwallet&&("bitcoin"in window.okxwallet)))throw new G("wallet_okx_not_found",{chain:O.Bitcoin});let{getUtxoToolbox:X}=await import("@swapkit/toolboxes/utxo"),{bitcoin:A}=window.okxwallet,B=(await A.connect()).address,y={getAddress:async()=>Promise.resolve(B),signTransaction:async(M)=>{let Q=await A.signPsbt(M.toHex(),{from:B,type:"list"});return J.fromHex(Q)}};return{...await X(O.Bitcoin,{signer:y}),address:B}}).with(O.Cosmos,async()=>{if(!(window.okxwallet&&("keplr"in window.okxwallet)))throw new G("wallet_okx_not_found",{chain:O.Cosmos});let{keplr:X}=window.okxwallet;await X.enable(Y.GAIA);let B=await X.getOfflineSignerOnlyAmino(Y.GAIA).getAccounts();if(!(B&&Array.isArray(B))||B.length===0)throw new G("wallet_okx_no_accounts",{chain:O.Cosmos,message:"No Cosmos accounts returned from OKX Wallet"});let{getCosmosToolbox:y}=await import("@swapkit/toolboxes/cosmos"),[{address:D}]=B;return{...await y(O.Cosmos),address:D,transfer:R(D)}}).with(O.Near,async()=>{if(!(window.okxwallet&&("near"in window.okxwallet)))throw new G("wallet_okx_not_found",{chain:O.Near});let{createNearSignerFromProvider:X}=await import("../../chunk-dtr1yvx8.js"),{getNearToolbox:A}=await import("@swapkit/toolboxes/near"),B=window.okxwallet.near,y=await X(B,"OKX"),D=await y.getAddress();return{...await A({signer:y}),address:D}}).with(O.Tron,async()=>{if(!(window.okxwallet&&("tronLink"in window.okxwallet)))throw new G("wallet_okx_not_found",{chain:O.Tron});let{createTronToolbox:X}=await import("@swapkit/toolboxes/tron"),A=window.okxwallet.tronLink,B=await A.request({method:"tron_requestAccounts"});if(!B||B.length===0)throw new G("wallet_okx_no_accounts",{chain:O.Tron});let y=A.tronWeb.defaultAddress.base58;return{...await X({signer:{getAddress:async()=>y,signTransaction:async(Q)=>{return await A.tronWeb.trx.sign(Q)}}}),address:y}}).otherwise(()=>{throw new G("wallet_okx_chain_not_supported",{chain:f})})}var V=L({connect:({addChain:f,supportedChains:m,walletType:W})=>async function(A){let B=U({chains:A,supportedChains:m,walletType:W});return await Promise.all(B.map(async(y)=>{let D=await Z(y);f({...D,chain:y,walletType:W})})),!0},name:"connectOkx",supportedChains:[_.Arbitrum,_.Aurora,_.Avalanche,_.Base,_.Berachain,_.BinanceSmartChain,_.Bitcoin,_.Cosmos,_.Ethereum,_.Gnosis,_.Near,_.Optimism,_.Polygon,_.Tron],walletType:I.OKX}),S=T(V);export{V as okxWallet,S as OKX_SUPPORTED_CHAINS};
1
+ import{F as z,G as H}from"../../chunk-jgq4njag.js";import{Chain as _,filterSupportedChains as U,WalletOption as I}from"@swapkit/helpers";import{createWallet as L,getWalletSupportedChains as T}from"@swapkit/wallet-core";import{Chain as O,ChainId as Y,getRPCUrl as j,prepareNetworkSwitch as q,SwapKitError as G,switchEVMWalletNetwork as F}from"@swapkit/helpers";import{Psbt as J}from"bitcoinjs-lib";var R=(f)=>async({recipient:m,assetValue:W,memo:X})=>{if(!(window.okxwallet&&("keplr"in window.okxwallet)))throw new G("wallet_okx_not_found",{chain:O.Cosmos});let{createSigningStargateClient:A}=await import("@swapkit/toolboxes/cosmos"),{keplr:B}=window.okxwallet,y=B?.getOfflineSignerOnlyAmino(Y.GAIA),D=await j(O.Cosmos),M=await A(D,y),Q=[{amount:W.getBaseValue("string"),denom:W?.symbol==="MUON"?"umuon":"uatom"}],{transactionHash:$}=await M.sendTokens(f,m,Q,1.6,X);return $};async function N({walletProvider:f,chain:m}){let{getEvmToolbox:W}=await import("@swapkit/toolboxes/evm"),{BrowserProvider:X}=await import("ethers");if(!f)throw new G("wallet_okx_not_found");let A=new X(f,"any"),B=await A.getSigner(),y=await W(m,{provider:A,signer:B});try{if(m!==O.Ethereum&&"getNetworkParams"in y)await F(A,m,y.getNetworkParams())}catch(D){throw new G("wallet_okx_failed_to_switch_network",{chain:m})}return q({chain:m,provider:A,toolbox:y})}async function Z(f){let{match:m,P:W}=await import("ts-pattern");return m(f).with(W.union(O.Arbitrum,O.Aurora,O.Avalanche,O.Base,O.Berachain,O.BinanceSmartChain,O.Ethereum,O.Gnosis,O.Optimism,O.Polygon),async()=>{if(!(window.okxwallet&&("send"in window.okxwallet)))throw new G("wallet_okx_not_found",{chain:f});let X=await N({chain:f,walletProvider:window.okxwallet}),A=(await window.okxwallet.send("eth_requestAccounts",[])).result[0];return{...X,address:A}}).with(O.Bitcoin,async()=>{if(!(window.okxwallet&&("bitcoin"in window.okxwallet)))throw new G("wallet_okx_not_found",{chain:O.Bitcoin});let{getUtxoToolbox:X}=await import("@swapkit/toolboxes/utxo"),{bitcoin:A}=window.okxwallet,B=(await A.connect()).address,y={getAddress:async()=>Promise.resolve(B),signTransaction:async(M)=>{let Q=await A.signPsbt(M.toHex(),{from:B,type:"list"});return J.fromHex(Q)}};return{...await X(O.Bitcoin,{signer:y}),address:B}}).with(O.Cosmos,async()=>{if(!(window.okxwallet&&("keplr"in window.okxwallet)))throw new G("wallet_okx_not_found",{chain:O.Cosmos});let{keplr:X}=window.okxwallet;await X.enable(Y.GAIA);let B=await X.getOfflineSignerOnlyAmino(Y.GAIA).getAccounts();if(!(B&&Array.isArray(B))||B.length===0)throw new G("wallet_okx_no_accounts",{chain:O.Cosmos,message:"No Cosmos accounts returned from OKX Wallet"});let{getCosmosToolbox:y}=await import("@swapkit/toolboxes/cosmos"),[{address:D}]=B;return{...await y(O.Cosmos),address:D,transfer:R(D)}}).with(O.Near,async()=>{if(!(window.okxwallet&&("near"in window.okxwallet)))throw new G("wallet_okx_not_found",{chain:O.Near});let{createNearSignerFromProvider:X}=await import("../../chunk-wfz8zxk9.js"),{getNearToolbox:A}=await import("@swapkit/toolboxes/near"),B=window.okxwallet.near,y=await X(B,"OKX"),D=await y.getAddress();return{...await A({signer:y}),address:D}}).with(O.Tron,async()=>{if(!(window.okxwallet&&("tronLink"in window.okxwallet)))throw new G("wallet_okx_not_found",{chain:O.Tron});let{createTronToolbox:X}=await import("@swapkit/toolboxes/tron"),A=window.okxwallet.tronLink,B=await A.request({method:"tron_requestAccounts"});if(!B||B.length===0)throw new G("wallet_okx_no_accounts",{chain:O.Tron});let y=A.tronWeb.defaultAddress.base58;return{...await X({signer:{getAddress:async()=>y,signTransaction:async(Q)=>{return await A.tronWeb.trx.sign(Q)}}}),address:y}}).otherwise(()=>{throw new G("wallet_okx_chain_not_supported",{chain:f})})}var V=L({connect:({addChain:f,supportedChains:m,walletType:W})=>async function(A){let B=U({chains:A,supportedChains:m,walletType:W});return await Promise.all(B.map(async(y)=>{let D=await Z(y);f({...D,chain:y,walletType:W})})),!0},name:"connectOkx",supportedChains:[_.Arbitrum,_.Aurora,_.Avalanche,_.Base,_.Berachain,_.BinanceSmartChain,_.Bitcoin,_.Cosmos,_.Ethereum,_.Gnosis,_.Near,_.Optimism,_.Polygon,_.Tron],walletType:I.OKX}),S=T(V);export{V as okxWallet,S as OKX_SUPPORTED_CHAINS};
2
2
 
3
3
  //# debugId=AD755FADCDF9A47B64756E2164756E21
4
4
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- import{F as m,G as y}from"../../chunk-fxqrst6z.js";import{addEVMWalletNetwork as h,Chain as e,filterSupportedChains as P,prepareNetworkSwitch as b,SwapKitError as s,WalletOption as _}from"@swapkit/helpers";import{createWallet as A,getWalletSupportedChains as E}from"@swapkit/wallet-core";import{Psbt as S}from"bitcoinjs-lib";async function O(t){switch(t){case e.Bitcoin:{if(!window.$onekey?.btc)throw new s({errorKey:"wallet_onekey_not_found",info:{chain:t}});let{getUtxoToolbox:r}=await import("@swapkit/toolboxes/utxo"),{signTransaction:a,getAddress:w,AddressPurpose:n,BitcoinNetworkType:c}=await import("sats-connect"),o="",i=()=>new Promise((d)=>d(window.$onekey?.btc)),l={getProvider:i,onCancel:()=>{throw new s("wallet_connection_rejected_by_user")},onFinish:(d)=>{if(d.addresses[0]?.address)o=d.addresses[0].address},payload:{message:"Address for receiving and sending payments",network:{type:c.Mainnet},purposes:[n.Payment]}};await w(l);async function p(d){let g,f={getProvider:i,onCancel:()=>{throw new s("wallet_connection_rejected_by_user")},onFinish:(u)=>{g=S.fromBase64(u.psbtBase64)},payload:{broadcast:!1,inputsToSign:[{address:o,signingIndexes:d.txInputs.map((u,k)=>k)}],message:"Sign transaction",network:{type:c.Mainnet},psbtBase64:d.toBase64()}};if(await a(f),!g)throw new s("wallet_onekey_sign_transaction_error");return g}return{...await r(t,{signer:{getAddress:()=>Promise.resolve(o),signTransaction:p}}),address:o}}case e.Solana:{if(!window.$onekey?.sol)throw new s({errorKey:"wallet_onekey_not_found",info:{chain:t}});let{getSolanaToolbox:r}=await import("@swapkit/toolboxes/solana"),a=window.$onekey.sol,w=await a.getAddress();return{...await r({signer:a}),address:w}}case e.Arbitrum:case e.Aurora:case e.Avalanche:case e.Base:case e.BinanceSmartChain:case e.Ethereum:case e.Gnosis:case e.Optimism:case e.Polygon:{let{getProvider:r,getEvmToolbox:a}=await import("@swapkit/toolboxes/evm");if(!window.$onekey?.ethereum)throw new s({errorKey:"wallet_onekey_not_found",info:{chain:t}});let{BrowserProvider:w}=await import("ethers"),n=new w(window.$onekey.ethereum,"any");await n.send("eth_requestAccounts",[]);let c=await r(t),o=await n.getSigner(),i=await o.getAddress(),l=await a(t,{provider:c,signer:o});try{if(t!==e.Ethereum){let p=l.getNetworkParams();await h(n,p)}}catch(p){throw new s({errorKey:"wallet_failed_to_add_or_switch_network",info:{chain:t,error:p}})}return{address:i,...b({chain:t,provider:n,toolbox:l})}}default:throw new s({errorKey:"wallet_chain_not_supported",info:{chain:t,wallet:_.ONEKEY}})}}var x=A({connect:({addChain:t,walletType:r,supportedChains:a})=>async function(n){if(!window.$onekey)throw new s({errorKey:"wallet_onekey_not_found",info:{wallet:_.ONEKEY}});let c=P({chains:n,supportedChains:a,walletType:r});return await Promise.all(c.map(async(o)=>{let i=await O(o),l=await i.getAddress()||"F";t({...i,address:l,chain:o,walletType:r})})),!0},name:"connectOnekeyWallet",supportedChains:[e.Arbitrum,e.Aurora,e.Avalanche,e.Base,e.BinanceSmartChain,e.Bitcoin,e.Ethereum,e.Gnosis,e.Optimism,e.Polygon,e.Solana],walletType:_.ONEKEY}),N=E(x);export{x as onekeyWallet,N as ONEKEY_WALLET_SUPPORTED_CHAINS};
1
+ import{F as m,G as y}from"../../chunk-jgq4njag.js";import{addEVMWalletNetwork as h,Chain as e,filterSupportedChains as P,prepareNetworkSwitch as b,SwapKitError as s,WalletOption as _}from"@swapkit/helpers";import{createWallet as A,getWalletSupportedChains as E}from"@swapkit/wallet-core";import{Psbt as S}from"bitcoinjs-lib";async function O(t){switch(t){case e.Bitcoin:{if(!window.$onekey?.btc)throw new s({errorKey:"wallet_onekey_not_found",info:{chain:t}});let{getUtxoToolbox:r}=await import("@swapkit/toolboxes/utxo"),{signTransaction:a,getAddress:w,AddressPurpose:n,BitcoinNetworkType:c}=await import("sats-connect"),o="",i=()=>new Promise((d)=>d(window.$onekey?.btc)),l={getProvider:i,onCancel:()=>{throw new s("wallet_connection_rejected_by_user")},onFinish:(d)=>{if(d.addresses[0]?.address)o=d.addresses[0].address},payload:{message:"Address for receiving and sending payments",network:{type:c.Mainnet},purposes:[n.Payment]}};await w(l);async function p(d){let g,f={getProvider:i,onCancel:()=>{throw new s("wallet_connection_rejected_by_user")},onFinish:(u)=>{g=S.fromBase64(u.psbtBase64)},payload:{broadcast:!1,inputsToSign:[{address:o,signingIndexes:d.txInputs.map((u,k)=>k)}],message:"Sign transaction",network:{type:c.Mainnet},psbtBase64:d.toBase64()}};if(await a(f),!g)throw new s("wallet_onekey_sign_transaction_error");return g}return{...await r(t,{signer:{getAddress:()=>Promise.resolve(o),signTransaction:p}}),address:o}}case e.Solana:{if(!window.$onekey?.sol)throw new s({errorKey:"wallet_onekey_not_found",info:{chain:t}});let{getSolanaToolbox:r}=await import("@swapkit/toolboxes/solana"),a=window.$onekey.sol,w=await a.getAddress();return{...await r({signer:a}),address:w}}case e.Arbitrum:case e.Aurora:case e.Avalanche:case e.Base:case e.BinanceSmartChain:case e.Ethereum:case e.Gnosis:case e.Optimism:case e.Polygon:{let{getProvider:r,getEvmToolbox:a}=await import("@swapkit/toolboxes/evm");if(!window.$onekey?.ethereum)throw new s({errorKey:"wallet_onekey_not_found",info:{chain:t}});let{BrowserProvider:w}=await import("ethers"),n=new w(window.$onekey.ethereum,"any");await n.send("eth_requestAccounts",[]);let c=await r(t),o=await n.getSigner(),i=await o.getAddress(),l=await a(t,{provider:c,signer:o});try{if(t!==e.Ethereum){let p=l.getNetworkParams();await h(n,p)}}catch(p){throw new s({errorKey:"wallet_failed_to_add_or_switch_network",info:{chain:t,error:p}})}return{address:i,...b({chain:t,provider:n,toolbox:l})}}default:throw new s({errorKey:"wallet_chain_not_supported",info:{chain:t,wallet:_.ONEKEY}})}}var x=A({connect:({addChain:t,walletType:r,supportedChains:a})=>async function(n){if(!window.$onekey)throw new s({errorKey:"wallet_onekey_not_found",info:{wallet:_.ONEKEY}});let c=P({chains:n,supportedChains:a,walletType:r});return await Promise.all(c.map(async(o)=>{let i=await O(o),l=await i.getAddress()||"F";t({...i,address:l,chain:o,walletType:r})})),!0},name:"connectOnekeyWallet",supportedChains:[e.Arbitrum,e.Aurora,e.Avalanche,e.Base,e.BinanceSmartChain,e.Bitcoin,e.Ethereum,e.Gnosis,e.Optimism,e.Polygon,e.Solana],walletType:_.ONEKEY}),N=E(x);export{x as onekeyWallet,N as ONEKEY_WALLET_SUPPORTED_CHAINS};
2
2
 
3
3
  //# debugId=816294D81CB3A08564756E2164756E21
4
4
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- import{F as l,G as d}from"../../chunk-fxqrst6z.js";import{Chain as i,filterSupportedChains as x,SwapKitError as r,WalletOption as _}from"@swapkit/helpers";import{createWallet as S,getWalletSupportedChains as C}from"@swapkit/wallet-core";var A=S({connect:({addChain:s,supportedChains:c,walletType:o})=>async function(e){let a=x({chains:e,supportedChains:c,walletType:o});try{return await Promise.all(a.map(async(t)=>{let{address:h,...w}=await v(t);s({...w,address:h,chain:t,walletType:o})})),!0}catch(t){if(t instanceof r)throw t;throw new r("wallet_connection_rejected_by_user",t)}},name:"connectPhantom",supportedChains:[i.Bitcoin,i.Ethereum,i.Solana],walletType:_.PHANTOM}),N=C(A);async function v(s){let c=window?.phantom;switch(s){case i.Bitcoin:{let o=c?.bitcoin;if(!o?.isPhantom)throw new r("wallet_phantom_not_found");let{getUtxoToolbox:n}=await import("@swapkit/toolboxes/utxo"),[{address:e}]=await o.requestAccounts();return{...await n(s),address:e}}case i.Ethereum:{let{getEvmToolbox:o}=await import("@swapkit/toolboxes/evm"),{BrowserProvider:n}=await import("ethers"),e=new n(c?.ethereum,"any"),[a]=await e.send("eth_requestAccounts",[]),t=await e.getSigner();return{...await o(s,{provider:e,signer:t}),address:a}}case i.Solana:{let{getSolanaToolbox:o}=await import("@swapkit/toolboxes/solana"),n=c?.solana;if(!n?.isPhantom)throw new r("wallet_phantom_not_found");let a=(await n.connect()).publicKey.toString(),t=await o({signer:n});return{...t,address:a,transfer:async({recipient:w,assetValue:f,isProgramDerivedAddress:m})=>{let{PublicKey:P}=await import("@solana/web3.js"),b=await t.getAddressValidator();if(!(m||b(w)))throw new r("core_transaction_invalid_recipient_address");let g=new P(a),u=await t.getConnection(),p=await t.createTransaction({assetValue:f,isProgramDerivedAddress:m,recipient:w,sender:a});if(!p)throw new r("core_transaction_invalid_sender_address");let y=await u.getLatestBlockhash();p.recentBlockhash=y.blockhash,p.feePayer=g;let T=await n.signTransaction(p);return await u.sendRawTransaction(T.serialize())}}}default:throw new r("wallet_chain_not_supported",{chain:s,wallet:_.PHANTOM})}}export{A as phantomWallet,N as PHANTOM_SUPPORTED_CHAINS};
1
+ import{F as l,G as d}from"../../chunk-jgq4njag.js";import{Chain as i,filterSupportedChains as x,SwapKitError as r,WalletOption as _}from"@swapkit/helpers";import{createWallet as S,getWalletSupportedChains as C}from"@swapkit/wallet-core";var A=S({connect:({addChain:s,supportedChains:c,walletType:o})=>async function(e){let a=x({chains:e,supportedChains:c,walletType:o});try{return await Promise.all(a.map(async(t)=>{let{address:h,...w}=await v(t);s({...w,address:h,chain:t,walletType:o})})),!0}catch(t){if(t instanceof r)throw t;throw new r("wallet_connection_rejected_by_user",t)}},name:"connectPhantom",supportedChains:[i.Bitcoin,i.Ethereum,i.Solana],walletType:_.PHANTOM}),N=C(A);async function v(s){let c=window?.phantom;switch(s){case i.Bitcoin:{let o=c?.bitcoin;if(!o?.isPhantom)throw new r("wallet_phantom_not_found");let{getUtxoToolbox:n}=await import("@swapkit/toolboxes/utxo"),[{address:e}]=await o.requestAccounts();return{...await n(s),address:e}}case i.Ethereum:{let{getEvmToolbox:o}=await import("@swapkit/toolboxes/evm"),{BrowserProvider:n}=await import("ethers"),e=new n(c?.ethereum,"any"),[a]=await e.send("eth_requestAccounts",[]),t=await e.getSigner();return{...await o(s,{provider:e,signer:t}),address:a}}case i.Solana:{let{getSolanaToolbox:o}=await import("@swapkit/toolboxes/solana"),n=c?.solana;if(!n?.isPhantom)throw new r("wallet_phantom_not_found");let a=(await n.connect()).publicKey.toString(),t=await o({signer:n});return{...t,address:a,transfer:async({recipient:w,assetValue:f,isProgramDerivedAddress:m})=>{let{PublicKey:P}=await import("@solana/web3.js"),b=await t.getAddressValidator();if(!(m||b(w)))throw new r("core_transaction_invalid_recipient_address");let g=new P(a),u=await t.getConnection(),p=await t.createTransaction({assetValue:f,isProgramDerivedAddress:m,recipient:w,sender:a});if(!p)throw new r("core_transaction_invalid_sender_address");let y=await u.getLatestBlockhash();p.recentBlockhash=y.blockhash,p.feePayer=g;let T=await n.signTransaction(p);return await u.sendRawTransaction(T.serialize())}}}default:throw new r("wallet_chain_not_supported",{chain:s,wallet:_.PHANTOM})}}export{A as phantomWallet,N as PHANTOM_SUPPORTED_CHAINS};
2
2
 
3
3
  //# debugId=E763F48B82ACEF3B64756E2164756E21
4
4
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- import{F as p,G as u}from"../../chunk-fxqrst6z.js";import{Chain as i,filterSupportedChains as f,SwapKitError as l,WalletOption as d}from"@swapkit/helpers";import{createWallet as _,getWalletSupportedChains as P}from"@swapkit/wallet-core";var h=_({connect:({addChain:t,supportedChains:s,walletType:r})=>async function(n){let e=f({chains:n,supportedChains:s,walletType:r});return await Promise.all(e.map(async(o)=>{let{address:c,...w}=await m(o);t({...w,address:c,chain:o,walletType:r})})),!0},name:"connectPolkadotJs",supportedChains:[i.Polkadot],walletType:d.POLKADOT_JS}),g=P(h);async function m(t){switch(t){case i.Polkadot:{let{getSubstrateToolbox:s}=await import("@swapkit/toolboxes/substrate"),a=await window?.injectedWeb3?.["polkadot-js"]?.enable?.("polkadot-js");if(!a)throw new l({errorKey:"wallet_polkadot_not_found",info:{chain:t}});let n=await s(t,{signer:a.signer}),[e]=await a.accounts.get();if(!e?.address)throw new l({errorKey:"wallet_missing_params",info:{address:e?.address,wallet:d.POLKADOT_JS}});let o=n.convertAddress(e.address,0);return{...n,address:o,getAddress:()=>o}}default:throw new l({errorKey:"wallet_chain_not_supported",info:{chain:t,wallet:d.POLKADOT_JS}})}}export{h as polkadotWallet,g as POLKADOT_SUPPORTED_CHAINS};
1
+ import{F as p,G as u}from"../../chunk-jgq4njag.js";import{Chain as i,filterSupportedChains as f,SwapKitError as l,WalletOption as d}from"@swapkit/helpers";import{createWallet as _,getWalletSupportedChains as P}from"@swapkit/wallet-core";var h=_({connect:({addChain:t,supportedChains:s,walletType:r})=>async function(n){let e=f({chains:n,supportedChains:s,walletType:r});return await Promise.all(e.map(async(o)=>{let{address:c,...w}=await m(o);t({...w,address:c,chain:o,walletType:r})})),!0},name:"connectPolkadotJs",supportedChains:[i.Polkadot],walletType:d.POLKADOT_JS}),g=P(h);async function m(t){switch(t){case i.Polkadot:{let{getSubstrateToolbox:s}=await import("@swapkit/toolboxes/substrate"),a=await window?.injectedWeb3?.["polkadot-js"]?.enable?.("polkadot-js");if(!a)throw new l({errorKey:"wallet_polkadot_not_found",info:{chain:t}});let n=await s(t,{signer:a.signer}),[e]=await a.accounts.get();if(!e?.address)throw new l({errorKey:"wallet_missing_params",info:{address:e?.address,wallet:d.POLKADOT_JS}});let o=n.convertAddress(e.address,0);return{...n,address:o,getAddress:()=>o}}default:throw new l({errorKey:"wallet_chain_not_supported",info:{chain:t,wallet:d.POLKADOT_JS}})}}export{h as polkadotWallet,g as POLKADOT_SUPPORTED_CHAINS};
2
2
 
3
3
  //# debugId=1CBFA60D21FBDCB664756E2164756E21
4
4
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- import{F as _,G as $}from"../../chunk-fxqrst6z.js";import{AssetValue as N,Chain as T,filterSupportedChains as S,SKConfig as Y,SwapKitError as X,WalletOption as x}from"@swapkit/helpers";import{createWallet as B,getWalletSupportedChains as C}from"@swapkit/wallet-core";var h=B({connect:({addChain:L,supportedChains:K,walletType:H})=>async function(M){let O=S({chains:M,supportedChains:K,walletType:H});if(!Y.get("integrations").radix)throw new X("wallet_radix_not_found");return await Promise.all(O.map(async(z)=>{let j=await E();L({...j,chain:z,walletType:H})})),!0},name:"connectRadixWallet",supportedChains:[T.Radix],walletType:x.RADIX_WALLET}),f=C(h);async function k(L){let{GatewayApiClient:K}=await import("@radixdlt/babylon-gateway-api-sdk"),{applicationName:H}=Y.get("integrations").radix,V=K.initialize({applicationName:H,networkId:1}),M=!0,O,U=[],z=await v(V);while(M){let j={address:L,at_ledger_state:{state_version:z},cursor:O,limit_per_page:100},Q=await V.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:j});if(U=U.concat(Q.items),Q.next_cursor)O=Q.next_cursor;else M=!1}return U}function v(L){return L.status.getCurrent().then((K)=>K.ledger_state.state_version)}async function D(L){let{GatewayApiClient:K}=await import("@radixdlt/babylon-gateway-api-sdk"),H=await k(L),{applicationName:V}=Y.get("integrations").radix,M=K.initialize({applicationName:V,networkId:1}),O=[],U=50,z=[];for(let j=0;j<H.length;j+=50)z.push(H.slice(j,j+50));for(let j of z){let Q=j.map((J)=>J.resource_address),Z=await M.state.getEntityDetailsVaultAggregated(Q),q=new Map;for(let J of Z)if(J.details!==void 0){let W=J.metadata?.items.find((I)=>I.key==="symbol"),G=W?.value.typed.type==="String"?W.value.typed.value:"?";if(J.details.type==="FungibleResource")q.set(J.address,{decimals:J.details.divisibility,symbol:G})}for(let J of j)if(J.aggregation_level==="Global"){let W=q.get(J.resource_address)||{decimals:0,symbol:"?"},G=N.from({asset:W.symbol!==T.Radix?`${T.Radix}.${W.symbol}-${J.resource_address}`:"XRD.XRD",value:J.amount});O.push(G)}}return O}async function E(){let{RadixDappToolkit:L}=await import("@radixdlt/radix-dapp-toolkit"),K=Y.get("integrations").radix,H=L({...K,networkId:K.network.networkId});function V(z){return new Promise((j)=>setTimeout(j,z))}await V(400);function M(){return H.walletApi.getWalletData()?.accounts?.[0]?.address}let O=async()=>{let{DataRequestBuilder:z}=await import("@radixdlt/radix-dapp-toolkit");H.walletApi.setRequestData(z.accounts().exactly(1));let j=await H.walletApi.sendRequest();if(!j)throw new X("wallet_radix_no_account");let Q=j.unwrapOr(null)?.accounts[0]?.address;if(!Q)throw new X("wallet_radix_no_account");return Q},U=M()||await O();return{address:U,getAddress:M,getBalance:()=>D(U),radixDappToolkit:H,signAndBroadcast:async({manifest:z,message:j})=>{let Z=(await H.walletApi.sendTransaction({message:j,transactionManifest:z})).unwrapOr(null)?.transactionIntentHash;if(!Z)throw new X("wallet_radix_transaction_failed");return Z},transfer:(z)=>{throw new X("wallet_radix_method_not_supported",{method:"transfer"})}}}export{h as radixWallet,f as RADIX_SUPPORTED_CHAINS};
1
+ import{F as _,G as $}from"../../chunk-jgq4njag.js";import{AssetValue as N,Chain as T,filterSupportedChains as S,SKConfig as Y,SwapKitError as X,WalletOption as x}from"@swapkit/helpers";import{createWallet as B,getWalletSupportedChains as C}from"@swapkit/wallet-core";var h=B({connect:({addChain:L,supportedChains:K,walletType:H})=>async function(M){let O=S({chains:M,supportedChains:K,walletType:H});if(!Y.get("integrations").radix)throw new X("wallet_radix_not_found");return await Promise.all(O.map(async(z)=>{let j=await E();L({...j,chain:z,walletType:H})})),!0},name:"connectRadixWallet",supportedChains:[T.Radix],walletType:x.RADIX_WALLET}),f=C(h);async function k(L){let{GatewayApiClient:K}=await import("@radixdlt/babylon-gateway-api-sdk"),{applicationName:H}=Y.get("integrations").radix,V=K.initialize({applicationName:H,networkId:1}),M=!0,O,U=[],z=await v(V);while(M){let j={address:L,at_ledger_state:{state_version:z},cursor:O,limit_per_page:100},Q=await V.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:j});if(U=U.concat(Q.items),Q.next_cursor)O=Q.next_cursor;else M=!1}return U}function v(L){return L.status.getCurrent().then((K)=>K.ledger_state.state_version)}async function D(L){let{GatewayApiClient:K}=await import("@radixdlt/babylon-gateway-api-sdk"),H=await k(L),{applicationName:V}=Y.get("integrations").radix,M=K.initialize({applicationName:V,networkId:1}),O=[],U=50,z=[];for(let j=0;j<H.length;j+=50)z.push(H.slice(j,j+50));for(let j of z){let Q=j.map((J)=>J.resource_address),Z=await M.state.getEntityDetailsVaultAggregated(Q),q=new Map;for(let J of Z)if(J.details!==void 0){let W=J.metadata?.items.find((I)=>I.key==="symbol"),G=W?.value.typed.type==="String"?W.value.typed.value:"?";if(J.details.type==="FungibleResource")q.set(J.address,{decimals:J.details.divisibility,symbol:G})}for(let J of j)if(J.aggregation_level==="Global"){let W=q.get(J.resource_address)||{decimals:0,symbol:"?"},G=N.from({asset:W.symbol!==T.Radix?`${T.Radix}.${W.symbol}-${J.resource_address}`:"XRD.XRD",value:J.amount});O.push(G)}}return O}async function E(){let{RadixDappToolkit:L}=await import("@radixdlt/radix-dapp-toolkit"),K=Y.get("integrations").radix,H=L({...K,networkId:K.network.networkId});function V(z){return new Promise((j)=>setTimeout(j,z))}await V(400);function M(){return H.walletApi.getWalletData()?.accounts?.[0]?.address}let O=async()=>{let{DataRequestBuilder:z}=await import("@radixdlt/radix-dapp-toolkit");H.walletApi.setRequestData(z.accounts().exactly(1));let j=await H.walletApi.sendRequest();if(!j)throw new X("wallet_radix_no_account");let Q=j.unwrapOr(null)?.accounts[0]?.address;if(!Q)throw new X("wallet_radix_no_account");return Q},U=M()||await O();return{address:U,getAddress:M,getBalance:()=>D(U),radixDappToolkit:H,signAndBroadcast:async({manifest:z,message:j})=>{let Z=(await H.walletApi.sendTransaction({message:j,transactionManifest:z})).unwrapOr(null)?.transactionIntentHash;if(!Z)throw new X("wallet_radix_transaction_failed");return Z},transfer:(z)=>{throw new X("wallet_radix_method_not_supported",{method:"transfer"})}}}export{h as radixWallet,f as RADIX_SUPPORTED_CHAINS};
2
2
 
3
3
  //# debugId=58A0CFCA38DE936164756E2164756E21
4
4
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- import{F as d,G as m}from"../../chunk-fxqrst6z.js";import{Chain as t,filterSupportedChains as p,prepareNetworkSwitch as h,SwapKitError as s,switchEVMWalletNetwork as f,WalletOption as l}from"@swapkit/helpers";import{createWallet as u,getWalletSupportedChains as _}from"@swapkit/wallet-core";var A=u({connect:({addChain:e,supportedChains:a,walletType:r})=>async function(o){let i=p({chains:o,supportedChains:a,walletType:r});return await Promise.all(i.map(async(n)=>{let w=await S(n);e({...w,chain:n,walletType:r})})),!0},name:"connectTalisman",supportedChains:[t.Ethereum,t.Arbitrum,t.Avalanche,t.Base,t.Polygon,t.BinanceSmartChain,t.Optimism,t.Polkadot,t.Chainflip],walletType:l.TALISMAN}),C=_(A);async function E({walletProvider:e,chain:a}){let{getEvmToolbox:r}=await import("@swapkit/toolboxes/evm"),{BrowserProvider:c}=await import("ethers");if(!e)throw new s({errorKey:"wallet_provider_not_found",info:{chain:a,wallet:l.TALISMAN}});let o=new c(e,"any"),i=await o.getSigner(),n=await r(a,{provider:o,signer:i});try{if(a!==t.Ethereum)await f(o,a,n.getNetworkParams())}catch(w){throw new s({errorKey:"wallet_failed_to_add_or_switch_network",info:{chain:a,wallet:l.TALISMAN}})}return h({chain:a,provider:o,toolbox:n})}async function S(e){switch(e){case t.Ethereum:case t.Arbitrum:case t.Optimism:case t.Polygon:case t.Avalanche:case t.BinanceSmartChain:case t.Base:{if(!(window.talismanEth&&("send"in window.talismanEth)))throw new s({errorKey:"wallet_talisman_not_found",info:{chain:e}});let a=await E({chain:e,walletProvider:window.talismanEth}),r=(await window.talismanEth.send("eth_requestAccounts",[]))[0];return{...a,address:r}}case t.Polkadot:case t.Chainflip:{let{getSubstrateToolbox:a,SubstrateNetwork:r}=await import("@swapkit/toolboxes/substrate"),o=await window?.injectedWeb3?.talisman?.enable?.("talisman");if(!o)throw new s({errorKey:"wallet_talisman_not_enabled",info:{chain:e}});let i=await a(e,{signer:o.signer}),n=await o.accounts.get();if(!n[0]?.address)throw new s({errorKey:"wallet_missing_params",info:{accounts:n,address:n[0]?.address,wallet:l.TALISMAN}});let w=i.convertAddress(n[0].address,r[e].prefix);return{...i,address:w}}default:throw new s({errorKey:"wallet_chain_not_supported",info:{chain:e,wallet:l.TALISMAN}})}}export{A as talismanWallet,C as TALISMAN_SUPPORTED_CHAINS};
1
+ import{F as d,G as m}from"../../chunk-jgq4njag.js";import{Chain as t,filterSupportedChains as p,prepareNetworkSwitch as h,SwapKitError as s,switchEVMWalletNetwork as f,WalletOption as l}from"@swapkit/helpers";import{createWallet as u,getWalletSupportedChains as _}from"@swapkit/wallet-core";var A=u({connect:({addChain:e,supportedChains:a,walletType:r})=>async function(o){let i=p({chains:o,supportedChains:a,walletType:r});return await Promise.all(i.map(async(n)=>{let w=await S(n);e({...w,chain:n,walletType:r})})),!0},name:"connectTalisman",supportedChains:[t.Ethereum,t.Arbitrum,t.Avalanche,t.Base,t.Polygon,t.BinanceSmartChain,t.Optimism,t.Polkadot,t.Chainflip],walletType:l.TALISMAN}),C=_(A);async function E({walletProvider:e,chain:a}){let{getEvmToolbox:r}=await import("@swapkit/toolboxes/evm"),{BrowserProvider:c}=await import("ethers");if(!e)throw new s({errorKey:"wallet_provider_not_found",info:{chain:a,wallet:l.TALISMAN}});let o=new c(e,"any"),i=await o.getSigner(),n=await r(a,{provider:o,signer:i});try{if(a!==t.Ethereum)await f(o,a,n.getNetworkParams())}catch(w){throw new s({errorKey:"wallet_failed_to_add_or_switch_network",info:{chain:a,wallet:l.TALISMAN}})}return h({chain:a,provider:o,toolbox:n})}async function S(e){switch(e){case t.Ethereum:case t.Arbitrum:case t.Optimism:case t.Polygon:case t.Avalanche:case t.BinanceSmartChain:case t.Base:{if(!(window.talismanEth&&("send"in window.talismanEth)))throw new s({errorKey:"wallet_talisman_not_found",info:{chain:e}});let a=await E({chain:e,walletProvider:window.talismanEth}),r=(await window.talismanEth.send("eth_requestAccounts",[]))[0];return{...a,address:r}}case t.Polkadot:case t.Chainflip:{let{getSubstrateToolbox:a,SubstrateNetwork:r}=await import("@swapkit/toolboxes/substrate"),o=await window?.injectedWeb3?.talisman?.enable?.("talisman");if(!o)throw new s({errorKey:"wallet_talisman_not_enabled",info:{chain:e}});let i=await a(e,{signer:o.signer}),n=await o.accounts.get();if(!n[0]?.address)throw new s({errorKey:"wallet_missing_params",info:{accounts:n,address:n[0]?.address,wallet:l.TALISMAN}});let w=i.convertAddress(n[0].address,r[e].prefix);return{...i,address:w}}default:throw new s({errorKey:"wallet_chain_not_supported",info:{chain:e,wallet:l.TALISMAN}})}}export{A as talismanWallet,C as TALISMAN_SUPPORTED_CHAINS};
2
2
 
3
3
  //# debugId=45D6521B7BDF245664756E2164756E21
4
4
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- import"../../chunk-fxqrst6z.js";import{Chain as w,filterSupportedChains as b,WalletOption as x}from"@swapkit/helpers";import{createWallet as y,getWalletSupportedChains as A}from"@swapkit/wallet-core";import{Chain as L,SwapKitError as a,WalletOption as c}from"@swapkit/helpers";import{createTronToolbox as N}from"@swapkit/toolboxes/tron";var u;((e)=>{e[e.SUCCESS=200]="SUCCESS";e[e.LOCKED=4000]="LOCKED";e[e.REJECTED=4001]="REJECTED";e[e.UNAUTHORIZED=4100]="UNAUTHORIZED";e[e.UNSUPPORTED_METHOD=4200]="UNSUPPORTED_METHOD";e[e.DISCONNECTED=4900]="DISCONNECTED";e[e.CHAIN_DISCONNECTED=4901]="CHAIN_DISCONNECTED"})(u||={});function f(n=3000){return new Promise((t,o)=>{let r=!1,i=()=>{if(r)return;if(r=!0,window.removeEventListener("tronlink#initialized",i),s)clearTimeout(s);if(window.tronLink)t(window.tronLink);else o(new a("wallet_provider_not_found",{wallet:c.TRONLINK}))};if(window.tronLink){t(window.tronLink);return}window.addEventListener("tronlink#initialized",i,{once:!0});let s=setTimeout(i,n)})}async function W(){try{let n=await f(1000),t=Boolean(n.tronWeb?.defaultAddress?.base58),o=n.ready!==!1,r=Boolean(n.tronWeb&&typeof n.tronWeb.trx==="object"&&typeof n.tronWeb.trx.sign==="function");return!t&&(!o||!r)}catch{return!1}}async function E(n){let t=await n.request({method:"tron_requestAccounts"});if(t==="")throw new a("wallet_tronlink_locked",{message:"TronLink is locked. Please unlock it to continue."});if(t.code!==200)throw new a("wallet_tronlink_request_accounts_failed",{code:t.code,message:`TronLink requestAccounts failed: ${t.message}`})}async function g(n,t){if(n!==L.Tron)throw new a("wallet_chain_not_supported",{chain:n,wallet:c.TRONLINK});let o=await f();await W()&&await E(o);let i=o.tronWeb?.defaultAddress?.base58;if(t)_(t);return{...await N({signer:{getAddress:async()=>i,signTransaction:async(e)=>{return await o.tronWeb.trx.sign(e)}}}),address:i}}function T(n,t){let o=(r)=>{switch(r.data?.message?.action){case"setAccount":{let s=r.data.message.data.address;if(n){n(s);return}window.location.reload();return}case"setNode":{let s=r.data.message.data.node;if(t)t(s.fullNode);window.location.reload();return}default:return}};return window.addEventListener("message",o),()=>window.removeEventListener("message",o)}function _(n){let t=window.tronLink;if(!t)throw new a("wallet_provider_not_found",{wallet:c.TRONLINK});let o=t.tronWeb.fullNode?.host;if(o&&!o.includes(n))throw new a("wallet_failed_to_add_or_switch_network",{currentNetwork:o,expectedNetwork:n,message:`Wrong network. Please switch to ${n} in TronLink.`,wallet:c.TRONLINK})}function m(n=!1){return n?"shasta":"api.trongrid.io"}var S=y({connect:({addChain:n,supportedChains:t,walletType:o})=>async function(i){if(b({chains:i,supportedChains:t,walletType:o}).length===0)throw Error("TronLink wallet only supports Tron chain");let d=m(!1),e=await g(w.Tron,d),p=e.address,h=T((l)=>{if(l!==p)window.location.reload()},(l)=>{if(!l.includes(d))window.location.reload()}),k=()=>{h()};return n({...e,balance:[],chain:w.Tron,disconnect:k,walletType:o}),!0},name:"connectTronLink",supportedChains:[w.Tron],walletType:x.TRONLINK}),q=A(S);export{f as waitForTronLink,_ as verifyNetwork,S as tronlinkWallet,T as setupEventListeners,W as isTronLinkLocked,g as getWalletForChain,m as getExpectedTronNetwork,u as TronLinkResponseCode,q as TRONLINK_SUPPORTED_CHAINS};
1
+ import"../../chunk-jgq4njag.js";import{Chain as w,filterSupportedChains as b,WalletOption as x}from"@swapkit/helpers";import{createWallet as y,getWalletSupportedChains as A}from"@swapkit/wallet-core";import{Chain as L,SwapKitError as a,WalletOption as c}from"@swapkit/helpers";import{createTronToolbox as N}from"@swapkit/toolboxes/tron";var u;((e)=>{e[e.SUCCESS=200]="SUCCESS";e[e.LOCKED=4000]="LOCKED";e[e.REJECTED=4001]="REJECTED";e[e.UNAUTHORIZED=4100]="UNAUTHORIZED";e[e.UNSUPPORTED_METHOD=4200]="UNSUPPORTED_METHOD";e[e.DISCONNECTED=4900]="DISCONNECTED";e[e.CHAIN_DISCONNECTED=4901]="CHAIN_DISCONNECTED"})(u||={});function f(n=3000){return new Promise((t,o)=>{let r=!1,i=()=>{if(r)return;if(r=!0,window.removeEventListener("tronlink#initialized",i),s)clearTimeout(s);if(window.tronLink)t(window.tronLink);else o(new a("wallet_provider_not_found",{wallet:c.TRONLINK}))};if(window.tronLink){t(window.tronLink);return}window.addEventListener("tronlink#initialized",i,{once:!0});let s=setTimeout(i,n)})}async function W(){try{let n=await f(1000),t=Boolean(n.tronWeb?.defaultAddress?.base58),o=n.ready!==!1,r=Boolean(n.tronWeb&&typeof n.tronWeb.trx==="object"&&typeof n.tronWeb.trx.sign==="function");return!t&&(!o||!r)}catch{return!1}}async function E(n){let t=await n.request({method:"tron_requestAccounts"});if(t==="")throw new a("wallet_tronlink_locked",{message:"TronLink is locked. Please unlock it to continue."});if(t.code!==200)throw new a("wallet_tronlink_request_accounts_failed",{code:t.code,message:`TronLink requestAccounts failed: ${t.message}`})}async function g(n,t){if(n!==L.Tron)throw new a("wallet_chain_not_supported",{chain:n,wallet:c.TRONLINK});let o=await f();await W()&&await E(o);let i=o.tronWeb?.defaultAddress?.base58;if(t)_(t);return{...await N({signer:{getAddress:async()=>i,signTransaction:async(e)=>{return await o.tronWeb.trx.sign(e)}}}),address:i}}function T(n,t){let o=(r)=>{switch(r.data?.message?.action){case"setAccount":{let s=r.data.message.data.address;if(n){n(s);return}window.location.reload();return}case"setNode":{let s=r.data.message.data.node;if(t)t(s.fullNode);window.location.reload();return}default:return}};return window.addEventListener("message",o),()=>window.removeEventListener("message",o)}function _(n){let t=window.tronLink;if(!t)throw new a("wallet_provider_not_found",{wallet:c.TRONLINK});let o=t.tronWeb.fullNode?.host;if(o&&!o.includes(n))throw new a("wallet_failed_to_add_or_switch_network",{currentNetwork:o,expectedNetwork:n,message:`Wrong network. Please switch to ${n} in TronLink.`,wallet:c.TRONLINK})}function m(n=!1){return n?"shasta":"api.trongrid.io"}var S=y({connect:({addChain:n,supportedChains:t,walletType:o})=>async function(i){if(b({chains:i,supportedChains:t,walletType:o}).length===0)throw Error("TronLink wallet only supports Tron chain");let d=m(!1),e=await g(w.Tron,d),p=e.address,h=T((l)=>{if(l!==p)window.location.reload()},(l)=>{if(!l.includes(d))window.location.reload()}),k=()=>{h()};return n({...e,balance:[],chain:w.Tron,disconnect:k,walletType:o}),!0},name:"connectTronLink",supportedChains:[w.Tron],walletType:x.TRONLINK}),q=A(S);export{f as waitForTronLink,_ as verifyNetwork,S as tronlinkWallet,T as setupEventListeners,W as isTronLinkLocked,g as getWalletForChain,m as getExpectedTronNetwork,u as TronLinkResponseCode,q as TRONLINK_SUPPORTED_CHAINS};
2
2
 
3
3
  //# debugId=74D55119FBB869FD64756E2164756E21
4
4
  //# sourceMappingURL=index.js.map
@@ -2,10 +2,10 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/vultisig/index.ts", "../src/vultisig/walletHelpers.ts"],
4
4
  "sourcesContent": [
5
- "import {\n Chain,\n type CosmosChain,\n type EVMChain,\n filterSupportedChains,\n type GenericTransferParams,\n type SubstrateChain,\n SwapKitError,\n type TCLikeChain,\n type UTXOChain,\n UTXOChains,\n WalletOption,\n} from \"@swapkit/helpers\";\n\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\nimport {\n getVultisigAddress,\n getVultisigMethods,\n getVultisigProvider,\n prepareNetworkSwitchCosmos,\n walletTransfer,\n} from \"./walletHelpers\";\n\nexport const vultisigWallet = createWallet({\n connect: ({ addChain, walletType, supportedChains }) =>\n async function connectVultisig(chains: Chain[]) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n\n const promises = filteredChains\n .filter((chain) => chain !== Chain.Cosmos && chain !== Chain.Kujira)\n .map(async (chain) => {\n const address = await getVultisigAddress(chain);\n const walletMethods = await getWalletMethods(chain);\n\n addChain({ ...walletMethods, address, chain, walletType });\n });\n\n const cosmosIncluded = filteredChains.includes(Chain.Cosmos);\n const kujiraIncluded = filteredChains.includes(Chain.Kujira);\n\n // Race condition single cosmos provider exposed.\n if (cosmosIncluded) {\n const addressCosmos = await getVultisigAddress(Chain.Cosmos);\n const walletMethodsCosmos = await getWalletMethods(Chain.Cosmos);\n addChain({ ...walletMethodsCosmos, address: addressCosmos, chain: Chain.Cosmos, walletType });\n }\n if (kujiraIncluded) {\n const addressKujira = await getVultisigAddress(Chain.Kujira);\n const walletMethodsKujira = await getWalletMethods(Chain.Kujira);\n addChain({ ...walletMethodsKujira, address: addressKujira, chain: Chain.Kujira, walletType });\n }\n //--//\n\n await Promise.all(promises);\n\n return true;\n },\n name: \"connectVultisig\",\n supportedChains: [\n Chain.Arbitrum,\n Chain.Avalanche,\n Chain.Base,\n Chain.BinanceSmartChain,\n Chain.Bitcoin,\n Chain.BitcoinCash,\n Chain.Cosmos,\n Chain.Dash,\n Chain.Dogecoin,\n Chain.Ethereum,\n Chain.Kujira,\n Chain.Litecoin,\n Chain.Maya,\n Chain.Optimism,\n Chain.Polkadot,\n Chain.Polygon,\n Chain.Ripple,\n Chain.Solana,\n Chain.THORChain,\n Chain.Zcash,\n ],\n walletType: WalletOption.VULTISIG,\n});\n\nexport const VULTISIG_SUPPORTED_CHAINS = getWalletSupportedChains(vultisigWallet);\n\nasync function getWalletMethods(chain: (typeof VULTISIG_SUPPORTED_CHAINS)[number]) {\n const { match } = await import(\"ts-pattern\");\n return match(chain)\n .with(Chain.Solana, async () => {\n const { getSolanaToolbox } = await import(\"@swapkit/toolboxes/solana\");\n const solanaProvider = window.vultisig?.solana;\n if (!solanaProvider) throw new SwapKitError(\"wallet_vultisig_not_found\");\n const toolbox = await getSolanaToolbox({ signer: solanaProvider });\n return { ...toolbox };\n })\n\n .with(Chain.Maya, Chain.THORChain, async () => {\n const { getCosmosToolbox, THORCHAIN_GAS_VALUE, MAYA_GAS_VALUE } = await import(\"@swapkit/toolboxes/cosmos\");\n const gasLimit = chain === Chain.Maya ? MAYA_GAS_VALUE : THORCHAIN_GAS_VALUE;\n const toolbox = await getCosmosToolbox(chain as Exclude<CosmosChain, TCLikeChain>);\n return {\n ...toolbox,\n deposit: (tx: GenericTransferParams) => walletTransfer({ ...tx, recipient: \"\" }, \"deposit_transaction\"),\n transfer: (tx: GenericTransferParams) => walletTransfer({ ...tx, gasLimit }, \"send_transaction\"),\n };\n })\n\n .with(Chain.Cosmos, Chain.Kujira, async () => {\n const { getCosmosToolbox } = await import(\"@swapkit/toolboxes/cosmos\");\n const provider = await getVultisigProvider(chain as Exclude<CosmosChain, TCLikeChain>);\n const toolbox = await getCosmosToolbox(chain as Exclude<CosmosChain, TCLikeChain>);\n return prepareNetworkSwitchCosmos({ chain, provider, toolbox: { ...toolbox, transfer: walletTransfer } });\n })\n\n .with(...UTXOChains, async () => {\n const { getUtxoToolbox } = await import(\"@swapkit/toolboxes/utxo\");\n const toolbox = await getUtxoToolbox(chain as UTXOChain);\n return { ...toolbox, transfer: walletTransfer };\n })\n\n .with(\n Chain.Arbitrum,\n Chain.Avalanche,\n Chain.Base,\n Chain.BinanceSmartChain,\n Chain.Ethereum,\n Chain.Optimism,\n Chain.Polygon,\n async () => {\n const { prepareNetworkSwitch, switchEVMWalletNetwork } = await import(\"@swapkit/helpers\");\n const { getEvmToolbox } = await import(\"@swapkit/toolboxes/evm\");\n const { BrowserProvider } = await import(\"ethers\");\n const ethereumWindowProvider = await getVultisigProvider(chain as EVMChain);\n\n if (!ethereumWindowProvider) {\n throw new SwapKitError(\"wallet_vultisig_not_found\");\n }\n\n const provider = new BrowserProvider(ethereumWindowProvider, \"any\");\n const signer = await provider.getSigner();\n const toolbox = await getEvmToolbox(chain as EVMChain, { provider, signer });\n const vultisigMethods = getVultisigMethods(provider, chain as EVMChain);\n\n try {\n if (chain !== Chain.Ethereum) {\n const networkParams = toolbox.getNetworkParams();\n await switchEVMWalletNetwork(provider, chain, networkParams);\n }\n } catch (_error) {\n throw new SwapKitError({\n errorKey: \"wallet_failed_to_add_or_switch_network\",\n info: { chain, wallet: WalletOption.VULTISIG },\n });\n }\n\n return prepareNetworkSwitch({ chain, provider, toolbox: { ...toolbox, ...vultisigMethods } });\n },\n )\n\n .with(Chain.Ripple, async () => {\n const { getRippleToolbox } = await import(\"@swapkit/toolboxes/ripple\");\n const toolbox = await getRippleToolbox();\n return { ...toolbox, transfer: walletTransfer };\n })\n\n .with(Chain.Polkadot, async () => {\n const { getSubstrateToolbox } = await import(\"@swapkit/toolboxes/substrate\");\n const toolbox = await getSubstrateToolbox(chain as SubstrateChain);\n return { ...toolbox, transfer: walletTransfer };\n })\n\n .otherwise(async () => null);\n}\n",
5
+ "import {\n Chain,\n type CosmosChain,\n type EVMChain,\n filterSupportedChains,\n type GenericTransferParams,\n type SubstrateChain,\n SwapKitError,\n type TCLikeChain,\n type UTXOChain,\n UTXOChains,\n WalletOption,\n} from \"@swapkit/helpers\";\n\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\nimport {\n getVultisigAddress,\n getVultisigMethods,\n getVultisigProvider,\n prepareNetworkSwitchCosmos,\n walletTransfer,\n} from \"./walletHelpers\";\n\nexport const vultisigWallet = createWallet({\n connect: ({ addChain, walletType, supportedChains }) =>\n async function connectVultisig(chains: Chain[]) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n\n const promises = filteredChains\n .filter((chain) => chain !== Chain.Cosmos && chain !== Chain.Kujira)\n .map(async (chain) => {\n const address = await getVultisigAddress(chain);\n const walletMethods = await getWalletMethods(chain);\n\n addChain({ ...walletMethods, address, chain, walletType });\n });\n\n const cosmosIncluded = filteredChains.includes(Chain.Cosmos);\n const kujiraIncluded = filteredChains.includes(Chain.Kujira);\n\n // Race condition single cosmos provider exposed.\n if (cosmosIncluded) {\n const addressCosmos = await getVultisigAddress(Chain.Cosmos);\n const walletMethodsCosmos = await getWalletMethods(Chain.Cosmos);\n addChain({ ...walletMethodsCosmos, address: addressCosmos, chain: Chain.Cosmos, walletType });\n }\n if (kujiraIncluded) {\n const addressKujira = await getVultisigAddress(Chain.Kujira);\n const walletMethodsKujira = await getWalletMethods(Chain.Kujira);\n addChain({ ...walletMethodsKujira, address: addressKujira, chain: Chain.Kujira, walletType });\n }\n //--//\n\n await Promise.all(promises);\n\n return true;\n },\n name: \"connectVultisig\",\n supportedChains: [\n Chain.Arbitrum,\n Chain.Avalanche,\n Chain.Base,\n Chain.BinanceSmartChain,\n Chain.Bitcoin,\n Chain.BitcoinCash,\n Chain.Cosmos,\n Chain.Dash,\n Chain.Dogecoin,\n Chain.Ethereum,\n Chain.Kujira,\n Chain.Litecoin,\n Chain.Maya,\n Chain.Optimism,\n Chain.Polkadot,\n Chain.Polygon,\n Chain.Ripple,\n Chain.Solana,\n Chain.THORChain,\n Chain.Zcash,\n ],\n walletType: WalletOption.VULTISIG,\n});\n\nexport const VULTISIG_SUPPORTED_CHAINS = getWalletSupportedChains(vultisigWallet);\n\nasync function getWalletMethods(chain: (typeof VULTISIG_SUPPORTED_CHAINS)[number]) {\n const { match } = await import(\"ts-pattern\");\n return match(chain)\n .with(Chain.Solana, async () => {\n const { getSolanaToolbox } = await import(\"@swapkit/toolboxes/solana\");\n const solanaProvider = window.vultisig?.solana;\n if (!solanaProvider) throw new SwapKitError(\"wallet_vultisig_not_found\");\n const toolbox = await getSolanaToolbox({ signer: solanaProvider });\n return { ...toolbox };\n })\n\n .with(Chain.Maya, Chain.THORChain, async () => {\n const { getCosmosToolbox, THORCHAIN_GAS_VALUE, MAYA_GAS_VALUE } = await import(\"@swapkit/toolboxes/cosmos\");\n const gasLimit = chain === Chain.Maya ? MAYA_GAS_VALUE : THORCHAIN_GAS_VALUE;\n const toolbox = await getCosmosToolbox(chain as Exclude<CosmosChain, TCLikeChain | Chain.Harbor>);\n return {\n ...toolbox,\n deposit: (tx: GenericTransferParams) => walletTransfer({ ...tx, recipient: \"\" }, \"deposit_transaction\"),\n transfer: (tx: GenericTransferParams) => walletTransfer({ ...tx, gasLimit }, \"send_transaction\"),\n };\n })\n\n .with(Chain.Cosmos, Chain.Kujira, async () => {\n const { getCosmosToolbox } = await import(\"@swapkit/toolboxes/cosmos\");\n const provider = await getVultisigProvider(chain as Exclude<CosmosChain, TCLikeChain>);\n const toolbox = await getCosmosToolbox(chain as Exclude<CosmosChain, TCLikeChain | Chain.Harbor>);\n return prepareNetworkSwitchCosmos({ chain, provider, toolbox: { ...toolbox, transfer: walletTransfer } });\n })\n\n .with(...UTXOChains, async () => {\n const { getUtxoToolbox } = await import(\"@swapkit/toolboxes/utxo\");\n const toolbox = await getUtxoToolbox(chain as UTXOChain);\n return { ...toolbox, transfer: walletTransfer };\n })\n\n .with(\n Chain.Arbitrum,\n Chain.Avalanche,\n Chain.Base,\n Chain.BinanceSmartChain,\n Chain.Ethereum,\n Chain.Optimism,\n Chain.Polygon,\n async () => {\n const { prepareNetworkSwitch, switchEVMWalletNetwork } = await import(\"@swapkit/helpers\");\n const { getEvmToolbox } = await import(\"@swapkit/toolboxes/evm\");\n const { BrowserProvider } = await import(\"ethers\");\n const ethereumWindowProvider = await getVultisigProvider(chain as EVMChain);\n\n if (!ethereumWindowProvider) {\n throw new SwapKitError(\"wallet_vultisig_not_found\");\n }\n\n const provider = new BrowserProvider(ethereumWindowProvider, \"any\");\n const signer = await provider.getSigner();\n const toolbox = await getEvmToolbox(chain as EVMChain, { provider, signer });\n const vultisigMethods = getVultisigMethods(provider, chain as EVMChain);\n\n try {\n if (chain !== Chain.Ethereum) {\n const networkParams = toolbox.getNetworkParams();\n await switchEVMWalletNetwork(provider, chain, networkParams);\n }\n } catch (_error) {\n throw new SwapKitError({\n errorKey: \"wallet_failed_to_add_or_switch_network\",\n info: { chain, wallet: WalletOption.VULTISIG },\n });\n }\n\n return prepareNetworkSwitch({ chain, provider, toolbox: { ...toolbox, ...vultisigMethods } });\n },\n )\n\n .with(Chain.Ripple, async () => {\n const { getRippleToolbox } = await import(\"@swapkit/toolboxes/ripple\");\n const toolbox = await getRippleToolbox();\n return { ...toolbox, transfer: walletTransfer };\n })\n\n .with(Chain.Polkadot, async () => {\n const { getSubstrateToolbox } = await import(\"@swapkit/toolboxes/substrate\");\n const toolbox = await getSubstrateToolbox(chain as SubstrateChain);\n return { ...toolbox, transfer: walletTransfer };\n })\n\n .otherwise(async () => null);\n}\n",
6
6
  "import {\n type AssetValue,\n Chain,\n ChainId,\n type CosmosChain,\n type EVMChain,\n EVMChains,\n type FeeOption,\n getChainConfig,\n type NetworkParams,\n providerRequest,\n SwapKitError,\n type UTXOChain,\n WalletOption,\n} from \"@swapkit/helpers\";\nimport { erc20ABI } from \"@swapkit/helpers/contracts\";\nimport type { getCosmosToolbox } from \"@swapkit/toolboxes/cosmos\";\nimport type { ApproveParams, CallParams, EVMTxParams } from \"@swapkit/toolboxes/evm\";\nimport type { SolanaProvider } from \"@swapkit/toolboxes/solana\";\nimport type { BrowserProvider, Eip1193Provider } from \"ethers\";\nimport type { VultisigCosmosProvider } from \"../types\";\n\ntype TransactionMethod = \"send_transaction\" | \"deposit_transaction\";\n\ntype TransactionParams = {\n asset: string | { chain: string; symbol: string; ticker: string };\n amount: number | string | { amount: number; decimals?: number };\n decimal?: number;\n to: string;\n data?: string;\n from?: string;\n};\n\nexport type WalletTxParams = {\n feeOptionKey?: FeeOption;\n from?: string;\n memo?: string;\n recipient: string;\n assetValue: AssetValue;\n gasLimit?: string | bigint;\n};\n\ntype VultisigProviderType<T> = T extends typeof Chain.Solana\n ? SolanaProvider\n : T extends Exclude<CosmosChain, typeof Chain.Noble>\n ? VultisigCosmosProvider\n : T extends EVMChain\n ? Eip1193Provider\n : T extends typeof Chain.Maya | typeof Chain.THORChain | typeof Chain.Ripple | typeof Chain.Polkadot | UTXOChain\n ? Eip1193Provider\n : undefined;\n\nexport async function getVultisigProvider<T extends Chain>(chain: T): Promise<VultisigProviderType<T>> {\n if (!window.vultisig) throw new SwapKitError(\"wallet_vultisig_not_found\");\n const { match } = await import(\"ts-pattern\");\n\n return match(chain as Chain)\n .with(...EVMChains, () => window.vultisig?.ethereum as Eip1193Provider)\n .with(Chain.Cosmos, Chain.Kujira, () => window.vultisig?.cosmos as VultisigCosmosProvider)\n .with(Chain.Bitcoin, () => window.vultisig?.bitcoin as Eip1193Provider)\n .with(Chain.BitcoinCash, () => window.vultisig?.bitcoincash as Eip1193Provider)\n .with(Chain.Dash, () => window.vultisig?.dash as Eip1193Provider)\n .with(Chain.Dogecoin, () => window.vultisig?.dogecoin as Eip1193Provider)\n .with(Chain.Litecoin, () => window.vultisig?.litecoin as Eip1193Provider)\n .with(Chain.Solana, () => window.vultisig?.solana as SolanaProvider)\n .with(Chain.THORChain, () => window.vultisig?.thorchain as Eip1193Provider)\n .with(Chain.Maya, () => window.vultisig?.mayachain as Eip1193Provider)\n .with(Chain.Polkadot, () => window.vultisig?.polkadot as Eip1193Provider)\n .with(Chain.Ripple, () => window.vultisig?.ripple as Eip1193Provider)\n .with(Chain.Zcash, () => window.vultisig?.zcash as Eip1193Provider)\n .otherwise(() => undefined) as VultisigProviderType<T>;\n}\n\nasync function transaction({\n method,\n params,\n chain,\n}: {\n method: TransactionMethod;\n params: TransactionParams[];\n chain: Chain;\n}): Promise<string> {\n const client = await getVultisigProvider(chain);\n let finalParams: TransactionParams[] | { from: string; to?: string; value: string; data?: string }[] = params;\n\n if (chain === Chain.Cosmos || chain === Chain.Kujira || chain === Chain.Ripple) {\n finalParams = params.map((p) => ({\n data: p.data as string,\n from: p.from as string,\n to: p.to as string,\n value: (p.amount as { amount: number; decimals?: number }).amount.toString(),\n }));\n }\n\n return new Promise<string>((resolve, reject) => {\n if (client && \"request\" in client) {\n // @ts-expect-error\n client.request({ method, params: finalParams }, (err: string, tx: string) => {\n err ? reject(err) : resolve(tx);\n });\n }\n });\n}\n\nexport async function getVultisigAddress(chain: Chain) {\n try {\n const windowProvider = (await getVultisigProvider(chain)) as Eip1193Provider;\n if (!windowProvider) {\n throw new SwapKitError({ errorKey: \"wallet_provider_not_found\", info: { chain, wallet: WalletOption.VULTISIG } });\n }\n\n if ([Chain.Cosmos, Chain.Kujira].includes(chain as typeof Chain.Cosmos)) {\n const chainId = ChainId[chain];\n\n await windowProvider.request({ method: \"wallet_switch_chain\", params: [{ chainId }] });\n\n let account = await windowProvider.request({ method: \"get_accounts\" });\n if (!account) {\n const connectedAcount = await windowProvider.request({ method: \"request_accounts\" });\n account = connectedAcount[0].address;\n }\n return account;\n }\n\n if (EVMChains.includes(chain as EVMChain)) {\n const { BrowserProvider } = await import(\"ethers\");\n const provider = new BrowserProvider(windowProvider, \"any\");\n const [response] = await providerRequest({ method: \"eth_requestAccounts\", params: [], provider });\n return response;\n }\n\n if (chain === Chain.Solana) {\n const solanaProvider = await getVultisigProvider(Chain.Solana);\n\n const accounts = await solanaProvider.connect();\n return accounts.publicKey.toString();\n }\n\n const accounts = await windowProvider.request({ method: \"request_accounts\", params: [] });\n return accounts[0];\n } catch (_error) {\n throw new SwapKitError({ errorKey: \"wallet_provider_not_found\", info: { chain, wallet: WalletOption.VULTISIG } });\n }\n}\n\nexport async function walletTransfer(\n { assetValue, recipient, memo, gasLimit }: WalletTxParams,\n method: TransactionMethod = \"send_transaction\",\n) {\n if (!assetValue) {\n throw new SwapKitError(\"wallet_vultisig_asset_not_defined\");\n }\n\n /**\n * EVM requires amount to be hex string\n * UTXO/Cosmos requires amount to be number\n */\n\n const from = await getVultisigAddress(assetValue.chain);\n const params = [\n {\n amount: { amount: assetValue.getBaseValue(\"number\"), decimals: assetValue.decimal },\n asset: {\n chain: assetValue.chain,\n symbol: assetValue.symbol.toUpperCase(),\n ticker: assetValue.symbol.toUpperCase(),\n },\n data: memo || \"\",\n from,\n gasLimit,\n to: recipient,\n },\n ];\n\n return transaction({ chain: assetValue.chain, method, params });\n}\n\nexport function getVultisigMethods(provider: BrowserProvider, chain: EVMChain) {\n return {\n approve: async ({ assetAddress, spenderAddress, amount, from }: ApproveParams) => {\n const { MAX_APPROVAL, getCreateContractTxObject } = await import(\"@swapkit/toolboxes/evm\");\n const funcParams = [spenderAddress, BigInt(amount || MAX_APPROVAL)];\n const txOverrides = { from };\n\n const functionCallParams = {\n abi: erc20ABI,\n contractAddress: assetAddress,\n funcName: \"approve\",\n funcParams,\n txOverrides,\n };\n\n const createTx = getCreateContractTxObject({ chain, provider });\n const { value, to, data } = await createTx(functionCallParams);\n\n const signer = await provider.getSigner();\n const tx = await signer.sendTransaction({ data: data || \"0x\", from, to, value: BigInt(value || 0) });\n return tx.hash;\n },\n call: async <T>({ contractAddress, abi, funcName, funcParams = [], txOverrides }: CallParams): Promise<T> => {\n if (!contractAddress) {\n throw new SwapKitError(\"wallet_vultisig_contract_address_not_provided\");\n }\n const { createContract, getCreateContractTxObject, isStateChangingCall } = await import(\"@swapkit/toolboxes/evm\");\n\n const isStateChanging = isStateChangingCall({ abi, funcName });\n\n if (isStateChanging) {\n const createTx = getCreateContractTxObject({ chain, provider });\n const { value, from, to, data } = await createTx({ abi, contractAddress, funcName, funcParams, txOverrides });\n\n const signer = await provider.getSigner();\n const tx = await signer.sendTransaction({ data: data || \"0x\", from, to, value: BigInt(value || 0) });\n return tx.hash as T;\n }\n const contract = createContract(contractAddress, abi, provider);\n\n const result = await contract[funcName]?.(...funcParams);\n\n return typeof result?.hash === \"string\" ? result?.hash : result;\n },\n sendTransaction: async (txParams: EVMTxParams) => {\n const { from, to, data, value } = txParams;\n if (!to) {\n throw new SwapKitError(\"wallet_vultisig_send_transaction_no_address\");\n }\n\n const signer = await provider.getSigner();\n const tx = await signer.sendTransaction({ data: data || \"0x\", from, to, value: BigInt(value || 0) });\n return tx.hash;\n },\n };\n}\n\nexport async function switchCosmosWalletNetwork(\n provider: VultisigCosmosProvider,\n chain: Exclude<CosmosChain, typeof Chain.Noble>,\n networkParams?: NetworkParams,\n) {\n try {\n await provider.request({ method: \"wallet_switch_chain\", params: [{ chainId: getChainConfig(chain).chainId }] });\n } catch (error) {\n if (!networkParams) {\n throw new SwapKitError(\"helpers_failed_to_switch_network\", {\n error: error,\n reason: \"networkParams not provided\",\n });\n }\n }\n}\n\nexport function wrapMethodWithNetworkSwitch<T extends (...args: any[]) => any>(\n func: T,\n provider: VultisigCosmosProvider,\n chain: Exclude<CosmosChain, typeof Chain.Noble>,\n) {\n return (async (...args: any[]) => {\n try {\n await switchCosmosWalletNetwork(provider, chain);\n } catch (error) {\n throw new SwapKitError({ errorKey: \"helpers_failed_to_switch_network\", info: { error } });\n }\n return func(...args);\n }) as unknown as T;\n}\n\nexport function prepareNetworkSwitchCosmos<T extends Awaited<ReturnType<typeof getCosmosToolbox>>, M extends keyof T>({\n toolbox,\n chain,\n provider = window.ethereum,\n methodNames = [],\n}: {\n toolbox: T;\n chain: Chain;\n provider?: VultisigCosmosProvider;\n methodNames?: M[];\n}) {\n const methodsToWrap = [...methodNames, \"transfer\", \"getAddress\", \"getBalance\"] as M[];\n const wrappedMethods = methodsToWrap.reduce((object, methodName) => {\n if (!toolbox[methodName]) return object;\n\n const method = toolbox[methodName];\n\n if (typeof method !== \"function\") return object;\n\n // @ts-expect-error\n const wrappedMethod = wrapMethodWithNetworkSwitch(method, provider, chain);\n\n // biome-ignore lint/performance/noAccumulatingSpread: valid use case\n return { ...object, [methodName]: wrappedMethod };\n }, {});\n\n return { ...toolbox, ...wrappedMethods };\n}\n"
7
7
  ],
8
- "mappings": "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",
8
+ "mappings": "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",
9
9
  "debugId": "F314AE2A0E4B604D64756E2164756E21",
10
10
  "names": []
11
11
  }
@@ -1,4 +1,4 @@
1
- import{F as B,G as H}from"../../chunk-fxqrst6z.js";import{Chain as D,filterSupportedChains as C,SwapKitError as M,UTXOChains as p,WalletOption as V}from"@swapkit/helpers";import{createWallet as d,getWalletSupportedChains as l}from"@swapkit/wallet-core";import{Chain as Y,ChainId as b,EVMChains as A,getChainConfig as x,providerRequest as g,SwapKitError as _,WalletOption as k}from"@swapkit/helpers";import{erc20ABI as v}from"@swapkit/helpers/contracts";async function y(z){if(!window.vultisig)throw new _("wallet_vultisig_not_found");let{match:Z}=await import("ts-pattern");return Z(z).with(...A,()=>window.vultisig?.ethereum).with(Y.Cosmos,Y.Kujira,()=>window.vultisig?.cosmos).with(Y.Bitcoin,()=>window.vultisig?.bitcoin).with(Y.BitcoinCash,()=>window.vultisig?.bitcoincash).with(Y.Dash,()=>window.vultisig?.dash).with(Y.Dogecoin,()=>window.vultisig?.dogecoin).with(Y.Litecoin,()=>window.vultisig?.litecoin).with(Y.Solana,()=>window.vultisig?.solana).with(Y.THORChain,()=>window.vultisig?.thorchain).with(Y.Maya,()=>window.vultisig?.mayachain).with(Y.Polkadot,()=>window.vultisig?.polkadot).with(Y.Ripple,()=>window.vultisig?.ripple).with(Y.Zcash,()=>window.vultisig?.zcash).otherwise(()=>{return})}async function u({method:z,params:Z,chain:F}){let J=await y(F),Q=Z;if(F===Y.Cosmos||F===Y.Kujira||F===Y.Ripple)Q=Z.map(($)=>({data:$.data,from:$.from,to:$.to,value:$.amount.amount.toString()}));return new Promise(($,G)=>{if(J&&"request"in J)J.request({method:z,params:Q},(q,U)=>{q?G(q):$(U)})})}async function j(z){try{let Z=await y(z);if(!Z)throw new _({errorKey:"wallet_provider_not_found",info:{chain:z,wallet:k.VULTISIG}});if([Y.Cosmos,Y.Kujira].includes(z)){let J=b[z];await Z.request({method:"wallet_switch_chain",params:[{chainId:J}]});let Q=await Z.request({method:"get_accounts"});if(!Q)Q=(await Z.request({method:"request_accounts"}))[0].address;return Q}if(A.includes(z)){let{BrowserProvider:J}=await import("ethers"),Q=new J(Z,"any"),[$]=await g({method:"eth_requestAccounts",params:[],provider:Q});return $}if(z===Y.Solana)return(await(await y(Y.Solana)).connect()).publicKey.toString();return(await Z.request({method:"request_accounts",params:[]}))[0]}catch(Z){throw new _({errorKey:"wallet_provider_not_found",info:{chain:z,wallet:k.VULTISIG}})}}async function L({assetValue:z,recipient:Z,memo:F,gasLimit:J},Q="send_transaction"){if(!z)throw new _("wallet_vultisig_asset_not_defined");let $=await j(z.chain),G=[{amount:{amount:z.getBaseValue("number"),decimals:z.decimal},asset:{chain:z.chain,symbol:z.symbol.toUpperCase(),ticker:z.symbol.toUpperCase()},data:F||"",from:$,gasLimit:J,to:Z}];return u({chain:z.chain,method:Q,params:G})}function T(z,Z){return{approve:async({assetAddress:F,spenderAddress:J,amount:Q,from:$})=>{let{MAX_APPROVAL:G,getCreateContractTxObject:q}=await import("@swapkit/toolboxes/evm"),U=[J,BigInt(Q||G)],R={abi:v,contractAddress:F,funcName:"approve",funcParams:U,txOverrides:{from:$}},I=q({chain:Z,provider:z}),{value:O,to:K,data:W}=await I(R);return(await(await z.getSigner()).sendTransaction({data:W||"0x",from:$,to:K,value:BigInt(O||0)})).hash},call:async({contractAddress:F,abi:J,funcName:Q,funcParams:$=[],txOverrides:G})=>{if(!F)throw new _("wallet_vultisig_contract_address_not_provided");let{createContract:q,getCreateContractTxObject:U,isStateChangingCall:X}=await import("@swapkit/toolboxes/evm");if(X({abi:J,funcName:Q})){let K=U({chain:Z,provider:z}),{value:W,from:N,to:S,data:f}=await K({abi:J,contractAddress:F,funcName:Q,funcParams:$,txOverrides:G});return(await(await z.getSigner()).sendTransaction({data:f||"0x",from:N,to:S,value:BigInt(W||0)})).hash}let O=await q(F,J,z)[Q]?.(...$);return typeof O?.hash==="string"?O?.hash:O},sendTransaction:async(F)=>{let{from:J,to:Q,data:$,value:G}=F;if(!Q)throw new _("wallet_vultisig_send_transaction_no_address");return(await(await z.getSigner()).sendTransaction({data:$||"0x",from:J,to:Q,value:BigInt(G||0)})).hash}}}async function w(z,Z,F){try{await z.request({method:"wallet_switch_chain",params:[{chainId:x(Z).chainId}]})}catch(J){if(!F)throw new _("helpers_failed_to_switch_network",{error:J,reason:"networkParams not provided"})}}function m(z,Z,F){return async(...J)=>{try{await w(Z,F)}catch(Q){throw new _({errorKey:"helpers_failed_to_switch_network",info:{error:Q}})}return z(...J)}}function P({toolbox:z,chain:Z,provider:F=window.ethereum,methodNames:J=[]}){let $=[...J,"transfer","getAddress","getBalance"].reduce((G,q)=>{if(!z[q])return G;let U=z[q];if(typeof U!=="function")return G;let X=m(U,F,Z);return{...G,[q]:X}},{});return{...z,...$}}var c=d({connect:({addChain:z,walletType:Z,supportedChains:F})=>async function(Q){let $=C({chains:Q,supportedChains:F,walletType:Z}),G=$.filter((X)=>X!==D.Cosmos&&X!==D.Kujira).map(async(X)=>{let R=await j(X),I=await E(X);z({...I,address:R,chain:X,walletType:Z})}),q=$.includes(D.Cosmos),U=$.includes(D.Kujira);if(q){let X=await j(D.Cosmos),R=await E(D.Cosmos);z({...R,address:X,chain:D.Cosmos,walletType:Z})}if(U){let X=await j(D.Kujira),R=await E(D.Kujira);z({...R,address:X,chain:D.Kujira,walletType:Z})}return await Promise.all(G),!0},name:"connectVultisig",supportedChains:[D.Arbitrum,D.Avalanche,D.Base,D.BinanceSmartChain,D.Bitcoin,D.BitcoinCash,D.Cosmos,D.Dash,D.Dogecoin,D.Ethereum,D.Kujira,D.Litecoin,D.Maya,D.Optimism,D.Polkadot,D.Polygon,D.Ripple,D.Solana,D.THORChain,D.Zcash],walletType:V.VULTISIG}),a=l(c);async function E(z){let{match:Z}=await import("ts-pattern");return Z(z).with(D.Solana,async()=>{let{getSolanaToolbox:F}=await import("@swapkit/toolboxes/solana"),J=window.vultisig?.solana;if(!J)throw new M("wallet_vultisig_not_found");return{...await F({signer:J})}}).with(D.Maya,D.THORChain,async()=>{let{getCosmosToolbox:F,THORCHAIN_GAS_VALUE:J,MAYA_GAS_VALUE:Q}=await import("@swapkit/toolboxes/cosmos"),$=z===D.Maya?Q:J;return{...await F(z),deposit:(q)=>L({...q,recipient:""},"deposit_transaction"),transfer:(q)=>L({...q,gasLimit:$},"send_transaction")}}).with(D.Cosmos,D.Kujira,async()=>{let{getCosmosToolbox:F}=await import("@swapkit/toolboxes/cosmos"),J=await y(z),Q=await F(z);return P({chain:z,provider:J,toolbox:{...Q,transfer:L}})}).with(...p,async()=>{let{getUtxoToolbox:F}=await import("@swapkit/toolboxes/utxo");return{...await F(z),transfer:L}}).with(D.Arbitrum,D.Avalanche,D.Base,D.BinanceSmartChain,D.Ethereum,D.Optimism,D.Polygon,async()=>{let{prepareNetworkSwitch:F,switchEVMWalletNetwork:J}=await import("@swapkit/helpers"),{getEvmToolbox:Q}=await import("@swapkit/toolboxes/evm"),{BrowserProvider:$}=await import("ethers"),G=await y(z);if(!G)throw new M("wallet_vultisig_not_found");let q=new $(G,"any"),U=await q.getSigner(),X=await Q(z,{provider:q,signer:U}),R=T(q,z);try{if(z!==D.Ethereum){let I=X.getNetworkParams();await J(q,z,I)}}catch(I){throw new M({errorKey:"wallet_failed_to_add_or_switch_network",info:{chain:z,wallet:V.VULTISIG}})}return F({chain:z,provider:q,toolbox:{...X,...R}})}).with(D.Ripple,async()=>{let{getRippleToolbox:F}=await import("@swapkit/toolboxes/ripple");return{...await F(),transfer:L}}).with(D.Polkadot,async()=>{let{getSubstrateToolbox:F}=await import("@swapkit/toolboxes/substrate");return{...await F(z),transfer:L}}).otherwise(async()=>null)}export{c as vultisigWallet,a as VULTISIG_SUPPORTED_CHAINS};
1
+ import{F as B,G as H}from"../../chunk-jgq4njag.js";import{Chain as D,filterSupportedChains as C,SwapKitError as M,UTXOChains as p,WalletOption as V}from"@swapkit/helpers";import{createWallet as d,getWalletSupportedChains as l}from"@swapkit/wallet-core";import{Chain as Y,ChainId as b,EVMChains as A,getChainConfig as x,providerRequest as g,SwapKitError as _,WalletOption as k}from"@swapkit/helpers";import{erc20ABI as v}from"@swapkit/helpers/contracts";async function y(z){if(!window.vultisig)throw new _("wallet_vultisig_not_found");let{match:Z}=await import("ts-pattern");return Z(z).with(...A,()=>window.vultisig?.ethereum).with(Y.Cosmos,Y.Kujira,()=>window.vultisig?.cosmos).with(Y.Bitcoin,()=>window.vultisig?.bitcoin).with(Y.BitcoinCash,()=>window.vultisig?.bitcoincash).with(Y.Dash,()=>window.vultisig?.dash).with(Y.Dogecoin,()=>window.vultisig?.dogecoin).with(Y.Litecoin,()=>window.vultisig?.litecoin).with(Y.Solana,()=>window.vultisig?.solana).with(Y.THORChain,()=>window.vultisig?.thorchain).with(Y.Maya,()=>window.vultisig?.mayachain).with(Y.Polkadot,()=>window.vultisig?.polkadot).with(Y.Ripple,()=>window.vultisig?.ripple).with(Y.Zcash,()=>window.vultisig?.zcash).otherwise(()=>{return})}async function u({method:z,params:Z,chain:F}){let J=await y(F),Q=Z;if(F===Y.Cosmos||F===Y.Kujira||F===Y.Ripple)Q=Z.map(($)=>({data:$.data,from:$.from,to:$.to,value:$.amount.amount.toString()}));return new Promise(($,G)=>{if(J&&"request"in J)J.request({method:z,params:Q},(q,U)=>{q?G(q):$(U)})})}async function j(z){try{let Z=await y(z);if(!Z)throw new _({errorKey:"wallet_provider_not_found",info:{chain:z,wallet:k.VULTISIG}});if([Y.Cosmos,Y.Kujira].includes(z)){let J=b[z];await Z.request({method:"wallet_switch_chain",params:[{chainId:J}]});let Q=await Z.request({method:"get_accounts"});if(!Q)Q=(await Z.request({method:"request_accounts"}))[0].address;return Q}if(A.includes(z)){let{BrowserProvider:J}=await import("ethers"),Q=new J(Z,"any"),[$]=await g({method:"eth_requestAccounts",params:[],provider:Q});return $}if(z===Y.Solana)return(await(await y(Y.Solana)).connect()).publicKey.toString();return(await Z.request({method:"request_accounts",params:[]}))[0]}catch(Z){throw new _({errorKey:"wallet_provider_not_found",info:{chain:z,wallet:k.VULTISIG}})}}async function L({assetValue:z,recipient:Z,memo:F,gasLimit:J},Q="send_transaction"){if(!z)throw new _("wallet_vultisig_asset_not_defined");let $=await j(z.chain),G=[{amount:{amount:z.getBaseValue("number"),decimals:z.decimal},asset:{chain:z.chain,symbol:z.symbol.toUpperCase(),ticker:z.symbol.toUpperCase()},data:F||"",from:$,gasLimit:J,to:Z}];return u({chain:z.chain,method:Q,params:G})}function T(z,Z){return{approve:async({assetAddress:F,spenderAddress:J,amount:Q,from:$})=>{let{MAX_APPROVAL:G,getCreateContractTxObject:q}=await import("@swapkit/toolboxes/evm"),U=[J,BigInt(Q||G)],R={abi:v,contractAddress:F,funcName:"approve",funcParams:U,txOverrides:{from:$}},I=q({chain:Z,provider:z}),{value:O,to:K,data:W}=await I(R);return(await(await z.getSigner()).sendTransaction({data:W||"0x",from:$,to:K,value:BigInt(O||0)})).hash},call:async({contractAddress:F,abi:J,funcName:Q,funcParams:$=[],txOverrides:G})=>{if(!F)throw new _("wallet_vultisig_contract_address_not_provided");let{createContract:q,getCreateContractTxObject:U,isStateChangingCall:X}=await import("@swapkit/toolboxes/evm");if(X({abi:J,funcName:Q})){let K=U({chain:Z,provider:z}),{value:W,from:N,to:S,data:f}=await K({abi:J,contractAddress:F,funcName:Q,funcParams:$,txOverrides:G});return(await(await z.getSigner()).sendTransaction({data:f||"0x",from:N,to:S,value:BigInt(W||0)})).hash}let O=await q(F,J,z)[Q]?.(...$);return typeof O?.hash==="string"?O?.hash:O},sendTransaction:async(F)=>{let{from:J,to:Q,data:$,value:G}=F;if(!Q)throw new _("wallet_vultisig_send_transaction_no_address");return(await(await z.getSigner()).sendTransaction({data:$||"0x",from:J,to:Q,value:BigInt(G||0)})).hash}}}async function w(z,Z,F){try{await z.request({method:"wallet_switch_chain",params:[{chainId:x(Z).chainId}]})}catch(J){if(!F)throw new _("helpers_failed_to_switch_network",{error:J,reason:"networkParams not provided"})}}function m(z,Z,F){return async(...J)=>{try{await w(Z,F)}catch(Q){throw new _({errorKey:"helpers_failed_to_switch_network",info:{error:Q}})}return z(...J)}}function P({toolbox:z,chain:Z,provider:F=window.ethereum,methodNames:J=[]}){let $=[...J,"transfer","getAddress","getBalance"].reduce((G,q)=>{if(!z[q])return G;let U=z[q];if(typeof U!=="function")return G;let X=m(U,F,Z);return{...G,[q]:X}},{});return{...z,...$}}var c=d({connect:({addChain:z,walletType:Z,supportedChains:F})=>async function(Q){let $=C({chains:Q,supportedChains:F,walletType:Z}),G=$.filter((X)=>X!==D.Cosmos&&X!==D.Kujira).map(async(X)=>{let R=await j(X),I=await E(X);z({...I,address:R,chain:X,walletType:Z})}),q=$.includes(D.Cosmos),U=$.includes(D.Kujira);if(q){let X=await j(D.Cosmos),R=await E(D.Cosmos);z({...R,address:X,chain:D.Cosmos,walletType:Z})}if(U){let X=await j(D.Kujira),R=await E(D.Kujira);z({...R,address:X,chain:D.Kujira,walletType:Z})}return await Promise.all(G),!0},name:"connectVultisig",supportedChains:[D.Arbitrum,D.Avalanche,D.Base,D.BinanceSmartChain,D.Bitcoin,D.BitcoinCash,D.Cosmos,D.Dash,D.Dogecoin,D.Ethereum,D.Kujira,D.Litecoin,D.Maya,D.Optimism,D.Polkadot,D.Polygon,D.Ripple,D.Solana,D.THORChain,D.Zcash],walletType:V.VULTISIG}),a=l(c);async function E(z){let{match:Z}=await import("ts-pattern");return Z(z).with(D.Solana,async()=>{let{getSolanaToolbox:F}=await import("@swapkit/toolboxes/solana"),J=window.vultisig?.solana;if(!J)throw new M("wallet_vultisig_not_found");return{...await F({signer:J})}}).with(D.Maya,D.THORChain,async()=>{let{getCosmosToolbox:F,THORCHAIN_GAS_VALUE:J,MAYA_GAS_VALUE:Q}=await import("@swapkit/toolboxes/cosmos"),$=z===D.Maya?Q:J;return{...await F(z),deposit:(q)=>L({...q,recipient:""},"deposit_transaction"),transfer:(q)=>L({...q,gasLimit:$},"send_transaction")}}).with(D.Cosmos,D.Kujira,async()=>{let{getCosmosToolbox:F}=await import("@swapkit/toolboxes/cosmos"),J=await y(z),Q=await F(z);return P({chain:z,provider:J,toolbox:{...Q,transfer:L}})}).with(...p,async()=>{let{getUtxoToolbox:F}=await import("@swapkit/toolboxes/utxo");return{...await F(z),transfer:L}}).with(D.Arbitrum,D.Avalanche,D.Base,D.BinanceSmartChain,D.Ethereum,D.Optimism,D.Polygon,async()=>{let{prepareNetworkSwitch:F,switchEVMWalletNetwork:J}=await import("@swapkit/helpers"),{getEvmToolbox:Q}=await import("@swapkit/toolboxes/evm"),{BrowserProvider:$}=await import("ethers"),G=await y(z);if(!G)throw new M("wallet_vultisig_not_found");let q=new $(G,"any"),U=await q.getSigner(),X=await Q(z,{provider:q,signer:U}),R=T(q,z);try{if(z!==D.Ethereum){let I=X.getNetworkParams();await J(q,z,I)}}catch(I){throw new M({errorKey:"wallet_failed_to_add_or_switch_network",info:{chain:z,wallet:V.VULTISIG}})}return F({chain:z,provider:q,toolbox:{...X,...R}})}).with(D.Ripple,async()=>{let{getRippleToolbox:F}=await import("@swapkit/toolboxes/ripple");return{...await F(),transfer:L}}).with(D.Polkadot,async()=>{let{getSubstrateToolbox:F}=await import("@swapkit/toolboxes/substrate");return{...await F(z),transfer:L}}).otherwise(async()=>null)}export{c as vultisigWallet,a as VULTISIG_SUPPORTED_CHAINS};
2
2
 
3
3
  //# debugId=92CC6136B3F8F33164756E2164756E21
4
4
  //# sourceMappingURL=index.js.map
@@ -2,10 +2,10 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/vultisig/index.ts", "../src/vultisig/walletHelpers.ts"],
4
4
  "sourcesContent": [
5
- "import {\n Chain,\n type CosmosChain,\n type EVMChain,\n filterSupportedChains,\n type GenericTransferParams,\n type SubstrateChain,\n SwapKitError,\n type TCLikeChain,\n type UTXOChain,\n UTXOChains,\n WalletOption,\n} from \"@swapkit/helpers\";\n\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\nimport {\n getVultisigAddress,\n getVultisigMethods,\n getVultisigProvider,\n prepareNetworkSwitchCosmos,\n walletTransfer,\n} from \"./walletHelpers\";\n\nexport const vultisigWallet = createWallet({\n connect: ({ addChain, walletType, supportedChains }) =>\n async function connectVultisig(chains: Chain[]) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n\n const promises = filteredChains\n .filter((chain) => chain !== Chain.Cosmos && chain !== Chain.Kujira)\n .map(async (chain) => {\n const address = await getVultisigAddress(chain);\n const walletMethods = await getWalletMethods(chain);\n\n addChain({ ...walletMethods, address, chain, walletType });\n });\n\n const cosmosIncluded = filteredChains.includes(Chain.Cosmos);\n const kujiraIncluded = filteredChains.includes(Chain.Kujira);\n\n // Race condition single cosmos provider exposed.\n if (cosmosIncluded) {\n const addressCosmos = await getVultisigAddress(Chain.Cosmos);\n const walletMethodsCosmos = await getWalletMethods(Chain.Cosmos);\n addChain({ ...walletMethodsCosmos, address: addressCosmos, chain: Chain.Cosmos, walletType });\n }\n if (kujiraIncluded) {\n const addressKujira = await getVultisigAddress(Chain.Kujira);\n const walletMethodsKujira = await getWalletMethods(Chain.Kujira);\n addChain({ ...walletMethodsKujira, address: addressKujira, chain: Chain.Kujira, walletType });\n }\n //--//\n\n await Promise.all(promises);\n\n return true;\n },\n name: \"connectVultisig\",\n supportedChains: [\n Chain.Arbitrum,\n Chain.Avalanche,\n Chain.Base,\n Chain.BinanceSmartChain,\n Chain.Bitcoin,\n Chain.BitcoinCash,\n Chain.Cosmos,\n Chain.Dash,\n Chain.Dogecoin,\n Chain.Ethereum,\n Chain.Kujira,\n Chain.Litecoin,\n Chain.Maya,\n Chain.Optimism,\n Chain.Polkadot,\n Chain.Polygon,\n Chain.Ripple,\n Chain.Solana,\n Chain.THORChain,\n Chain.Zcash,\n ],\n walletType: WalletOption.VULTISIG,\n});\n\nexport const VULTISIG_SUPPORTED_CHAINS = getWalletSupportedChains(vultisigWallet);\n\nasync function getWalletMethods(chain: (typeof VULTISIG_SUPPORTED_CHAINS)[number]) {\n const { match } = await import(\"ts-pattern\");\n return match(chain)\n .with(Chain.Solana, async () => {\n const { getSolanaToolbox } = await import(\"@swapkit/toolboxes/solana\");\n const solanaProvider = window.vultisig?.solana;\n if (!solanaProvider) throw new SwapKitError(\"wallet_vultisig_not_found\");\n const toolbox = await getSolanaToolbox({ signer: solanaProvider });\n return { ...toolbox };\n })\n\n .with(Chain.Maya, Chain.THORChain, async () => {\n const { getCosmosToolbox, THORCHAIN_GAS_VALUE, MAYA_GAS_VALUE } = await import(\"@swapkit/toolboxes/cosmos\");\n const gasLimit = chain === Chain.Maya ? MAYA_GAS_VALUE : THORCHAIN_GAS_VALUE;\n const toolbox = await getCosmosToolbox(chain as Exclude<CosmosChain, TCLikeChain>);\n return {\n ...toolbox,\n deposit: (tx: GenericTransferParams) => walletTransfer({ ...tx, recipient: \"\" }, \"deposit_transaction\"),\n transfer: (tx: GenericTransferParams) => walletTransfer({ ...tx, gasLimit }, \"send_transaction\"),\n };\n })\n\n .with(Chain.Cosmos, Chain.Kujira, async () => {\n const { getCosmosToolbox } = await import(\"@swapkit/toolboxes/cosmos\");\n const provider = await getVultisigProvider(chain as Exclude<CosmosChain, TCLikeChain>);\n const toolbox = await getCosmosToolbox(chain as Exclude<CosmosChain, TCLikeChain>);\n return prepareNetworkSwitchCosmos({ chain, provider, toolbox: { ...toolbox, transfer: walletTransfer } });\n })\n\n .with(...UTXOChains, async () => {\n const { getUtxoToolbox } = await import(\"@swapkit/toolboxes/utxo\");\n const toolbox = await getUtxoToolbox(chain as UTXOChain);\n return { ...toolbox, transfer: walletTransfer };\n })\n\n .with(\n Chain.Arbitrum,\n Chain.Avalanche,\n Chain.Base,\n Chain.BinanceSmartChain,\n Chain.Ethereum,\n Chain.Optimism,\n Chain.Polygon,\n async () => {\n const { prepareNetworkSwitch, switchEVMWalletNetwork } = await import(\"@swapkit/helpers\");\n const { getEvmToolbox } = await import(\"@swapkit/toolboxes/evm\");\n const { BrowserProvider } = await import(\"ethers\");\n const ethereumWindowProvider = await getVultisigProvider(chain as EVMChain);\n\n if (!ethereumWindowProvider) {\n throw new SwapKitError(\"wallet_vultisig_not_found\");\n }\n\n const provider = new BrowserProvider(ethereumWindowProvider, \"any\");\n const signer = await provider.getSigner();\n const toolbox = await getEvmToolbox(chain as EVMChain, { provider, signer });\n const vultisigMethods = getVultisigMethods(provider, chain as EVMChain);\n\n try {\n if (chain !== Chain.Ethereum) {\n const networkParams = toolbox.getNetworkParams();\n await switchEVMWalletNetwork(provider, chain, networkParams);\n }\n } catch (_error) {\n throw new SwapKitError({\n errorKey: \"wallet_failed_to_add_or_switch_network\",\n info: { chain, wallet: WalletOption.VULTISIG },\n });\n }\n\n return prepareNetworkSwitch({ chain, provider, toolbox: { ...toolbox, ...vultisigMethods } });\n },\n )\n\n .with(Chain.Ripple, async () => {\n const { getRippleToolbox } = await import(\"@swapkit/toolboxes/ripple\");\n const toolbox = await getRippleToolbox();\n return { ...toolbox, transfer: walletTransfer };\n })\n\n .with(Chain.Polkadot, async () => {\n const { getSubstrateToolbox } = await import(\"@swapkit/toolboxes/substrate\");\n const toolbox = await getSubstrateToolbox(chain as SubstrateChain);\n return { ...toolbox, transfer: walletTransfer };\n })\n\n .otherwise(async () => null);\n}\n",
5
+ "import {\n Chain,\n type CosmosChain,\n type EVMChain,\n filterSupportedChains,\n type GenericTransferParams,\n type SubstrateChain,\n SwapKitError,\n type TCLikeChain,\n type UTXOChain,\n UTXOChains,\n WalletOption,\n} from \"@swapkit/helpers\";\n\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\nimport {\n getVultisigAddress,\n getVultisigMethods,\n getVultisigProvider,\n prepareNetworkSwitchCosmos,\n walletTransfer,\n} from \"./walletHelpers\";\n\nexport const vultisigWallet = createWallet({\n connect: ({ addChain, walletType, supportedChains }) =>\n async function connectVultisig(chains: Chain[]) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n\n const promises = filteredChains\n .filter((chain) => chain !== Chain.Cosmos && chain !== Chain.Kujira)\n .map(async (chain) => {\n const address = await getVultisigAddress(chain);\n const walletMethods = await getWalletMethods(chain);\n\n addChain({ ...walletMethods, address, chain, walletType });\n });\n\n const cosmosIncluded = filteredChains.includes(Chain.Cosmos);\n const kujiraIncluded = filteredChains.includes(Chain.Kujira);\n\n // Race condition single cosmos provider exposed.\n if (cosmosIncluded) {\n const addressCosmos = await getVultisigAddress(Chain.Cosmos);\n const walletMethodsCosmos = await getWalletMethods(Chain.Cosmos);\n addChain({ ...walletMethodsCosmos, address: addressCosmos, chain: Chain.Cosmos, walletType });\n }\n if (kujiraIncluded) {\n const addressKujira = await getVultisigAddress(Chain.Kujira);\n const walletMethodsKujira = await getWalletMethods(Chain.Kujira);\n addChain({ ...walletMethodsKujira, address: addressKujira, chain: Chain.Kujira, walletType });\n }\n //--//\n\n await Promise.all(promises);\n\n return true;\n },\n name: \"connectVultisig\",\n supportedChains: [\n Chain.Arbitrum,\n Chain.Avalanche,\n Chain.Base,\n Chain.BinanceSmartChain,\n Chain.Bitcoin,\n Chain.BitcoinCash,\n Chain.Cosmos,\n Chain.Dash,\n Chain.Dogecoin,\n Chain.Ethereum,\n Chain.Kujira,\n Chain.Litecoin,\n Chain.Maya,\n Chain.Optimism,\n Chain.Polkadot,\n Chain.Polygon,\n Chain.Ripple,\n Chain.Solana,\n Chain.THORChain,\n Chain.Zcash,\n ],\n walletType: WalletOption.VULTISIG,\n});\n\nexport const VULTISIG_SUPPORTED_CHAINS = getWalletSupportedChains(vultisigWallet);\n\nasync function getWalletMethods(chain: (typeof VULTISIG_SUPPORTED_CHAINS)[number]) {\n const { match } = await import(\"ts-pattern\");\n return match(chain)\n .with(Chain.Solana, async () => {\n const { getSolanaToolbox } = await import(\"@swapkit/toolboxes/solana\");\n const solanaProvider = window.vultisig?.solana;\n if (!solanaProvider) throw new SwapKitError(\"wallet_vultisig_not_found\");\n const toolbox = await getSolanaToolbox({ signer: solanaProvider });\n return { ...toolbox };\n })\n\n .with(Chain.Maya, Chain.THORChain, async () => {\n const { getCosmosToolbox, THORCHAIN_GAS_VALUE, MAYA_GAS_VALUE } = await import(\"@swapkit/toolboxes/cosmos\");\n const gasLimit = chain === Chain.Maya ? MAYA_GAS_VALUE : THORCHAIN_GAS_VALUE;\n const toolbox = await getCosmosToolbox(chain as Exclude<CosmosChain, TCLikeChain | Chain.Harbor>);\n return {\n ...toolbox,\n deposit: (tx: GenericTransferParams) => walletTransfer({ ...tx, recipient: \"\" }, \"deposit_transaction\"),\n transfer: (tx: GenericTransferParams) => walletTransfer({ ...tx, gasLimit }, \"send_transaction\"),\n };\n })\n\n .with(Chain.Cosmos, Chain.Kujira, async () => {\n const { getCosmosToolbox } = await import(\"@swapkit/toolboxes/cosmos\");\n const provider = await getVultisigProvider(chain as Exclude<CosmosChain, TCLikeChain>);\n const toolbox = await getCosmosToolbox(chain as Exclude<CosmosChain, TCLikeChain | Chain.Harbor>);\n return prepareNetworkSwitchCosmos({ chain, provider, toolbox: { ...toolbox, transfer: walletTransfer } });\n })\n\n .with(...UTXOChains, async () => {\n const { getUtxoToolbox } = await import(\"@swapkit/toolboxes/utxo\");\n const toolbox = await getUtxoToolbox(chain as UTXOChain);\n return { ...toolbox, transfer: walletTransfer };\n })\n\n .with(\n Chain.Arbitrum,\n Chain.Avalanche,\n Chain.Base,\n Chain.BinanceSmartChain,\n Chain.Ethereum,\n Chain.Optimism,\n Chain.Polygon,\n async () => {\n const { prepareNetworkSwitch, switchEVMWalletNetwork } = await import(\"@swapkit/helpers\");\n const { getEvmToolbox } = await import(\"@swapkit/toolboxes/evm\");\n const { BrowserProvider } = await import(\"ethers\");\n const ethereumWindowProvider = await getVultisigProvider(chain as EVMChain);\n\n if (!ethereumWindowProvider) {\n throw new SwapKitError(\"wallet_vultisig_not_found\");\n }\n\n const provider = new BrowserProvider(ethereumWindowProvider, \"any\");\n const signer = await provider.getSigner();\n const toolbox = await getEvmToolbox(chain as EVMChain, { provider, signer });\n const vultisigMethods = getVultisigMethods(provider, chain as EVMChain);\n\n try {\n if (chain !== Chain.Ethereum) {\n const networkParams = toolbox.getNetworkParams();\n await switchEVMWalletNetwork(provider, chain, networkParams);\n }\n } catch (_error) {\n throw new SwapKitError({\n errorKey: \"wallet_failed_to_add_or_switch_network\",\n info: { chain, wallet: WalletOption.VULTISIG },\n });\n }\n\n return prepareNetworkSwitch({ chain, provider, toolbox: { ...toolbox, ...vultisigMethods } });\n },\n )\n\n .with(Chain.Ripple, async () => {\n const { getRippleToolbox } = await import(\"@swapkit/toolboxes/ripple\");\n const toolbox = await getRippleToolbox();\n return { ...toolbox, transfer: walletTransfer };\n })\n\n .with(Chain.Polkadot, async () => {\n const { getSubstrateToolbox } = await import(\"@swapkit/toolboxes/substrate\");\n const toolbox = await getSubstrateToolbox(chain as SubstrateChain);\n return { ...toolbox, transfer: walletTransfer };\n })\n\n .otherwise(async () => null);\n}\n",
6
6
  "import {\n type AssetValue,\n Chain,\n ChainId,\n type CosmosChain,\n type EVMChain,\n EVMChains,\n type FeeOption,\n getChainConfig,\n type NetworkParams,\n providerRequest,\n SwapKitError,\n type UTXOChain,\n WalletOption,\n} from \"@swapkit/helpers\";\nimport { erc20ABI } from \"@swapkit/helpers/contracts\";\nimport type { getCosmosToolbox } from \"@swapkit/toolboxes/cosmos\";\nimport type { ApproveParams, CallParams, EVMTxParams } from \"@swapkit/toolboxes/evm\";\nimport type { SolanaProvider } from \"@swapkit/toolboxes/solana\";\nimport type { BrowserProvider, Eip1193Provider } from \"ethers\";\nimport type { VultisigCosmosProvider } from \"../types\";\n\ntype TransactionMethod = \"send_transaction\" | \"deposit_transaction\";\n\ntype TransactionParams = {\n asset: string | { chain: string; symbol: string; ticker: string };\n amount: number | string | { amount: number; decimals?: number };\n decimal?: number;\n to: string;\n data?: string;\n from?: string;\n};\n\nexport type WalletTxParams = {\n feeOptionKey?: FeeOption;\n from?: string;\n memo?: string;\n recipient: string;\n assetValue: AssetValue;\n gasLimit?: string | bigint;\n};\n\ntype VultisigProviderType<T> = T extends typeof Chain.Solana\n ? SolanaProvider\n : T extends Exclude<CosmosChain, typeof Chain.Noble>\n ? VultisigCosmosProvider\n : T extends EVMChain\n ? Eip1193Provider\n : T extends typeof Chain.Maya | typeof Chain.THORChain | typeof Chain.Ripple | typeof Chain.Polkadot | UTXOChain\n ? Eip1193Provider\n : undefined;\n\nexport async function getVultisigProvider<T extends Chain>(chain: T): Promise<VultisigProviderType<T>> {\n if (!window.vultisig) throw new SwapKitError(\"wallet_vultisig_not_found\");\n const { match } = await import(\"ts-pattern\");\n\n return match(chain as Chain)\n .with(...EVMChains, () => window.vultisig?.ethereum as Eip1193Provider)\n .with(Chain.Cosmos, Chain.Kujira, () => window.vultisig?.cosmos as VultisigCosmosProvider)\n .with(Chain.Bitcoin, () => window.vultisig?.bitcoin as Eip1193Provider)\n .with(Chain.BitcoinCash, () => window.vultisig?.bitcoincash as Eip1193Provider)\n .with(Chain.Dash, () => window.vultisig?.dash as Eip1193Provider)\n .with(Chain.Dogecoin, () => window.vultisig?.dogecoin as Eip1193Provider)\n .with(Chain.Litecoin, () => window.vultisig?.litecoin as Eip1193Provider)\n .with(Chain.Solana, () => window.vultisig?.solana as SolanaProvider)\n .with(Chain.THORChain, () => window.vultisig?.thorchain as Eip1193Provider)\n .with(Chain.Maya, () => window.vultisig?.mayachain as Eip1193Provider)\n .with(Chain.Polkadot, () => window.vultisig?.polkadot as Eip1193Provider)\n .with(Chain.Ripple, () => window.vultisig?.ripple as Eip1193Provider)\n .with(Chain.Zcash, () => window.vultisig?.zcash as Eip1193Provider)\n .otherwise(() => undefined) as VultisigProviderType<T>;\n}\n\nasync function transaction({\n method,\n params,\n chain,\n}: {\n method: TransactionMethod;\n params: TransactionParams[];\n chain: Chain;\n}): Promise<string> {\n const client = await getVultisigProvider(chain);\n let finalParams: TransactionParams[] | { from: string; to?: string; value: string; data?: string }[] = params;\n\n if (chain === Chain.Cosmos || chain === Chain.Kujira || chain === Chain.Ripple) {\n finalParams = params.map((p) => ({\n data: p.data as string,\n from: p.from as string,\n to: p.to as string,\n value: (p.amount as { amount: number; decimals?: number }).amount.toString(),\n }));\n }\n\n return new Promise<string>((resolve, reject) => {\n if (client && \"request\" in client) {\n // @ts-expect-error\n client.request({ method, params: finalParams }, (err: string, tx: string) => {\n err ? reject(err) : resolve(tx);\n });\n }\n });\n}\n\nexport async function getVultisigAddress(chain: Chain) {\n try {\n const windowProvider = (await getVultisigProvider(chain)) as Eip1193Provider;\n if (!windowProvider) {\n throw new SwapKitError({ errorKey: \"wallet_provider_not_found\", info: { chain, wallet: WalletOption.VULTISIG } });\n }\n\n if ([Chain.Cosmos, Chain.Kujira].includes(chain as typeof Chain.Cosmos)) {\n const chainId = ChainId[chain];\n\n await windowProvider.request({ method: \"wallet_switch_chain\", params: [{ chainId }] });\n\n let account = await windowProvider.request({ method: \"get_accounts\" });\n if (!account) {\n const connectedAcount = await windowProvider.request({ method: \"request_accounts\" });\n account = connectedAcount[0].address;\n }\n return account;\n }\n\n if (EVMChains.includes(chain as EVMChain)) {\n const { BrowserProvider } = await import(\"ethers\");\n const provider = new BrowserProvider(windowProvider, \"any\");\n const [response] = await providerRequest({ method: \"eth_requestAccounts\", params: [], provider });\n return response;\n }\n\n if (chain === Chain.Solana) {\n const solanaProvider = await getVultisigProvider(Chain.Solana);\n\n const accounts = await solanaProvider.connect();\n return accounts.publicKey.toString();\n }\n\n const accounts = await windowProvider.request({ method: \"request_accounts\", params: [] });\n return accounts[0];\n } catch (_error) {\n throw new SwapKitError({ errorKey: \"wallet_provider_not_found\", info: { chain, wallet: WalletOption.VULTISIG } });\n }\n}\n\nexport async function walletTransfer(\n { assetValue, recipient, memo, gasLimit }: WalletTxParams,\n method: TransactionMethod = \"send_transaction\",\n) {\n if (!assetValue) {\n throw new SwapKitError(\"wallet_vultisig_asset_not_defined\");\n }\n\n /**\n * EVM requires amount to be hex string\n * UTXO/Cosmos requires amount to be number\n */\n\n const from = await getVultisigAddress(assetValue.chain);\n const params = [\n {\n amount: { amount: assetValue.getBaseValue(\"number\"), decimals: assetValue.decimal },\n asset: {\n chain: assetValue.chain,\n symbol: assetValue.symbol.toUpperCase(),\n ticker: assetValue.symbol.toUpperCase(),\n },\n data: memo || \"\",\n from,\n gasLimit,\n to: recipient,\n },\n ];\n\n return transaction({ chain: assetValue.chain, method, params });\n}\n\nexport function getVultisigMethods(provider: BrowserProvider, chain: EVMChain) {\n return {\n approve: async ({ assetAddress, spenderAddress, amount, from }: ApproveParams) => {\n const { MAX_APPROVAL, getCreateContractTxObject } = await import(\"@swapkit/toolboxes/evm\");\n const funcParams = [spenderAddress, BigInt(amount || MAX_APPROVAL)];\n const txOverrides = { from };\n\n const functionCallParams = {\n abi: erc20ABI,\n contractAddress: assetAddress,\n funcName: \"approve\",\n funcParams,\n txOverrides,\n };\n\n const createTx = getCreateContractTxObject({ chain, provider });\n const { value, to, data } = await createTx(functionCallParams);\n\n const signer = await provider.getSigner();\n const tx = await signer.sendTransaction({ data: data || \"0x\", from, to, value: BigInt(value || 0) });\n return tx.hash;\n },\n call: async <T>({ contractAddress, abi, funcName, funcParams = [], txOverrides }: CallParams): Promise<T> => {\n if (!contractAddress) {\n throw new SwapKitError(\"wallet_vultisig_contract_address_not_provided\");\n }\n const { createContract, getCreateContractTxObject, isStateChangingCall } = await import(\"@swapkit/toolboxes/evm\");\n\n const isStateChanging = isStateChangingCall({ abi, funcName });\n\n if (isStateChanging) {\n const createTx = getCreateContractTxObject({ chain, provider });\n const { value, from, to, data } = await createTx({ abi, contractAddress, funcName, funcParams, txOverrides });\n\n const signer = await provider.getSigner();\n const tx = await signer.sendTransaction({ data: data || \"0x\", from, to, value: BigInt(value || 0) });\n return tx.hash as T;\n }\n const contract = createContract(contractAddress, abi, provider);\n\n const result = await contract[funcName]?.(...funcParams);\n\n return typeof result?.hash === \"string\" ? result?.hash : result;\n },\n sendTransaction: async (txParams: EVMTxParams) => {\n const { from, to, data, value } = txParams;\n if (!to) {\n throw new SwapKitError(\"wallet_vultisig_send_transaction_no_address\");\n }\n\n const signer = await provider.getSigner();\n const tx = await signer.sendTransaction({ data: data || \"0x\", from, to, value: BigInt(value || 0) });\n return tx.hash;\n },\n };\n}\n\nexport async function switchCosmosWalletNetwork(\n provider: VultisigCosmosProvider,\n chain: Exclude<CosmosChain, typeof Chain.Noble>,\n networkParams?: NetworkParams,\n) {\n try {\n await provider.request({ method: \"wallet_switch_chain\", params: [{ chainId: getChainConfig(chain).chainId }] });\n } catch (error) {\n if (!networkParams) {\n throw new SwapKitError(\"helpers_failed_to_switch_network\", {\n error: error,\n reason: \"networkParams not provided\",\n });\n }\n }\n}\n\nexport function wrapMethodWithNetworkSwitch<T extends (...args: any[]) => any>(\n func: T,\n provider: VultisigCosmosProvider,\n chain: Exclude<CosmosChain, typeof Chain.Noble>,\n) {\n return (async (...args: any[]) => {\n try {\n await switchCosmosWalletNetwork(provider, chain);\n } catch (error) {\n throw new SwapKitError({ errorKey: \"helpers_failed_to_switch_network\", info: { error } });\n }\n return func(...args);\n }) as unknown as T;\n}\n\nexport function prepareNetworkSwitchCosmos<T extends Awaited<ReturnType<typeof getCosmosToolbox>>, M extends keyof T>({\n toolbox,\n chain,\n provider = window.ethereum,\n methodNames = [],\n}: {\n toolbox: T;\n chain: Chain;\n provider?: VultisigCosmosProvider;\n methodNames?: M[];\n}) {\n const methodsToWrap = [...methodNames, \"transfer\", \"getAddress\", \"getBalance\"] as M[];\n const wrappedMethods = methodsToWrap.reduce((object, methodName) => {\n if (!toolbox[methodName]) return object;\n\n const method = toolbox[methodName];\n\n if (typeof method !== \"function\") return object;\n\n // @ts-expect-error\n const wrappedMethod = wrapMethodWithNetworkSwitch(method, provider, chain);\n\n // biome-ignore lint/performance/noAccumulatingSpread: valid use case\n return { ...object, [methodName]: wrappedMethod };\n }, {});\n\n return { ...toolbox, ...wrappedMethods };\n}\n"
7
7
  ],
8
- "mappings": "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",
8
+ "mappings": "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",
9
9
  "debugId": "92CC6136B3F8F33164756E2164756E21",
10
10
  "names": []
11
11
  }
@@ -1,4 +1,4 @@
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-4a80xkcp.js";import{F as X,G as Z}from"../../chunk-fxqrst6z.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(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-4a80xkcp.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-4a80xkcp.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};
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-3cmctt43.js";import{F as X,G as Z}from"../../chunk-jgq4njag.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(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-3cmctt43.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-3cmctt43.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
3
  //# debugId=DE53E3878527760E64756E2164756E21
4
4
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- import{F as B,G as F}from"../../chunk-fxqrst6z.js";import{Chain as J,filterSupportedChains as L,SKConfig as Q,SwapKitError as Y,WalletOption as T}from"@swapkit/helpers";import{createWallet as Z,getWalletSupportedChains as $}from"@swapkit/wallet-core";import{Xumm as j}from"xumm";import{Chain as G,SwapKitError as H}from"@swapkit/helpers";import{SwapKitError as y}from"@swapkit/helpers";var h=async(o)=>{if(!o)throw new y("wallet_xaman_not_configured");try{let f=await(await o.user)?.account;if(f)return f;throw new y("wallet_xaman_auth_failed")}catch(n){throw console.error("Xaman wallet connection failed:",n),new y("wallet_xaman_connection_failed")}},M=async(o,n)=>{try{if(!(n.destination&&n.amount&&n.from))throw new y("wallet_xaman_connection_failed");let f=(Number.parseFloat(n.amount)*1e6).toString(),l={Account:n.from,Amount:f,Destination:n.destination,TransactionType:"Payment",...n.destinationTag!==void 0&&{DestinationTag:n.destinationTag},...n.memo&&{Memos:[{Memo:{MemoData:Buffer.from(n.memo,"utf8").toString("hex").toUpperCase()}}]}},W=await o.payload?.createAndSubscribe(l,(A)=>{if("signed"in A.data)return A.data;return});if(!W)throw new y("wallet_xaman_transaction_failed");let{created:C}=W;if(o.runtime?.xapp)o.xapp?.openSignRequest(C);else if(typeof window<"u"){let A=C.pushed&&C.next?.no_push_msg_received?C.next.no_push_msg_received:C.next?.always;if(A)window.open(A)}let g=await W.resolved;if(!g||typeof g!=="object"||!("signed"in g)||!g.signed)throw new y("wallet_xaman_transaction_failed");let _=await o.payload?.get(g.payload_uuidv4);if(!_)throw new y("wallet_xaman_monitoring_failed");let N=_.response?.txid||"",X=_.response?.account||"";if(!N)throw new y("wallet_xaman_transaction_failed");return{deepLink:C.next?.always||"",payloadId:C.uuid||"",qrCode:C.refs?.qr_png||"",result:{account:X,reason:void 0,success:!0,transactionId:N},websocketUrl:C.refs?.websocket_status||""}}catch(f){if(console.error("Xaman payment creation and subscription failed:",f),f instanceof y)throw f;throw new y("wallet_xaman_transaction_failed")}};async function z({xumm:o,chain:n,address:f}){switch(n){case G.Ripple:{let{getRippleToolbox:l}=await import("@swapkit/toolboxes/ripple"),W=await l({}),C=async(g)=>{let{recipient:_,assetValue:N,memo:X}=g,A=await M(o,{amount:N.getValue("string"),destination:_,from:f,memo:X});if(!(A.result.success&&A.result.transactionId))throw new H("wallet_xaman_transaction_failed");return A.result.transactionId};return{...W,address:f,createAndSubscribePayment:M,disconnect:o.logout,getAddress:()=>f,transfer:C}}default:throw new H("wallet_chain_not_supported",{chain:n,wallet:"Xaman"})}}var I=Z({connect:({addChain:o,supportedChains:n,walletType:f})=>function(W,C){let g=L({chains:W,supportedChains:n,walletType:f}),{xaman:_}=Q.get("apiKeys"),N=C?.apiKey||_;if(!N)throw new Y("wallet_missing_api_key",{wallet:"Xaman"});let X=new j(N);return new Promise((A,t)=>{X.on("success",async()=>{try{let P=await h(X),U=g.map(async(O)=>{let q=await z({address:P,chain:O,xumm:X});o({...q,address:P,balance:[],chain:O,disconnect:X.logout,walletType:T.XAMAN})});await Promise.all(U),A(!0)}catch(P){t(P)}}),X.on("error",(P)=>{t(P)}),X.authorize()})},name:"connectXaman",supportedChains:[J.Ripple],walletType:T.XAMAN}),v=$(I);export{I as xamanWallet,v as XAMAN_SUPPORTED_CHAINS};
1
+ import{F as B,G as F}from"../../chunk-jgq4njag.js";import{Chain as J,filterSupportedChains as L,SKConfig as Q,SwapKitError as Y,WalletOption as T}from"@swapkit/helpers";import{createWallet as Z,getWalletSupportedChains as $}from"@swapkit/wallet-core";import{Xumm as j}from"xumm";import{Chain as G,SwapKitError as H}from"@swapkit/helpers";import{SwapKitError as y}from"@swapkit/helpers";var h=async(o)=>{if(!o)throw new y("wallet_xaman_not_configured");try{let f=await(await o.user)?.account;if(f)return f;throw new y("wallet_xaman_auth_failed")}catch(n){throw console.error("Xaman wallet connection failed:",n),new y("wallet_xaman_connection_failed")}},M=async(o,n)=>{try{if(!(n.destination&&n.amount&&n.from))throw new y("wallet_xaman_connection_failed");let f=(Number.parseFloat(n.amount)*1e6).toString(),l={Account:n.from,Amount:f,Destination:n.destination,TransactionType:"Payment",...n.destinationTag!==void 0&&{DestinationTag:n.destinationTag},...n.memo&&{Memos:[{Memo:{MemoData:Buffer.from(n.memo,"utf8").toString("hex").toUpperCase()}}]}},W=await o.payload?.createAndSubscribe(l,(A)=>{if("signed"in A.data)return A.data;return});if(!W)throw new y("wallet_xaman_transaction_failed");let{created:C}=W;if(o.runtime?.xapp)o.xapp?.openSignRequest(C);else if(typeof window<"u"){let A=C.pushed&&C.next?.no_push_msg_received?C.next.no_push_msg_received:C.next?.always;if(A)window.open(A)}let g=await W.resolved;if(!g||typeof g!=="object"||!("signed"in g)||!g.signed)throw new y("wallet_xaman_transaction_failed");let _=await o.payload?.get(g.payload_uuidv4);if(!_)throw new y("wallet_xaman_monitoring_failed");let N=_.response?.txid||"",X=_.response?.account||"";if(!N)throw new y("wallet_xaman_transaction_failed");return{deepLink:C.next?.always||"",payloadId:C.uuid||"",qrCode:C.refs?.qr_png||"",result:{account:X,reason:void 0,success:!0,transactionId:N},websocketUrl:C.refs?.websocket_status||""}}catch(f){if(console.error("Xaman payment creation and subscription failed:",f),f instanceof y)throw f;throw new y("wallet_xaman_transaction_failed")}};async function z({xumm:o,chain:n,address:f}){switch(n){case G.Ripple:{let{getRippleToolbox:l}=await import("@swapkit/toolboxes/ripple"),W=await l({}),C=async(g)=>{let{recipient:_,assetValue:N,memo:X}=g,A=await M(o,{amount:N.getValue("string"),destination:_,from:f,memo:X});if(!(A.result.success&&A.result.transactionId))throw new H("wallet_xaman_transaction_failed");return A.result.transactionId};return{...W,address:f,createAndSubscribePayment:M,disconnect:o.logout,getAddress:()=>f,transfer:C}}default:throw new H("wallet_chain_not_supported",{chain:n,wallet:"Xaman"})}}var I=Z({connect:({addChain:o,supportedChains:n,walletType:f})=>function(W,C){let g=L({chains:W,supportedChains:n,walletType:f}),{xaman:_}=Q.get("apiKeys"),N=C?.apiKey||_;if(!N)throw new Y("wallet_missing_api_key",{wallet:"Xaman"});let X=new j(N);return new Promise((A,t)=>{X.on("success",async()=>{try{let P=await h(X),U=g.map(async(O)=>{let q=await z({address:P,chain:O,xumm:X});o({...q,address:P,balance:[],chain:O,disconnect:X.logout,walletType:T.XAMAN})});await Promise.all(U),A(!0)}catch(P){t(P)}}),X.on("error",(P)=>{t(P)}),X.authorize()})},name:"connectXaman",supportedChains:[J.Ripple],walletType:T.XAMAN}),v=$(I);export{I as xamanWallet,v as XAMAN_SUPPORTED_CHAINS};
2
2
 
3
3
  //# debugId=34C7B7D04B74467364756E2164756E21
4
4
  //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -12,11 +12,11 @@
12
12
  "@scure/base": "~1.2.0",
13
13
  "@scure/bip39": "~1.6.0",
14
14
  "@solana/web3.js": "~1.98.0",
15
- "@swapkit/helpers": "4.0.23",
16
- "@swapkit/toolboxes": "4.0.23",
17
- "@swapkit/wallet-core": "4.0.23",
18
- "@swapkit/wallet-hardware": "4.1.22",
19
- "@swapkit/wallet-keystore": "4.0.23",
15
+ "@swapkit/helpers": "4.0.25",
16
+ "@swapkit/toolboxes": "4.0.25",
17
+ "@swapkit/wallet-core": "4.0.25",
18
+ "@swapkit/wallet-hardware": "4.1.24",
19
+ "@swapkit/wallet-keystore": "4.0.25",
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.23",
46
- "@swapkit/toolboxes": "4.0.23",
45
+ "@swapkit/helpers": "4.0.25",
46
+ "@swapkit/toolboxes": "4.0.25",
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.22"
186
+ "version": "4.1.24"
187
187
  }