@swapkit/wallets 4.0.0-beta.58 → 4.0.0-beta.60

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.
@@ -3,10 +3,10 @@
3
3
  "sources": ["../src/tronlink/index.ts", "../src/tronlink/helpers.ts", "../src/tronlink/types.ts"],
4
4
  "sourcesContent": [
5
5
  "import { Chain, WalletOption, filterSupportedChains } from \"@swapkit/helpers\";\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\nimport { getExpectedTronNetwork, getWalletForChain, setupEventListeners } from \"./helpers.js\";\n\nexport const tronlinkWallet = createWallet({\n name: \"connectTronLink\",\n walletType: WalletOption.TRONLINK,\n supportedChains: [Chain.Tron],\n connect: ({ addChain, supportedChains, walletType }) =>\n async function connectTronLink(chains: Chain[]) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n\n if (filteredChains.length === 0) {\n throw new Error(\"TronLink wallet only supports Tron chain\");\n }\n\n const expectedNetwork = getExpectedTronNetwork(false);\n\n const walletMethods = await getWalletForChain(Chain.Tron, expectedNetwork);\n\n // Store original address for comparison in event listeners\n const currentAddress = walletMethods.address;\n\n // Setup event listeners for account/network changes\n const cleanup = setupEventListeners(\n (newAddress) => {\n if (newAddress !== currentAddress) {\n // Handle account change - reload to refresh connection\n window.location.reload();\n }\n },\n (newNetwork) => {\n // Handle network change - reload to refresh connection\n if (!newNetwork.includes(expectedNetwork)) {\n window.location.reload();\n }\n },\n );\n\n // Create disconnect function that cleans up event listeners\n const disconnect = () => {\n cleanup();\n };\n\n addChain({\n ...walletMethods,\n chain: Chain.Tron,\n balance: [],\n disconnect,\n walletType,\n });\n\n return true;\n },\n});\n\nexport const TRONLINK_SUPPORTED_CHAINS = getWalletSupportedChains(tronlinkWallet);\n\nexport * from \"./types.js\";\nexport * from \"./helpers.js\";\n",
6
- "import { Chain, SwapKitError, WalletOption } from \"@swapkit/helpers\";\nimport { type TronSigner, type TronTransaction, createTronToolbox } from \"@swapkit/toolboxes/tron\";\nimport type { TronLinkError, TronLinkWindow } from \"./types.js\";\nimport { TronLinkResponseCode } from \"./types.js\";\n\nexport async function waitForTronLink(timeout = 3000): Promise<TronLinkWindow> {\n return new Promise((resolve, reject) => {\n let handled = false;\n\n const handleProvider = () => {\n if (handled) return;\n handled = true;\n window.removeEventListener(\"tronlink#initialized\", handleProvider);\n clearTimeout(timeoutId);\n\n if (window.tronLink) {\n resolve(window.tronLink);\n } else {\n reject(\n new SwapKitError(\"wallet_provider_not_found\", {\n wallet: WalletOption.TRONLINK,\n }),\n );\n }\n };\n\n // Check if already available\n if (window.tronLink) {\n handleProvider();\n return;\n }\n\n // Listen for the initialization event\n window.addEventListener(\"tronlink#initialized\", handleProvider, { once: true });\n\n // Fallback timeout\n const timeoutId = setTimeout(handleProvider, timeout);\n });\n}\n\nexport async function getWalletForChain(chain: Chain, expectedNetwork?: string) {\n if (chain !== Chain.Tron) {\n throw new SwapKitError(\"wallet_chain_not_supported\", {\n wallet: WalletOption.TRONLINK,\n chain,\n });\n }\n\n const tronLink = await waitForTronLink();\n\n try {\n // Request account access\n const response = await tronLink.request({ method: \"tron_requestAccounts\" });\n\n if (response.code !== TronLinkResponseCode.SUCCESS) {\n throw new Error(`TronLink error: ${response.message}`);\n }\n } catch (error: unknown) {\n const tronError = error as TronLinkError;\n\n // Handle specific error codes\n if (tronError.code === TronLinkResponseCode.REJECTED) {\n throw new SwapKitError(\"wallet_connection_rejected_by_user\");\n }\n\n if (tronError.code === TronLinkResponseCode.UNAUTHORIZED) {\n throw new SwapKitError(\"wallet_connection_rejected_by_user\", {\n message: \"Unauthorized: Please authorize the connection in TronLink\",\n });\n }\n\n // Generic connection error\n throw new SwapKitError(\"wallet_provider_not_found\", {\n wallet: WalletOption.TRONLINK,\n message: tronError.message || \"Failed to connect to TronLink\",\n });\n }\n\n // Verify connection\n const address = tronLink.tronWeb.defaultAddress?.base58;\n if (!address) {\n throw new SwapKitError(\"wallet_provider_not_found\", {\n wallet: WalletOption.TRONLINK,\n message: \"No account found in TronLink\",\n });\n }\n\n // Verify network if required\n if (expectedNetwork) {\n verifyNetwork(expectedNetwork);\n }\n\n // Create signer object\n const signer: TronSigner = {\n getAddress: async () => address,\n signTransaction: async (transaction: TronTransaction) => {\n return await tronLink.tronWeb.trx.sign(transaction);\n },\n };\n\n // Create toolbox with signer\n const toolbox = await createTronToolbox({\n signer,\n });\n\n // Return wallet methods\n return { ...toolbox, address };\n}\n\nexport function setupEventListeners(\n onAccountChange?: (address: string) => void,\n onNetworkChange?: (network: string) => void,\n): () => void {\n const messageHandler = (event: MessageEvent) => {\n if (event.data?.message?.action === \"setAccount\") {\n const newAddress = event.data.message.data.address;\n if (onAccountChange) {\n onAccountChange(newAddress);\n } else {\n // Default behavior: reload the page\n window.location.reload();\n }\n }\n\n if (event.data?.message?.action === \"setNode\") {\n const node = event.data.message.data.node;\n if (onNetworkChange) {\n onNetworkChange(node.fullNode);\n } else {\n // Default behavior: reload the page on network change\n window.location.reload();\n }\n }\n };\n\n window.addEventListener(\"message\", messageHandler);\n\n // Return cleanup function\n return () => window.removeEventListener(\"message\", messageHandler);\n}\n\nexport function verifyNetwork(expectedNetwork: string) {\n const tronLink = window.tronLink;\n if (!tronLink) {\n throw new SwapKitError(\"wallet_provider_not_found\", {\n wallet: WalletOption.TRONLINK,\n });\n }\n\n const currentNode = tronLink.tronWeb.fullNode?.host;\n if (currentNode && !currentNode.includes(expectedNetwork)) {\n throw new SwapKitError(\"wallet_failed_to_add_or_switch_network\", {\n wallet: WalletOption.TRONLINK,\n message: `Wrong network. Please switch to ${expectedNetwork} in TronLink.`,\n currentNetwork: currentNode,\n expectedNetwork,\n });\n }\n}\n\nexport function getExpectedTronNetwork(testnet = false): string {\n return testnet ? \"shasta\" : \"api.trongrid.io\";\n}\n",
7
- "import type { TronSignedTransaction, TronTransaction } from \"@swapkit/toolboxes/tron\";\n\ndeclare global {\n interface Window {\n tronLink?: TronLinkWindow;\n tronWeb?: TronLinkWindow[\"tronWeb\"];\n }\n}\n\nexport interface TronLinkWindow {\n ready: boolean;\n request: (args: { method: string; params?: unknown }) => Promise<TronLinkResponse>;\n tronWeb: {\n defaultAddress: {\n base58: string;\n hex: string;\n };\n fullNode?: {\n host: string;\n };\n trx: {\n sign: (transaction: TronTransaction) => Promise<TronSignedTransaction>;\n sendRawTransaction: (signedTx: TronSignedTransaction) => Promise<string>;\n getBalance: (address: string) => Promise<number>;\n getAccountResources: (address: string) => Promise<unknown>;\n };\n };\n sunWeb?: unknown; // For sidechain support\n}\n\nexport enum TronLinkResponseCode {\n SUCCESS = 200,\n CANCELED = 4000,\n REJECTED = 4001,\n UNAUTHORIZED = 4100,\n UNSUPPORTED_METHOD = 4200,\n DISCONNECTED = 4900,\n CHAIN_DISCONNECTED = 4901,\n}\n\nexport interface TronLinkResponse {\n code: TronLinkResponseCode;\n message: string;\n}\n\nexport interface TronLinkEvents {\n setAccount: {\n address: string;\n };\n setNode: {\n node: {\n chain: string;\n fullNode: string;\n };\n };\n}\n\nexport interface TronLinkError extends Error {\n code: number;\n data?: unknown;\n}\n"
6
+ "import { Chain, SwapKitError, WalletOption } from \"@swapkit/helpers\";\nimport { type TronSigner, type TronTransaction, createTronToolbox } from \"@swapkit/toolboxes/tron\";\nimport type { TronLinkError, TronLinkWindow } from \"./types.js\";\nimport { TronLinkResponseCode } from \"./types.js\";\n\nexport async function waitForTronLink(timeout = 3000): Promise<TronLinkWindow> {\n return new Promise((resolve, reject) => {\n let handled = false;\n\n const handleProvider = () => {\n if (handled) return;\n handled = true;\n window.removeEventListener(\"tronlink#initialized\", handleProvider);\n if (timeoutId) clearTimeout(timeoutId);\n\n if (window.tronLink) {\n resolve(window.tronLink);\n } else {\n reject(\n new SwapKitError(\"wallet_provider_not_found\", {\n wallet: WalletOption.TRONLINK,\n }),\n );\n }\n };\n\n // Check if already available\n if (window.tronLink) {\n resolve(window.tronLink);\n return;\n }\n\n // Listen for the initialization event\n window.addEventListener(\"tronlink#initialized\", handleProvider, { once: true });\n\n // Fallback timeout\n const timeoutId = setTimeout(handleProvider, timeout);\n });\n}\n\nexport async function getWalletForChain(chain: Chain, expectedNetwork?: string) {\n if (chain !== Chain.Tron) {\n throw new SwapKitError(\"wallet_chain_not_supported\", {\n wallet: WalletOption.TRONLINK,\n chain,\n });\n }\n\n const tronLink = await waitForTronLink();\n\n if (!tronLink.ready) {\n throw new SwapKitError(\"wallet_locked\", {\n wallet: WalletOption.TRONLINK,\n message: \"TronLink is locked. Please unlock it to continue.\",\n });\n }\n\n try {\n // Request account access\n const response = await tronLink.request({ method: \"tron_requestAccounts\" });\n\n if (response.code !== TronLinkResponseCode.SUCCESS) {\n throw new Error(`TronLink error: ${response.message}`);\n }\n } catch (error: unknown) {\n const tronError = error as TronLinkError;\n\n // Handle specific error codes\n if (tronError.code === TronLinkResponseCode.REJECTED) {\n throw new SwapKitError(\"wallet_connection_rejected_by_user\");\n }\n\n if (tronError.code === TronLinkResponseCode.UNAUTHORIZED) {\n throw new SwapKitError(\"wallet_connection_rejected_by_user\", {\n message: \"Unauthorized: Please authorize the connection in TronLink\",\n });\n }\n\n // Generic connection error\n throw new SwapKitError(\"wallet_provider_not_found\", {\n wallet: WalletOption.TRONLINK,\n message: tronError.message || \"Failed to connect to TronLink\",\n });\n }\n\n // Verify connection\n const address = tronLink.tronWeb.defaultAddress?.base58;\n if (!address) {\n throw new SwapKitError(\"wallet_provider_not_found\", {\n wallet: WalletOption.TRONLINK,\n message: \"No account found in TronLink\",\n });\n }\n\n // Verify network if required\n if (expectedNetwork) {\n verifyNetwork(expectedNetwork);\n }\n\n // Create signer object\n const signer: TronSigner = {\n getAddress: async () => address,\n signTransaction: async (transaction: TronTransaction) => {\n return await tronLink.tronWeb.trx.sign(transaction);\n },\n };\n\n // Create toolbox with signer\n const toolbox = await createTronToolbox({\n signer,\n });\n\n // Return wallet methods\n return { ...toolbox, address };\n}\n\nexport function setupEventListeners(\n onAccountChange?: (address: string) => void,\n onNetworkChange?: (network: string) => void,\n): () => void {\n const messageHandler = (event: MessageEvent) => {\n if (event.data?.message?.action === \"setAccount\") {\n const newAddress = event.data.message.data.address;\n if (onAccountChange) {\n onAccountChange(newAddress);\n } else {\n // Default behavior: reload the page\n window.location.reload();\n }\n }\n\n if (event.data?.message?.action === \"setNode\") {\n const node = event.data.message.data.node;\n if (onNetworkChange) {\n onNetworkChange(node.fullNode);\n } else {\n // Default behavior: reload the page on network change\n window.location.reload();\n }\n }\n };\n\n window.addEventListener(\"message\", messageHandler);\n\n // Return cleanup function\n return () => window.removeEventListener(\"message\", messageHandler);\n}\n\nexport function verifyNetwork(expectedNetwork: string) {\n const tronLink = window.tronLink;\n if (!tronLink) {\n throw new SwapKitError(\"wallet_provider_not_found\", {\n wallet: WalletOption.TRONLINK,\n });\n }\n\n const currentNode = tronLink.tronWeb.fullNode?.host;\n if (currentNode && !currentNode.includes(expectedNetwork)) {\n throw new SwapKitError(\"wallet_failed_to_add_or_switch_network\", {\n wallet: WalletOption.TRONLINK,\n message: `Wrong network. Please switch to ${expectedNetwork} in TronLink.`,\n currentNetwork: currentNode,\n expectedNetwork,\n });\n }\n}\n\nexport function getExpectedTronNetwork(testnet = false): string {\n return testnet ? \"shasta\" : \"api.trongrid.io\";\n}\n",
7
+ "import type { TronSignedTransaction, TronTransaction } from \"@swapkit/toolboxes/tron\";\n\ndeclare global {\n interface Window {\n tronLink?: TronLinkWindow;\n tronWeb?: TronLinkWindow[\"tronWeb\"];\n }\n}\n\nexport interface TronLinkWindow {\n ready: boolean;\n request: (args: { method: string; params?: unknown }) => Promise<TronLinkResponse>;\n tronWeb: {\n defaultAddress: {\n base58: string;\n hex: string;\n };\n fullNode?: {\n host: string;\n };\n trx: {\n sign: (transaction: TronTransaction) => Promise<TronSignedTransaction>;\n sendRawTransaction: (signedTx: TronSignedTransaction) => Promise<string>;\n getBalance: (address: string) => Promise<number>;\n getAccountResources: (address: string) => Promise<unknown>;\n };\n };\n sunWeb?: unknown; // For sidechain support\n}\n\nexport enum TronLinkResponseCode {\n SUCCESS = 200,\n LOCKED = 4000,\n REJECTED = 4001,\n UNAUTHORIZED = 4100,\n UNSUPPORTED_METHOD = 4200,\n DISCONNECTED = 4900,\n CHAIN_DISCONNECTED = 4901,\n}\n\nexport interface TronLinkResponse {\n code: TronLinkResponseCode;\n message: string;\n}\n\nexport interface TronLinkEvents {\n setAccount: {\n address: string;\n };\n setNode: {\n node: {\n chain: string;\n fullNode: string;\n };\n };\n}\n\nexport interface TronLinkError extends Error {\n code: number;\n data?: unknown;\n}\n"
8
8
  ],
9
- "mappings": "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",
10
- "debugId": "FEA7366F0071C68664756E2164756E21",
9
+ "mappings": "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",
10
+ "debugId": "2C5C49ED8892E7FB64756E2164756E21",
11
11
  "names": []
12
12
  }
@@ -1,4 +1,4 @@
1
- var M5={};r5(M5,{walletconnectWallet:()=>Y5,WC_SUPPORTED_CHAINS:()=>T5,TRON_MAINNET_ID:()=>i,THORCHAIN_MAINNET_ID:()=>k,POLYGON_MAINNET_ID:()=>e,OPTIMISM_MAINNET_ID:()=>I,NEAR_TESTNET_ID:()=>o,NEAR_MAINNET_ID:()=>c,MAYACHAIN_MAINNET_ID:()=>l,KUJIRA_MAINNET_ID:()=>h,ETHEREUM_MAINNET_ID:()=>N,DEFAULT_TRON_METHODS:()=>Q5,DEFAULT_TRON_EVENTS:()=>X5,DEFAULT_SOLANA_METHODS:()=>j5,DEFAULT_SOLANA_EVENTS:()=>F5,DEFAULT_RELAY_URL:()=>H,DEFAULT_POLKADOT_METHODS:()=>f5,DEFAULT_POLKADOT_EVENTS:()=>V5,DEFAULT_NEAR_METHODS:()=>U5,DEFAULT_NEAR_EVENTS:()=>z5,DEFAULT_LOGGER:()=>r,DEFAULT_EIP_155_EVENTS:()=>O5,DEFAULT_EIP155_METHODS:()=>R,DEFAULT_COSMOS_METHODS:()=>_,DEFAULT_COSMOS_EVENTS:()=>w5,DEFAULT_APP_METADATA:()=>v5,COSMOS_HUB_MAINNET_ID:()=>d,BSC_MAINNET_ID:()=>g,BERACHAIN_MAINNET_ID:()=>n,BASE_MAINNET_ID:()=>t,AVALANCHE_MAINNET_ID:()=>C,AURORA_MAINNET_ID:()=>a,ARBITRUM_ONE_MAINNET_ID:()=>s});module.exports=H5(M5);var L=require("@swapkit/helpers"),w=require("@swapkit/wallet-core");var b=require("@swapkit/helpers"),K5=require("ethers");var U=require("@swapkit/helpers");var D=(O,j)=>{return(j.find((Q)=>Q.startsWith(q(O)))||"")?.split(":")?.[2]||""},q=(O)=>{switch(O){case U.Chain.Avalanche:return C;case U.Chain.Aurora:return a;case U.Chain.Base:return t;case U.Chain.BinanceSmartChain:return g;case U.Chain.Berachain:return n;case U.Chain.Ethereum:return N;case U.Chain.THORChain:return k;case U.Chain.Arbitrum:return s;case U.Chain.Optimism:return I;case U.Chain.Polygon:return e;case U.Chain.Maya:return l;case U.Chain.Cosmos:return d;case U.Chain.Kujira:return h;case U.Chain.Near:{let{isStagenet:j}=U.SKConfig.get("envs");return j?o:c}case U.Chain.Tron:return i;default:return""}};class L5 extends K5.AbstractSigner{address;chain;walletconnect;provider;constructor({chain:O,provider:j,walletconnect:F}){super(j);this.chain=O,this.walletconnect=F,this.provider=j,this.address=""}getAddress=async()=>{if(!this.walletconnect)throw new b.SwapKitError("wallet_walletconnect_connection_not_established");if(!this.address)this.address=D(this.chain,this.walletconnect.accounts||[]);return this.address};signMessage=async(O)=>{let j=await this.walletconnect?.client.request({chainId:q(this.chain),topic:this.walletconnect.session.topic||"",request:{method:"eth_sign",params:[O]}});return j.startsWith("0x")?j:`0x${j}`};signTransaction=()=>{throw new b.SwapKitError("wallet_walletconnect_method_not_supported",{method:"signTransaction"})};signTypedData=()=>{throw new b.SwapKitError("wallet_walletconnect_method_not_supported",{method:"signTypedData"})};sendTransaction=async({from:O,to:j,value:F,data:V})=>{let{toHexString:Q}=await import("@swapkit/toolboxes/evm"),f={from:O,to:j,value:Q(BigInt(F||0)),data:V};return await this.walletconnect?.client.request({chainId:q(this.chain),topic:this.walletconnect.session.topic,request:{method:"eth_sendTransaction",params:[f]}})};connect=(O)=>{if(!O)throw new b.SwapKitError({errorKey:"wallet_provider_not_found",info:{wallet:b.WalletOption.WALLETCONNECT,chain:this.chain}});return new L5({chain:this.chain,walletconnect:this.walletconnect,provider:O})}}var $5=async({chain:O,walletconnect:j,provider:F})=>new L5({chain:O,walletconnect:j,provider:F});var Z5=require("@swapkit/helpers");var D5=(O)=>{let j=[];for(let F of O){let[V]=F.split(":");if(V&&!j.includes(V))j.push(V)}return j},R5=(O)=>{switch(O){case"eip155":return Object.values(R);case"cosmos":return Object.values(_);case"solana":return Object.values(j5);case"polkadot":return Object.values(f5);case"near":return Object.values(U5);case"tron":return Object.values(Q5);default:throw new Z5.SwapKitError({errorKey:"wallet_walletconnect_namespace_not_supported",info:{namespace:O}})}},_5=(O)=>{switch(O){case"eip155":return Object.values(O5);case"cosmos":return[];case"solana":return Object.values(F5);case"polkadot":return Object.values(V5);case"near":return Object.values(z5);case"tron":return Object.values(X5);default:throw new Z5.SwapKitError({errorKey:"wallet_walletconnect_namespace_not_supported",info:{namespace:O}})}},q5=(O)=>{let j=D5(O);return Object.fromEntries(j.map((F)=>[F,{methods:R5(F),chains:O.filter((V)=>V.startsWith(F)),events:_5(F)}]))};var Y5=w.createWallet({name:"connectWalletconnect",walletType:L.WalletOption.WALLETCONNECT,supportedChains:[L.Chain.Arbitrum,L.Chain.Aurora,L.Chain.Avalanche,L.Chain.Base,L.Chain.Berachain,L.Chain.BinanceSmartChain,L.Chain.Cosmos,L.Chain.Ethereum,L.Chain.Kujira,L.Chain.Maya,L.Chain.Near,L.Chain.Optimism,L.Chain.Polygon,L.Chain.THORChain,L.Chain.Tron],connect:({addChain:O,supportedChains:j,walletType:F})=>async function V(Q,f){let z=L.filterSupportedChains({chains:Q,supportedChains:j,walletType:F}),{walletConnectProjectId:y}=L.SKConfig.get("apiKeys");if(!y)throw new L.SwapKitError("wallet_walletconnect_project_id_not_specified");let X=await x5(z,y,f);if(!X)throw new L.SwapKitError("wallet_walletconnect_connection_not_established");let{accounts:K}=X;return await Promise.all(z.map(async(v)=>{let $=D(v,K||[]),Y=await S5({address:$,chain:v,walletconnect:X});O({...Y,address:$,chain:v,disconnect:X.disconnect,walletType:L.WalletOption.WALLETCONNECT})})),!0}}),T5=w.getWalletSupportedChains(Y5);async function S5({chain:O,walletconnect:j,address:F}){let V=j?.session;if(!V)throw new L.SwapKitError("wallet_walletconnect_connection_not_established");switch(O){case L.Chain.Arbitrum:case L.Chain.Avalanche:case L.Chain.Base:case L.Chain.BinanceSmartChain:case L.Chain.Ethereum:case L.Chain.Optimism:case L.Chain.Polygon:{let{getProvider:Q,getEvmToolbox:f}=await import("@swapkit/toolboxes/evm"),z=await Q(O),y=await $5({walletconnect:j,chain:O,provider:z});return await f(O,{provider:z,signer:y})}case L.Chain.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"),y=z.encodePubkey??z.default?.encodePubkey,X=z.makeAuthInfoBytes??z.default?.makeAuthInfoBytes,v=(await import("@cosmjs/amino")).makeSignDoc??z.default?.makeSignDoc,{getCosmosToolbox:$,buildAminoMsg:Y,buildEncodedTxBody:W,createStargateClient:T,fromBase64:S,getDefaultChainFee:x,parseAminoMessageForDirectSigning:M}=await import("@swapkit/toolboxes/cosmos"),p=await $(L.Chain.THORChain);async function y5(G){let E=await p.getAccount(G);if(O!==L.Chain.THORChain)return E;let[{address:J,algo:m,pubkey:B}]=await j?.client.request({chainId:k,topic:V.topic,request:{method:"cosmos_getAccounts",params:{}}});return{...E,address:J,pubkey:{type:m,value:B}}}let P=x(O),b5=(G)=>j?.client.request({chainId:k,topic:V.topic,request:{method:"cosmos_signAmino",params:{signerAddress:F,signDoc:G}}});async function G5({assetValue:G,memo:u,...E}){let J=await p.getAccount(F);if(!J)throw new L.SwapKitError({errorKey:"wallet_missing_params",info:{account:J}});if(!J.pubkey)throw new L.SwapKitError({errorKey:"wallet_missing_params",info:{account:J,pubkey:J?.pubkey}});let{accountNumber:m,sequence:B=0}=J,J5=[Y({assetValue:G,memo:u,sender:F,...E})],p5=L.ChainId.THORChain,k5=v(J5,P,p5,u,m?.toString(),B?.toString()||"0"),A=await b5(k5),P5=await W({chain:L.Chain.THORChain,msgs:J5.map(M),memo:u||""}),W5=y(J.pubkey),u5=X([{pubkey:W5,sequence:B}],P.amount,Number.parseInt(P.gas),void 0,void 0,Q.SIGN_MODE_LEGACY_AMINO_JSON),E5=f.fromPartial({bodyBytes:P5,authInfoBytes:u5,signatures:[S(typeof A.signature==="string"?A.signature:A.signature.signature)]}),B5=f.encode(E5).finish();return(await(await T(L.SKConfig.get("rpcUrls")[L.Chain.THORChain])).broadcastTx(B5)).transactionHash}return{...p,transfer:(G)=>G5(G),deposit:(G)=>G5(G),getAccount:y5}}case L.Chain.Near:{let{getNearToolbox:Q}=await import("@swapkit/toolboxes/near"),{DEFAULT_NEAR_METHODS:f}=await import("../../chunk-x5n5v0h8.js");return await Q({signer:{getPublicKey(){return Promise.reject(new L.SwapKitError("wallet_walletconnect_method_not_supported",{method:"getPublicKey"}))},signNep413Message(X,K,v,$,Y){return Promise.reject(new L.SwapKitError("wallet_walletconnect_method_not_supported",{method:"signNep413Message"}))},async signTransaction(X){if(!j)throw new L.SwapKitError("wallet_walletconnect_connection_not_established");let K=await j.client.request({topic:V.topic,chainId:q(L.Chain.Near),request:{method:f.NEAR_SIGN_AND_SEND_TRANSACTION,params:{transaction:X}}});return[new Uint8Array(32),K]},signDelegateAction(X){return Promise.reject(new L.SwapKitError("wallet_walletconnect_method_not_supported",{method:"signDelegateAction"}))},getAddress(){return Promise.resolve(F)}}})}case L.Chain.Tron:{let{createTronToolbox:Q}=await import("@swapkit/toolboxes/tron"),{DEFAULT_TRON_METHODS:f}=await import("../../chunk-x5n5v0h8.js");return await Q({signer:{getAddress(){return Promise.resolve(F)},async signTransaction(X){if(!j)throw new L.SwapKitError("wallet_walletconnect_connection_not_established");return await j.client.request({topic:V.topic,chainId:q(L.Chain.Tron),request:{method:f.TRON_SIGN_TRANSACTION,params:{transaction:X}}})}}})}default:throw new L.SwapKitError({errorKey:"wallet_chain_not_supported",info:{chain:O,wallet:L.WalletOption.WALLETCONNECT}})}}async function x5(O,j,F){let V,Q,f,z;try{if(!j)throw new L.SwapKitError("wallet_walletconnect_project_id_not_specified");let y=q5(O.map(q)),{SignClient:X}=await import("@walletconnect/sign-client"),{WalletConnectModal:K}=await import("@walletconnect/modal"),v=new X({logger:r,relayUrl:H,projectId:j,metadata:F?.metadata||v5,...F?.core}),$=new K({logger:r,relayUrl:H,projectId:j,...F?.core}),Y=await v.session.getAll()[0];if(Y)await v.disconnect({topic:Y.topic,reason:{code:0,message:"Resetting session"}});let{uri:W,approval:T}=await v.connect({requiredNamespaces:y});if(W){let x=function(M){let p=[];for(let[y5,P]of Object.entries(M.namespaces))p.push(...P.accounts);return p};$.openModal({uri:W}),f=await T(),$.closeModal(),z=x(f)}let S=async()=>{f&&await v.disconnect({topic:f.topic,reason:{code:0,message:"User disconnected"}})};if(!f)throw new L.SwapKitError("wallet_walletconnect_connection_not_established");return{signer:Q,session:f,accounts:z,client:v,disconnect:S}}catch(y){}finally{if(V)V.closeModal()}return}
1
+ var M5={};r5(M5,{walletconnectWallet:()=>Y5,WC_SUPPORTED_CHAINS:()=>T5,TRON_MAINNET_ID:()=>i,THORCHAIN_MAINNET_ID:()=>k,POLYGON_MAINNET_ID:()=>e,OPTIMISM_MAINNET_ID:()=>I,NEAR_TESTNET_ID:()=>o,NEAR_MAINNET_ID:()=>c,MAYACHAIN_MAINNET_ID:()=>l,KUJIRA_MAINNET_ID:()=>h,ETHEREUM_MAINNET_ID:()=>N,DEFAULT_TRON_METHODS:()=>Q5,DEFAULT_TRON_EVENTS:()=>X5,DEFAULT_SOLANA_METHODS:()=>j5,DEFAULT_SOLANA_EVENTS:()=>F5,DEFAULT_RELAY_URL:()=>H,DEFAULT_POLKADOT_METHODS:()=>f5,DEFAULT_POLKADOT_EVENTS:()=>V5,DEFAULT_NEAR_METHODS:()=>U5,DEFAULT_NEAR_EVENTS:()=>z5,DEFAULT_LOGGER:()=>r,DEFAULT_EIP_155_EVENTS:()=>O5,DEFAULT_EIP155_METHODS:()=>R,DEFAULT_COSMOS_METHODS:()=>_,DEFAULT_COSMOS_EVENTS:()=>w5,DEFAULT_APP_METADATA:()=>v5,COSMOS_HUB_MAINNET_ID:()=>d,BSC_MAINNET_ID:()=>g,BERACHAIN_MAINNET_ID:()=>n,BASE_MAINNET_ID:()=>t,AVALANCHE_MAINNET_ID:()=>C,AURORA_MAINNET_ID:()=>a,ARBITRUM_ONE_MAINNET_ID:()=>s});module.exports=H5(M5);var L=require("@swapkit/helpers"),w=require("@swapkit/wallet-core");var b=require("@swapkit/helpers"),K5=require("ethers");var U=require("@swapkit/helpers");var D=(O,j)=>{return(j.find((Q)=>Q.startsWith(q(O)))||"")?.split(":")?.[2]||""},q=(O)=>{switch(O){case U.Chain.Avalanche:return C;case U.Chain.Aurora:return a;case U.Chain.Base:return t;case U.Chain.BinanceSmartChain:return g;case U.Chain.Berachain:return n;case U.Chain.Ethereum:return N;case U.Chain.THORChain:return k;case U.Chain.Arbitrum:return s;case U.Chain.Optimism:return I;case U.Chain.Polygon:return e;case U.Chain.Maya:return l;case U.Chain.Cosmos:return d;case U.Chain.Kujira:return h;case U.Chain.Near:{let{isStagenet:j}=U.SKConfig.get("envs");return j?o:c}case U.Chain.Tron:return i;default:return""}};class L5 extends K5.AbstractSigner{address;chain;walletconnect;provider;constructor({chain:O,provider:j,walletconnect:F}){super(j);this.chain=O,this.walletconnect=F,this.provider=j,this.address=""}getAddress=async()=>{if(!this.walletconnect)throw new b.SwapKitError("wallet_walletconnect_connection_not_established");if(!this.address)this.address=D(this.chain,this.walletconnect.accounts||[]);return this.address};signMessage=async(O)=>{let j=await this.walletconnect?.client.request({chainId:q(this.chain),topic:this.walletconnect.session.topic||"",request:{method:"eth_sign",params:[O]}});return j.startsWith("0x")?j:`0x${j}`};signTransaction=()=>{throw new b.SwapKitError("wallet_walletconnect_method_not_supported",{method:"signTransaction"})};signTypedData=()=>{throw new b.SwapKitError("wallet_walletconnect_method_not_supported",{method:"signTypedData"})};sendTransaction=async({from:O,to:j,value:F,data:V})=>{let{toHexString:Q}=await import("@swapkit/toolboxes/evm"),f={from:O,to:j,value:Q(BigInt(F||0)),data:V};return await this.walletconnect?.client.request({chainId:q(this.chain),topic:this.walletconnect.session.topic,request:{method:"eth_sendTransaction",params:[f]}})};connect=(O)=>{if(!O)throw new b.SwapKitError({errorKey:"wallet_provider_not_found",info:{wallet:b.WalletOption.WALLETCONNECT,chain:this.chain}});return new L5({chain:this.chain,walletconnect:this.walletconnect,provider:O})}}var $5=async({chain:O,walletconnect:j,provider:F})=>new L5({chain:O,walletconnect:j,provider:F});var Z5=require("@swapkit/helpers");var D5=(O)=>{let j=[];for(let F of O){let[V]=F.split(":");if(V&&!j.includes(V))j.push(V)}return j},R5=(O)=>{switch(O){case"eip155":return Object.values(R);case"cosmos":return Object.values(_);case"solana":return Object.values(j5);case"polkadot":return Object.values(f5);case"near":return Object.values(U5);case"tron":return Object.values(Q5);default:throw new Z5.SwapKitError({errorKey:"wallet_walletconnect_namespace_not_supported",info:{namespace:O}})}},_5=(O)=>{switch(O){case"eip155":return Object.values(O5);case"cosmos":return[];case"solana":return Object.values(F5);case"polkadot":return Object.values(V5);case"near":return Object.values(z5);case"tron":return Object.values(X5);default:throw new Z5.SwapKitError({errorKey:"wallet_walletconnect_namespace_not_supported",info:{namespace:O}})}},q5=(O)=>{let j=D5(O);return Object.fromEntries(j.map((F)=>[F,{methods:R5(F),chains:O.filter((V)=>V.startsWith(F)),events:_5(F)}]))};var Y5=w.createWallet({name:"connectWalletconnect",walletType:L.WalletOption.WALLETCONNECT,supportedChains:[L.Chain.Arbitrum,L.Chain.Aurora,L.Chain.Avalanche,L.Chain.Base,L.Chain.Berachain,L.Chain.BinanceSmartChain,L.Chain.Cosmos,L.Chain.Ethereum,L.Chain.Kujira,L.Chain.Maya,L.Chain.Near,L.Chain.Optimism,L.Chain.Polygon,L.Chain.THORChain,L.Chain.Tron],connect:({addChain:O,supportedChains:j,walletType:F})=>async function V(Q,f){let z=L.filterSupportedChains({chains:Q,supportedChains:j,walletType:F}),{walletConnectProjectId:y}=L.SKConfig.get("apiKeys");if(!y)throw new L.SwapKitError("wallet_walletconnect_project_id_not_specified");let X=await x5(z,y,f);if(!X)throw new L.SwapKitError("wallet_walletconnect_connection_not_established");let{accounts:K}=X;return await Promise.all(z.map(async(v)=>{let $=D(v,K||[]),Y=await S5({address:$,chain:v,walletconnect:X});O({...Y,address:$,chain:v,disconnect:X.disconnect,walletType:L.WalletOption.WALLETCONNECT})})),!0}}),T5=w.getWalletSupportedChains(Y5);async function S5({chain:O,walletconnect:j,address:F}){let V=j?.session;if(!V)throw new L.SwapKitError("wallet_walletconnect_connection_not_established");switch(O){case L.Chain.Arbitrum:case L.Chain.Avalanche:case L.Chain.Base:case L.Chain.BinanceSmartChain:case L.Chain.Ethereum:case L.Chain.Optimism:case L.Chain.Polygon:{let{getProvider:Q,getEvmToolbox:f}=await import("@swapkit/toolboxes/evm"),z=await Q(O),y=await $5({walletconnect:j,chain:O,provider:z});return await f(O,{provider:z,signer:y})}case L.Chain.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"),y=z.encodePubkey??z.default?.encodePubkey,X=z.makeAuthInfoBytes??z.default?.makeAuthInfoBytes,v=(await import("@cosmjs/amino")).makeSignDoc??z.default?.makeSignDoc,{getCosmosToolbox:$,buildAminoMsg:Y,buildEncodedTxBody:W,createStargateClient:T,fromBase64:S,getDefaultChainFee:x,parseAminoMessageForDirectSigning:M}=await import("@swapkit/toolboxes/cosmos"),p=await $(L.Chain.THORChain);async function y5(G){let E=await p.getAccount(G);if(O!==L.Chain.THORChain)return E;let[{address:J,algo:m,pubkey:B}]=await j?.client.request({chainId:k,topic:V.topic,request:{method:"cosmos_getAccounts",params:{}}});return{...E,address:J,pubkey:{type:m,value:B}}}let P=x(O),b5=(G)=>j?.client.request({chainId:k,topic:V.topic,request:{method:"cosmos_signAmino",params:{signerAddress:F,signDoc:G}}});async function G5({assetValue:G,memo:u,...E}){let J=await p.getAccount(F);if(!J)throw new L.SwapKitError({errorKey:"wallet_missing_params",info:{account:J}});if(!J.pubkey)throw new L.SwapKitError({errorKey:"wallet_missing_params",info:{account:J,pubkey:J?.pubkey}});let{accountNumber:m,sequence:B=0}=J,J5=[Y({assetValue:G,memo:u,sender:F,...E})],p5=L.ChainId.THORChain,k5=v(J5,P,p5,u,m?.toString(),B?.toString()||"0"),A=await b5(k5),P5=await W({chain:L.Chain.THORChain,msgs:J5.map(M),memo:u||""}),W5=y(J.pubkey),u5=X([{pubkey:W5,sequence:B}],P.amount,Number.parseInt(P.gas),void 0,void 0,Q.SIGN_MODE_LEGACY_AMINO_JSON),E5=f.fromPartial({bodyBytes:P5,authInfoBytes:u5,signatures:[S(typeof A.signature==="string"?A.signature:A.signature.signature)]}),B5=f.encode(E5).finish();return(await(await T(L.SKConfig.get("rpcUrls")[L.Chain.THORChain])).broadcastTx(B5)).transactionHash}return{...p,transfer:(G)=>G5(G),deposit:(G)=>G5(G),getAccount:y5}}case L.Chain.Near:{let{getNearToolbox:Q}=await import("@swapkit/toolboxes/near"),{DEFAULT_NEAR_METHODS:f}=await import("../../chunk-x5n5v0h8.js");return await Q({signer:{getPublicKey(){return Promise.reject(new L.SwapKitError("wallet_walletconnect_method_not_supported",{method:"getPublicKey"}))},signNep413Message(X,K,v,$,Y){return Promise.reject(new L.SwapKitError("wallet_walletconnect_method_not_supported",{method:"signNep413Message"}))},async signTransaction(X){if(!j)throw new L.SwapKitError("wallet_walletconnect_connection_not_established");let K=await j.client.request({topic:V.topic,chainId:q(L.Chain.Near),request:{method:f.NEAR_SIGN_AND_SEND_TRANSACTION,params:{transaction:X}}});return[new Uint8Array(32),K]},signDelegateAction(X){return Promise.reject(new L.SwapKitError("wallet_walletconnect_method_not_supported",{method:"signDelegateAction"}))},getAddress(){return Promise.resolve(F)}}})}case L.Chain.Tron:{let{createTronToolbox:Q}=await import("@swapkit/toolboxes/tron"),{DEFAULT_TRON_METHODS:f}=await import("../../chunk-x5n5v0h8.js");return await Q({signer:{getAddress(){return Promise.resolve(F)},async signTransaction(X){if(!j)throw new L.SwapKitError("wallet_walletconnect_connection_not_established");return await j.client.request({topic:V.topic,chainId:q(L.Chain.Tron),request:{method:f.TRON_SIGN_TRANSACTION,params:{transaction:X}}})}}})}default:throw new L.SwapKitError({errorKey:"wallet_chain_not_supported",info:{chain:O,wallet:L.WalletOption.WALLETCONNECT}})}}async function x5(O,j,F){let V,Q,f,z;try{if(!j)throw new L.SwapKitError("wallet_walletconnect_project_id_not_specified");let y=q5(O.map(q)),{SignClient:X}=await import("@walletconnect/sign-client"),{WalletConnectModal:K}=await import("@walletconnect/modal"),v=await X.init({logger:r,relayUrl:H,projectId:j,metadata:F?.metadata||v5,...F?.core}),$=new K({logger:r,relayUrl:H,projectId:j,...F?.core}),Y=(await v.session.getAll())[0];if(Y)await v.disconnect({topic:Y.topic,reason:{code:0,message:"Resetting session"}});let{uri:W,approval:T}=await v.connect({requiredNamespaces:y});if(W){let x=function(M){let p=[];for(let[y5,P]of Object.entries(M.namespaces))p.push(...P.accounts);return p};$.openModal({uri:W}),f=await T(),$.closeModal(),z=x(f)}let S=async()=>{f&&await v.disconnect({topic:f.topic,reason:{code:0,message:"User disconnected"}})};if(!f)throw new L.SwapKitError("wallet_walletconnect_connection_not_established");return{signer:Q,session:f,accounts:z,client:v,disconnect:S}}catch(y){}finally{if(V)V.closeModal()}return}
2
2
 
3
- //# debugId=F186B125A3AE36F964756E2164756E21
3
+ //# debugId=56BBC5D0DA211FCD64756E2164756E21
4
4
  //# sourceMappingURL=index.cjs.map
@@ -2,12 +2,12 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/walletconnect/index.ts", "../src/walletconnect/evmSigner.ts", "../src/walletconnect/helpers.ts", "../src/walletconnect/namespaces.ts"],
4
4
  "sourcesContent": [
5
- "import type { StdSignDoc } from \"@cosmjs/amino\";\nimport {\n Chain,\n ChainId,\n type GenericTransferParams,\n SKConfig,\n SwapKitError,\n WalletOption,\n filterSupportedChains,\n} from \"@swapkit/helpers\";\nimport type { ThorchainDepositParams, createThorchainToolbox } from \"@swapkit/toolboxes/cosmos\";\nimport type { NearSigner } from \"@swapkit/toolboxes/near\";\nimport type { TronSignedTransaction, TronSigner, TronTransaction } from \"@swapkit/toolboxes/tron\";\nimport type { WalletConnectModal } from \"@walletconnect/modal\";\nimport type { SignClient } from \"@walletconnect/sign-client\";\nimport type { SessionTypes, SignClientTypes } from \"@walletconnect/types\";\nimport type { Transaction } from \"near-api-js/lib/transaction\";\n\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\nimport {\n DEFAULT_APP_METADATA,\n DEFAULT_COSMOS_METHODS,\n DEFAULT_LOGGER,\n DEFAULT_RELAY_URL,\n THORCHAIN_MAINNET_ID,\n} from \"./constants\";\nimport { getEVMSigner } from \"./evmSigner\";\nimport { chainToChainId, getAddressByChain } from \"./helpers\";\nimport { getRequiredNamespaces } from \"./namespaces\";\n\nexport * from \"./constants\";\nexport * from \"./types\";\n\nexport const walletconnectWallet = createWallet({\n name: \"connectWalletconnect\",\n walletType: WalletOption.WALLETCONNECT,\n supportedChains: [\n Chain.Arbitrum,\n Chain.Aurora,\n Chain.Avalanche,\n Chain.Base,\n Chain.Berachain,\n Chain.BinanceSmartChain,\n Chain.Cosmos,\n Chain.Ethereum,\n Chain.Kujira,\n Chain.Maya,\n Chain.Near,\n Chain.Optimism,\n Chain.Polygon,\n Chain.THORChain,\n Chain.Tron,\n ],\n connect: ({ addChain, supportedChains, walletType }) =>\n async function connectWalletconnect(\n chains: Chain[],\n walletconnectOptions?: SignClientTypes.Options,\n ) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n const { walletConnectProjectId } = SKConfig.get(\"apiKeys\");\n\n if (!walletConnectProjectId) {\n throw new SwapKitError(\"wallet_walletconnect_project_id_not_specified\");\n }\n\n const walletconnect = await getWalletconnect(\n filteredChains,\n walletConnectProjectId,\n walletconnectOptions,\n );\n\n if (!walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n const { accounts } = walletconnect;\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n const address = getAddressByChain(chain, accounts || []);\n const toolbox = await getToolbox({ address, chain, walletconnect });\n\n addChain({\n ...toolbox,\n address,\n chain,\n disconnect: walletconnect.disconnect,\n walletType: WalletOption.WALLETCONNECT,\n });\n }),\n );\n\n return true;\n },\n});\n\nexport const WC_SUPPORTED_CHAINS = getWalletSupportedChains(walletconnectWallet);\nexport type Walletconnect = Awaited<ReturnType<typeof getWalletconnect>>;\n\nasync function getToolbox<T extends (typeof WC_SUPPORTED_CHAINS)[number]>({\n chain,\n walletconnect,\n address,\n}: {\n walletconnect: Walletconnect;\n chain: T;\n address: string;\n}) {\n const session = walletconnect?.session;\n if (!session) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n switch (chain) {\n case Chain.Arbitrum:\n case Chain.Avalanche:\n case Chain.Base:\n case Chain.BinanceSmartChain:\n case Chain.Ethereum:\n case Chain.Optimism:\n case Chain.Polygon: {\n const { getProvider, getEvmToolbox } = await import(\"@swapkit/toolboxes/evm\");\n\n const provider = await getProvider(chain);\n const signer = await getEVMSigner({ walletconnect, chain, provider });\n const toolbox = await getEvmToolbox(chain, { provider, signer });\n\n return toolbox;\n }\n\n case Chain.THORChain: {\n const { SignMode } = await import(\"cosmjs-types/cosmos/tx/signing/v1beta1/signing.js\");\n const { TxRaw } = await import(\"cosmjs-types/cosmos/tx/v1beta1/tx.js\");\n\n const importedSigning = await import(\"@cosmjs/proto-signing\");\n const encodePubkey = importedSigning.encodePubkey ?? importedSigning.default?.encodePubkey;\n const makeAuthInfoBytes =\n importedSigning.makeAuthInfoBytes ?? importedSigning.default?.makeAuthInfoBytes;\n const importedAmino = await import(\"@cosmjs/amino\");\n const makeSignDoc = importedAmino.makeSignDoc ?? importedSigning.default?.makeSignDoc;\n\n const {\n getCosmosToolbox,\n buildAminoMsg,\n buildEncodedTxBody,\n createStargateClient,\n fromBase64,\n getDefaultChainFee,\n parseAminoMessageForDirectSigning,\n } = await import(\"@swapkit/toolboxes/cosmos\");\n const toolbox = await getCosmosToolbox(Chain.THORChain);\n\n async function getAccount(accountAddress: string) {\n const cosmosToolbox = toolbox;\n const account = await (\n cosmosToolbox as Awaited<ReturnType<typeof createThorchainToolbox>>\n ).getAccount(accountAddress);\n\n if (chain !== Chain.THORChain) {\n return account;\n }\n\n const [{ address, algo, pubkey }] = (await walletconnect?.client.request({\n chainId: THORCHAIN_MAINNET_ID,\n // @ts-ignore\n topic: session.topic,\n request: {\n method: DEFAULT_COSMOS_METHODS.COSMOS_GET_ACCOUNTS,\n params: {},\n },\n })) as [{ address: string; algo: string; pubkey: string }];\n\n return { ...account, address, pubkey: { type: algo, value: pubkey } };\n }\n\n const fee = getDefaultChainFee(chain);\n\n const signRequest = (signDoc: StdSignDoc) =>\n walletconnect?.client.request({\n chainId: THORCHAIN_MAINNET_ID,\n topic: session.topic,\n request: {\n method: DEFAULT_COSMOS_METHODS.COSMOS_SIGN_AMINO,\n params: { signerAddress: address, signDoc },\n },\n });\n\n async function thorchainTransfer({\n assetValue,\n memo,\n ...rest\n }: GenericTransferParams | ThorchainDepositParams) {\n const account = await toolbox.getAccount(address);\n if (!account) {\n throw new SwapKitError({ errorKey: \"wallet_missing_params\", info: { account } });\n }\n\n if (!account.pubkey) {\n throw new SwapKitError({\n errorKey: \"wallet_missing_params\",\n info: { account, pubkey: account?.pubkey },\n });\n }\n\n const { accountNumber, sequence = 0 } = account;\n\n const msgs = [buildAminoMsg({ assetValue, memo, sender: address, ...rest })];\n\n const chainId = ChainId.THORChain;\n\n const signDoc = makeSignDoc(\n msgs,\n fee,\n chainId,\n memo,\n accountNumber?.toString(),\n sequence?.toString() || \"0\",\n );\n\n const signature: any = await signRequest(signDoc);\n\n const bodyBytes = await buildEncodedTxBody({\n chain: Chain.THORChain,\n msgs: msgs.map(parseAminoMessageForDirectSigning),\n memo: memo || \"\",\n });\n const pubkey = encodePubkey(account.pubkey);\n const authInfoBytes = makeAuthInfoBytes(\n [{ pubkey, sequence }],\n fee.amount,\n Number.parseInt(fee.gas),\n undefined,\n undefined,\n SignMode.SIGN_MODE_LEGACY_AMINO_JSON,\n );\n\n const txRaw = TxRaw.fromPartial({\n bodyBytes,\n authInfoBytes,\n signatures: [\n fromBase64(\n typeof signature.signature === \"string\"\n ? signature.signature\n : signature.signature.signature,\n ),\n ],\n });\n const txBytes = TxRaw.encode(txRaw).finish();\n\n const broadcaster = await createStargateClient(SKConfig.get(\"rpcUrls\")[Chain.THORChain]);\n const result = await broadcaster.broadcastTx(txBytes);\n return result.transactionHash;\n }\n\n return {\n ...toolbox,\n transfer: (params: GenericTransferParams) => thorchainTransfer(params),\n deposit: (params: ThorchainDepositParams) => thorchainTransfer(params),\n getAccount,\n };\n }\n\n case Chain.Near: {\n const { getNearToolbox } = await import(\"@swapkit/toolboxes/near\");\n const { DEFAULT_NEAR_METHODS } = await import(\"./constants\");\n\n // Create a NEAR signer that uses WalletConnect\n const signer = {\n getPublicKey() {\n // WalletConnect NEAR doesn't expose public key directly\n return Promise.reject(\n new SwapKitError(\"wallet_walletconnect_method_not_supported\", {\n method: \"getPublicKey\",\n }),\n );\n },\n\n signNep413Message(\n _message: string,\n _accountId: string,\n _recipient: string,\n _nonce: Uint8Array,\n _callbackUrl?: string,\n ) {\n // WalletConnect NEAR spec doesn't include NEP-413 message signing\n return Promise.reject(\n new SwapKitError(\"wallet_walletconnect_method_not_supported\", {\n method: \"signNep413Message\",\n }),\n );\n },\n\n async signTransaction(transaction: Transaction) {\n if (!walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n // WalletConnect signs and sends in one operation\n const result = await walletconnect.client.request({\n topic: session.topic,\n chainId: chainToChainId(Chain.Near),\n request: {\n method: DEFAULT_NEAR_METHODS.NEAR_SIGN_AND_SEND_TRANSACTION,\n params: { transaction },\n },\n });\n // Return dummy hash and result\n return [new Uint8Array(32), result];\n },\n\n signDelegateAction(_delegateAction: any) {\n return Promise.reject(\n new SwapKitError(\"wallet_walletconnect_method_not_supported\", {\n method: \"signDelegateAction\",\n }),\n );\n },\n\n getAddress() {\n return Promise.resolve(address);\n },\n } as NearSigner;\n\n const toolbox = await getNearToolbox({ signer });\n return toolbox;\n }\n\n case Chain.Tron: {\n const { createTronToolbox } = await import(\"@swapkit/toolboxes/tron\");\n const { DEFAULT_TRON_METHODS } = await import(\"./constants\");\n\n // Create a Tron signer that uses WalletConnect\n const signer: TronSigner = {\n getAddress() {\n return Promise.resolve(address);\n },\n\n async signTransaction(transaction: TronTransaction) {\n if (!walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n const signedTx = await walletconnect.client.request({\n topic: session.topic,\n chainId: chainToChainId(Chain.Tron),\n request: {\n method: DEFAULT_TRON_METHODS.TRON_SIGN_TRANSACTION,\n params: { transaction },\n },\n });\n\n return signedTx as TronSignedTransaction;\n },\n };\n\n const toolbox = await createTronToolbox({ signer });\n return toolbox;\n }\n\n default:\n throw new SwapKitError({\n errorKey: \"wallet_chain_not_supported\",\n info: { chain, wallet: WalletOption.WALLETCONNECT },\n });\n }\n}\n\nasync function getWalletconnect(\n chains: Chain[],\n walletConnectProjectId?: string,\n walletconnectOptions?: SignClientTypes.Options,\n) {\n let modal: WalletConnectModal | undefined;\n let signer: typeof SignClient | undefined;\n let session: SessionTypes.Struct | undefined;\n let accounts: string[] | undefined;\n try {\n if (!walletConnectProjectId) {\n throw new SwapKitError(\"wallet_walletconnect_project_id_not_specified\");\n }\n const requiredNamespaces = getRequiredNamespaces(chains.map(chainToChainId));\n\n const { SignClient } = await import(\"@walletconnect/sign-client\");\n const { WalletConnectModal } = await import(\"@walletconnect/modal\");\n\n const client = new SignClient({\n logger: DEFAULT_LOGGER,\n relayUrl: DEFAULT_RELAY_URL,\n projectId: walletConnectProjectId,\n metadata: walletconnectOptions?.metadata || DEFAULT_APP_METADATA,\n ...walletconnectOptions?.core,\n });\n\n const modal = new WalletConnectModal({\n logger: DEFAULT_LOGGER,\n relayUrl: DEFAULT_RELAY_URL,\n projectId: walletConnectProjectId,\n ...walletconnectOptions?.core,\n });\n\n const oldSession = await client.session.getAll()[0];\n\n // disconnect old Session cause we can't handle using it with current ui\n if (oldSession) {\n await client.disconnect({\n topic: oldSession.topic,\n reason: { code: 0, message: \"Resetting session\" },\n });\n }\n\n const { uri, approval } = await client.connect({\n // Optionally: pass a known prior pairing (e.g. from `client.core.pairing.getPairings()`) to skip the `uri` step.\n // pairingTopic: pairing?.topic,\n // Provide the namespaces and chains (e.g. `eip155` for EVM-based chains) we want to use in this session.\n requiredNamespaces,\n });\n\n if (uri) {\n modal.openModal({ uri });\n // Await session approval from the wallet.\n session = await approval();\n // Handle the returned session (e.g. update UI to \"connected\" state).\n // Close the QRCode modal in case it was open.\n modal.closeModal();\n\n function extractAccountsFromSession(session: SessionTypes.Struct) {\n const accounts: string[] = [];\n\n for (const [_namespace, data] of Object.entries(session.namespaces)) {\n accounts.push(...data.accounts);\n }\n\n return accounts;\n }\n\n accounts = extractAccountsFromSession(session);\n }\n\n const disconnect = async () => {\n session &&\n (await client.disconnect({\n topic: session.topic,\n reason: { code: 0, message: \"User disconnected\" },\n }));\n };\n\n if (!session) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n return { signer, session, accounts, client, disconnect };\n } catch (_e) {\n // Errors are handled by returning undefined\n } finally {\n if (modal) {\n modal.closeModal();\n }\n }\n return undefined;\n}\n",
5
+ "import type { StdSignDoc } from \"@cosmjs/amino\";\nimport {\n Chain,\n ChainId,\n type GenericTransferParams,\n SKConfig,\n SwapKitError,\n WalletOption,\n filterSupportedChains,\n} from \"@swapkit/helpers\";\nimport type { ThorchainDepositParams, createThorchainToolbox } from \"@swapkit/toolboxes/cosmos\";\nimport type { NearSigner } from \"@swapkit/toolboxes/near\";\nimport type { TronSignedTransaction, TronSigner, TronTransaction } from \"@swapkit/toolboxes/tron\";\nimport type { WalletConnectModal } from \"@walletconnect/modal\";\nimport type { SignClient } from \"@walletconnect/sign-client\";\nimport type { SessionTypes, SignClientTypes } from \"@walletconnect/types\";\nimport type { Transaction } from \"near-api-js/lib/transaction\";\n\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\nimport {\n DEFAULT_APP_METADATA,\n DEFAULT_COSMOS_METHODS,\n DEFAULT_LOGGER,\n DEFAULT_RELAY_URL,\n THORCHAIN_MAINNET_ID,\n} from \"./constants\";\nimport { getEVMSigner } from \"./evmSigner\";\nimport { chainToChainId, getAddressByChain } from \"./helpers\";\nimport { getRequiredNamespaces } from \"./namespaces\";\n\nexport * from \"./constants\";\nexport * from \"./types\";\n\nexport const walletconnectWallet = createWallet({\n name: \"connectWalletconnect\",\n walletType: WalletOption.WALLETCONNECT,\n supportedChains: [\n Chain.Arbitrum,\n Chain.Aurora,\n Chain.Avalanche,\n Chain.Base,\n Chain.Berachain,\n Chain.BinanceSmartChain,\n Chain.Cosmos,\n Chain.Ethereum,\n Chain.Kujira,\n Chain.Maya,\n Chain.Near,\n Chain.Optimism,\n Chain.Polygon,\n Chain.THORChain,\n Chain.Tron,\n ],\n connect: ({ addChain, supportedChains, walletType }) =>\n async function connectWalletconnect(\n chains: Chain[],\n walletconnectOptions?: SignClientTypes.Options,\n ) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n const { walletConnectProjectId } = SKConfig.get(\"apiKeys\");\n\n if (!walletConnectProjectId) {\n throw new SwapKitError(\"wallet_walletconnect_project_id_not_specified\");\n }\n\n const walletconnect = await getWalletconnect(\n filteredChains,\n walletConnectProjectId,\n walletconnectOptions,\n );\n\n if (!walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n const { accounts } = walletconnect;\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n const address = getAddressByChain(chain, accounts || []);\n const toolbox = await getToolbox({ address, chain, walletconnect });\n\n addChain({\n ...toolbox,\n address,\n chain,\n disconnect: walletconnect.disconnect,\n walletType: WalletOption.WALLETCONNECT,\n });\n }),\n );\n\n return true;\n },\n});\n\nexport const WC_SUPPORTED_CHAINS = getWalletSupportedChains(walletconnectWallet);\nexport type Walletconnect = Awaited<ReturnType<typeof getWalletconnect>>;\n\nasync function getToolbox<T extends (typeof WC_SUPPORTED_CHAINS)[number]>({\n chain,\n walletconnect,\n address,\n}: {\n walletconnect: Walletconnect;\n chain: T;\n address: string;\n}) {\n const session = walletconnect?.session;\n if (!session) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n switch (chain) {\n case Chain.Arbitrum:\n case Chain.Avalanche:\n case Chain.Base:\n case Chain.BinanceSmartChain:\n case Chain.Ethereum:\n case Chain.Optimism:\n case Chain.Polygon: {\n const { getProvider, getEvmToolbox } = await import(\"@swapkit/toolboxes/evm\");\n\n const provider = await getProvider(chain);\n const signer = await getEVMSigner({ walletconnect, chain, provider });\n const toolbox = await getEvmToolbox(chain, { provider, signer });\n\n return toolbox;\n }\n\n case Chain.THORChain: {\n const { SignMode } = await import(\"cosmjs-types/cosmos/tx/signing/v1beta1/signing.js\");\n const { TxRaw } = await import(\"cosmjs-types/cosmos/tx/v1beta1/tx.js\");\n\n const importedSigning = await import(\"@cosmjs/proto-signing\");\n const encodePubkey = importedSigning.encodePubkey ?? importedSigning.default?.encodePubkey;\n const makeAuthInfoBytes =\n importedSigning.makeAuthInfoBytes ?? importedSigning.default?.makeAuthInfoBytes;\n const importedAmino = await import(\"@cosmjs/amino\");\n const makeSignDoc = importedAmino.makeSignDoc ?? importedSigning.default?.makeSignDoc;\n\n const {\n getCosmosToolbox,\n buildAminoMsg,\n buildEncodedTxBody,\n createStargateClient,\n fromBase64,\n getDefaultChainFee,\n parseAminoMessageForDirectSigning,\n } = await import(\"@swapkit/toolboxes/cosmos\");\n const toolbox = await getCosmosToolbox(Chain.THORChain);\n\n async function getAccount(accountAddress: string) {\n const cosmosToolbox = toolbox;\n const account = await (\n cosmosToolbox as Awaited<ReturnType<typeof createThorchainToolbox>>\n ).getAccount(accountAddress);\n\n if (chain !== Chain.THORChain) {\n return account;\n }\n\n const [{ address, algo, pubkey }] = (await walletconnect?.client.request({\n chainId: THORCHAIN_MAINNET_ID,\n // @ts-ignore\n topic: session.topic,\n request: {\n method: DEFAULT_COSMOS_METHODS.COSMOS_GET_ACCOUNTS,\n params: {},\n },\n })) as [{ address: string; algo: string; pubkey: string }];\n\n return { ...account, address, pubkey: { type: algo, value: pubkey } };\n }\n\n const fee = getDefaultChainFee(chain);\n\n const signRequest = (signDoc: StdSignDoc) =>\n walletconnect?.client.request({\n chainId: THORCHAIN_MAINNET_ID,\n topic: session.topic,\n request: {\n method: DEFAULT_COSMOS_METHODS.COSMOS_SIGN_AMINO,\n params: { signerAddress: address, signDoc },\n },\n });\n\n async function thorchainTransfer({\n assetValue,\n memo,\n ...rest\n }: GenericTransferParams | ThorchainDepositParams) {\n const account = await toolbox.getAccount(address);\n if (!account) {\n throw new SwapKitError({ errorKey: \"wallet_missing_params\", info: { account } });\n }\n\n if (!account.pubkey) {\n throw new SwapKitError({\n errorKey: \"wallet_missing_params\",\n info: { account, pubkey: account?.pubkey },\n });\n }\n\n const { accountNumber, sequence = 0 } = account;\n\n const msgs = [buildAminoMsg({ assetValue, memo, sender: address, ...rest })];\n\n const chainId = ChainId.THORChain;\n\n const signDoc = makeSignDoc(\n msgs,\n fee,\n chainId,\n memo,\n accountNumber?.toString(),\n sequence?.toString() || \"0\",\n );\n\n const signature: any = await signRequest(signDoc);\n\n const bodyBytes = await buildEncodedTxBody({\n chain: Chain.THORChain,\n msgs: msgs.map(parseAminoMessageForDirectSigning),\n memo: memo || \"\",\n });\n const pubkey = encodePubkey(account.pubkey);\n const authInfoBytes = makeAuthInfoBytes(\n [{ pubkey, sequence }],\n fee.amount,\n Number.parseInt(fee.gas),\n undefined,\n undefined,\n SignMode.SIGN_MODE_LEGACY_AMINO_JSON,\n );\n\n const txRaw = TxRaw.fromPartial({\n bodyBytes,\n authInfoBytes,\n signatures: [\n fromBase64(\n typeof signature.signature === \"string\"\n ? signature.signature\n : signature.signature.signature,\n ),\n ],\n });\n const txBytes = TxRaw.encode(txRaw).finish();\n\n const broadcaster = await createStargateClient(SKConfig.get(\"rpcUrls\")[Chain.THORChain]);\n const result = await broadcaster.broadcastTx(txBytes);\n return result.transactionHash;\n }\n\n return {\n ...toolbox,\n transfer: (params: GenericTransferParams) => thorchainTransfer(params),\n deposit: (params: ThorchainDepositParams) => thorchainTransfer(params),\n getAccount,\n };\n }\n\n case Chain.Near: {\n const { getNearToolbox } = await import(\"@swapkit/toolboxes/near\");\n const { DEFAULT_NEAR_METHODS } = await import(\"./constants\");\n\n // Create a NEAR signer that uses WalletConnect\n const signer = {\n getPublicKey() {\n // WalletConnect NEAR doesn't expose public key directly\n return Promise.reject(\n new SwapKitError(\"wallet_walletconnect_method_not_supported\", {\n method: \"getPublicKey\",\n }),\n );\n },\n\n signNep413Message(\n _message: string,\n _accountId: string,\n _recipient: string,\n _nonce: Uint8Array,\n _callbackUrl?: string,\n ) {\n // WalletConnect NEAR spec doesn't include NEP-413 message signing\n return Promise.reject(\n new SwapKitError(\"wallet_walletconnect_method_not_supported\", {\n method: \"signNep413Message\",\n }),\n );\n },\n\n async signTransaction(transaction: Transaction) {\n if (!walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n // WalletConnect signs and sends in one operation\n const result = await walletconnect.client.request({\n topic: session.topic,\n chainId: chainToChainId(Chain.Near),\n request: {\n method: DEFAULT_NEAR_METHODS.NEAR_SIGN_AND_SEND_TRANSACTION,\n params: { transaction },\n },\n });\n // Return dummy hash and result\n return [new Uint8Array(32), result];\n },\n\n signDelegateAction(_delegateAction: any) {\n return Promise.reject(\n new SwapKitError(\"wallet_walletconnect_method_not_supported\", {\n method: \"signDelegateAction\",\n }),\n );\n },\n\n getAddress() {\n return Promise.resolve(address);\n },\n } as NearSigner;\n\n const toolbox = await getNearToolbox({ signer });\n return toolbox;\n }\n\n case Chain.Tron: {\n const { createTronToolbox } = await import(\"@swapkit/toolboxes/tron\");\n const { DEFAULT_TRON_METHODS } = await import(\"./constants\");\n\n // Create a Tron signer that uses WalletConnect\n const signer: TronSigner = {\n getAddress() {\n return Promise.resolve(address);\n },\n\n async signTransaction(transaction: TronTransaction) {\n if (!walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n const signedTx = await walletconnect.client.request({\n topic: session.topic,\n chainId: chainToChainId(Chain.Tron),\n request: {\n method: DEFAULT_TRON_METHODS.TRON_SIGN_TRANSACTION,\n params: { transaction },\n },\n });\n\n return signedTx as TronSignedTransaction;\n },\n };\n\n const toolbox = await createTronToolbox({ signer });\n return toolbox;\n }\n\n default:\n throw new SwapKitError({\n errorKey: \"wallet_chain_not_supported\",\n info: { chain, wallet: WalletOption.WALLETCONNECT },\n });\n }\n}\n\nasync function getWalletconnect(\n chains: Chain[],\n walletConnectProjectId?: string,\n walletconnectOptions?: SignClientTypes.Options,\n) {\n let modal: WalletConnectModal | undefined;\n let signer: typeof SignClient | undefined;\n let session: SessionTypes.Struct | undefined;\n let accounts: string[] | undefined;\n try {\n if (!walletConnectProjectId) {\n throw new SwapKitError(\"wallet_walletconnect_project_id_not_specified\");\n }\n const requiredNamespaces = getRequiredNamespaces(chains.map(chainToChainId));\n\n const { SignClient } = await import(\"@walletconnect/sign-client\");\n const { WalletConnectModal } = await import(\"@walletconnect/modal\");\n\n const client = await SignClient.init({\n logger: DEFAULT_LOGGER,\n relayUrl: DEFAULT_RELAY_URL,\n projectId: walletConnectProjectId,\n metadata: walletconnectOptions?.metadata || DEFAULT_APP_METADATA,\n ...walletconnectOptions?.core,\n });\n\n const modal = new WalletConnectModal({\n logger: DEFAULT_LOGGER,\n relayUrl: DEFAULT_RELAY_URL,\n projectId: walletConnectProjectId,\n ...walletconnectOptions?.core,\n });\n\n const oldSession = (await client.session.getAll())[0];\n\n // disconnect old Session cause we can't handle using it with current ui\n if (oldSession) {\n await client.disconnect({\n topic: oldSession.topic,\n reason: { code: 0, message: \"Resetting session\" },\n });\n }\n\n const { uri, approval } = await client.connect({\n // Optionally: pass a known prior pairing (e.g. from `client.core.pairing.getPairings()`) to skip the `uri` step.\n // pairingTopic: pairing?.topic,\n // Provide the namespaces and chains (e.g. `eip155` for EVM-based chains) we want to use in this session.\n requiredNamespaces,\n });\n\n if (uri) {\n modal.openModal({ uri });\n // Await session approval from the wallet.\n session = await approval();\n // Handle the returned session (e.g. update UI to \"connected\" state).\n // Close the QRCode modal in case it was open.\n modal.closeModal();\n\n function extractAccountsFromSession(session: SessionTypes.Struct) {\n const accounts: string[] = [];\n\n for (const [_namespace, data] of Object.entries(session.namespaces)) {\n accounts.push(...data.accounts);\n }\n\n return accounts;\n }\n\n accounts = extractAccountsFromSession(session);\n }\n\n const disconnect = async () => {\n session &&\n (await client.disconnect({\n topic: session.topic,\n reason: { code: 0, message: \"User disconnected\" },\n }));\n };\n\n if (!session) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n return { signer, session, accounts, client, disconnect };\n } catch (_e) {\n // Errors are handled by returning undefined\n } finally {\n if (modal) {\n modal.closeModal();\n }\n }\n return undefined;\n}\n",
6
6
  "import { type EVMChain, SwapKitError, WalletOption } from \"@swapkit/helpers\";\nimport type { JsonRpcProvider, Provider, TransactionRequest, TransactionResponse } from \"ethers\";\nimport { AbstractSigner } from \"ethers\";\n\nimport { DEFAULT_EIP155_METHODS } from \"./constants\";\nimport { chainToChainId, getAddressByChain } from \"./helpers\";\nimport type { Walletconnect } from \"./index\";\n\ninterface WalletconnectEVMSignerParams {\n chain: EVMChain;\n walletconnect: Walletconnect;\n provider: Provider | JsonRpcProvider;\n}\n\nclass WalletconnectSigner extends AbstractSigner {\n address: string;\n\n private chain: EVMChain;\n private walletconnect: Walletconnect;\n readonly provider: Provider | JsonRpcProvider;\n\n constructor({ chain, provider, walletconnect }: WalletconnectEVMSignerParams) {\n super(provider);\n this.chain = chain;\n this.walletconnect = walletconnect;\n this.provider = provider;\n this.address = \"\";\n }\n\n // biome-ignore lint/suspicious/useAwait: fulfil implementation type\n getAddress = async () => {\n if (!this.walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n if (!this.address) {\n this.address = getAddressByChain(this.chain, this.walletconnect.accounts || []);\n }\n\n return this.address;\n };\n\n signMessage = async (message: string) => {\n // this is probably broken\n const txHash = (await this.walletconnect?.client.request({\n chainId: chainToChainId(this.chain),\n topic: this.walletconnect.session.topic || \"\",\n request: {\n method: DEFAULT_EIP155_METHODS.ETH_SIGN,\n params: [message],\n },\n })) as string;\n\n return txHash.startsWith(\"0x\") ? txHash : `0x${txHash}`;\n };\n\n signTransaction = () => {\n throw new SwapKitError(\"wallet_walletconnect_method_not_supported\", {\n method: \"signTransaction\",\n });\n\n // const baseTx = {\n // from,\n // to,\n // value: BigNumber.from(value || 0).toHexString(),\n // data,\n // };\n\n // const txHash = (await this.walletconnect?.client.request({\n // chainId: chainToChainId(this.chain),\n // topic: this.walletconnect.session.topic,\n // request: {\n // method: DEFAULT_EIP155_METHODS.ETH_SIGN_TRANSACTION,\n // params: [baseTx],\n // },\n // })) as string;\n\n // return txHash.startsWith('0x') ? txHash : `0x${txHash}`;\n };\n\n // ANCHOR (@Towan) - Implement in future\n signTypedData = () => {\n throw new SwapKitError(\"wallet_walletconnect_method_not_supported\", {\n method: \"signTypedData\",\n });\n\n // const { toHexString } = await import('@swapkit/toolboxes/evm');\n\n // const baseTx = {\n // from,\n // to,\n // value: toHexString(value || 0n),\n // data,\n // };\n\n // const txHash = (await this.walletconnect?.client.request({\n // chainId: chainToChainId(this.chain),\n // topic: this.walletconnect.session.topic,\n // request: {\n // method: DEFAULT_EIP155_METHODS.ETH_SIGN_TYPED_DATA,\n // params: [baseTx],\n // },\n // })) as string;\n\n // return txHash.startsWith('0x') ? txHash : `0x${txHash}`;\n };\n\n sendTransaction = async ({ from, to, value, data }: TransactionRequest) => {\n const { toHexString } = await import(\"@swapkit/toolboxes/evm\");\n\n const baseTx = {\n from,\n to,\n value: toHexString(BigInt(value || 0)),\n data,\n };\n const response = await this.walletconnect?.client.request({\n chainId: chainToChainId(this.chain),\n topic: this.walletconnect.session.topic,\n request: {\n method: DEFAULT_EIP155_METHODS.ETH_SEND_TRANSACTION,\n params: [baseTx],\n },\n });\n\n return response as TransactionResponse;\n };\n\n connect = (provider: Provider | null) => {\n if (!provider) {\n throw new SwapKitError({\n errorKey: \"wallet_provider_not_found\",\n info: { wallet: WalletOption.WALLETCONNECT, chain: this.chain },\n });\n }\n\n return new WalletconnectSigner({\n chain: this.chain,\n walletconnect: this.walletconnect,\n provider,\n });\n };\n}\nexport const getEVMSigner = async ({\n chain,\n walletconnect,\n provider,\n}: WalletconnectEVMSignerParams) => new WalletconnectSigner({ chain, walletconnect, provider });\n",
7
7
  "import { Chain, type EVMChain, SKConfig } from \"@swapkit/helpers\";\n\nimport {\n ARBITRUM_ONE_MAINNET_ID,\n AURORA_MAINNET_ID,\n AVALANCHE_MAINNET_ID,\n BASE_MAINNET_ID,\n BERACHAIN_MAINNET_ID,\n BSC_MAINNET_ID,\n COSMOS_HUB_MAINNET_ID,\n ETHEREUM_MAINNET_ID,\n KUJIRA_MAINNET_ID,\n MAYACHAIN_MAINNET_ID,\n NEAR_MAINNET_ID,\n NEAR_TESTNET_ID,\n OPTIMISM_MAINNET_ID,\n POLYGON_MAINNET_ID,\n THORCHAIN_MAINNET_ID,\n TRON_MAINNET_ID,\n} from \"./constants\";\n\nexport const getAddressByChain = (\n chain:\n | EVMChain\n | Chain.THORChain\n | Chain.Maya\n | Chain.Kujira\n | Chain.Cosmos\n | Chain.Near\n | Chain.Tron,\n accounts: string[],\n) => {\n const account = accounts.find((account) => account.startsWith(chainToChainId(chain))) || \"\";\n const address = account?.split(\":\")?.[2];\n\n return address || \"\";\n};\n\nexport const chainToChainId = (chain: Chain) => {\n switch (chain) {\n case Chain.Avalanche:\n return AVALANCHE_MAINNET_ID;\n case Chain.Aurora:\n return AURORA_MAINNET_ID;\n case Chain.Base:\n return BASE_MAINNET_ID;\n case Chain.BinanceSmartChain:\n return BSC_MAINNET_ID;\n case Chain.Berachain:\n return BERACHAIN_MAINNET_ID;\n case Chain.Ethereum:\n return ETHEREUM_MAINNET_ID;\n case Chain.THORChain:\n return THORCHAIN_MAINNET_ID;\n case Chain.Arbitrum:\n return ARBITRUM_ONE_MAINNET_ID;\n case Chain.Optimism:\n return OPTIMISM_MAINNET_ID;\n case Chain.Polygon:\n return POLYGON_MAINNET_ID;\n case Chain.Maya:\n return MAYACHAIN_MAINNET_ID;\n case Chain.Cosmos:\n return COSMOS_HUB_MAINNET_ID;\n case Chain.Kujira:\n return KUJIRA_MAINNET_ID;\n case Chain.Near: {\n // Use testnet if stagenet is enabled\n const { isStagenet } = SKConfig.get(\"envs\");\n return isStagenet ? NEAR_TESTNET_ID : NEAR_MAINNET_ID;\n }\n case Chain.Tron:\n return TRON_MAINNET_ID;\n default:\n return \"\";\n }\n};\n",
8
8
  "import type { ProposalTypes } from \"@walletconnect/types\";\n\nimport { SwapKitError } from \"@swapkit/helpers\";\nimport {\n DEFAULT_COSMOS_METHODS,\n DEFAULT_EIP155_METHODS,\n DEFAULT_EIP_155_EVENTS,\n DEFAULT_NEAR_EVENTS,\n DEFAULT_NEAR_METHODS,\n DEFAULT_POLKADOT_EVENTS,\n DEFAULT_POLKADOT_METHODS,\n DEFAULT_SOLANA_EVENTS,\n DEFAULT_SOLANA_METHODS,\n DEFAULT_TRON_EVENTS,\n DEFAULT_TRON_METHODS,\n} from \"./constants\";\n\nexport const getNamespacesFromChains = (chains: string[]) => {\n const supportedNamespaces: string[] = [];\n for (const chainId of chains) {\n const [namespace] = chainId.split(\":\");\n if (namespace && !supportedNamespaces.includes(namespace)) {\n supportedNamespaces.push(namespace);\n }\n }\n\n return supportedNamespaces;\n};\n\nexport const getSupportedMethodsByNamespace = (namespace: string) => {\n switch (namespace) {\n case \"eip155\":\n return Object.values(DEFAULT_EIP155_METHODS);\n case \"cosmos\":\n return Object.values(DEFAULT_COSMOS_METHODS);\n case \"solana\":\n return Object.values(DEFAULT_SOLANA_METHODS);\n case \"polkadot\":\n return Object.values(DEFAULT_POLKADOT_METHODS);\n case \"near\":\n return Object.values(DEFAULT_NEAR_METHODS);\n case \"tron\":\n return Object.values(DEFAULT_TRON_METHODS);\n default:\n throw new SwapKitError({\n errorKey: \"wallet_walletconnect_namespace_not_supported\",\n info: { namespace },\n });\n }\n};\n\nexport const getSupportedEventsByNamespace = (namespace: string) => {\n switch (namespace) {\n case \"eip155\":\n return Object.values(DEFAULT_EIP_155_EVENTS);\n case \"cosmos\":\n return [];\n case \"solana\":\n return Object.values(DEFAULT_SOLANA_EVENTS);\n case \"polkadot\":\n return Object.values(DEFAULT_POLKADOT_EVENTS);\n case \"near\":\n return Object.values(DEFAULT_NEAR_EVENTS);\n case \"tron\":\n return Object.values(DEFAULT_TRON_EVENTS);\n default:\n throw new SwapKitError({\n errorKey: \"wallet_walletconnect_namespace_not_supported\",\n info: { namespace },\n });\n }\n};\n\nexport const getRequiredNamespaces = (chains: string[]): ProposalTypes.RequiredNamespaces => {\n const selectedNamespaces = getNamespacesFromChains(chains);\n\n return Object.fromEntries(\n selectedNamespaces.map((namespace) => [\n namespace,\n {\n methods: getSupportedMethodsByNamespace(namespace),\n chains: chains.filter((chain) => chain.startsWith(namespace)),\n events: getSupportedEventsByNamespace(namespace) as any[],\n },\n ]),\n );\n};\n"
9
9
  ],
10
- "mappings": "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",
11
- "debugId": "F186B125A3AE36F964756E2164756E21",
10
+ "mappings": "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",
11
+ "debugId": "56BBC5D0DA211FCD64756E2164756E21",
12
12
  "names": []
13
13
  }
@@ -1,4 +1,4 @@
1
- import{A as v5,B as y5,C as G5,D as J5,E as K5,a as N,b as s,c as I,d as e,e as W,f as t,g as c,h as o,i,j as a,k as n,l as L5,m as O5,n as j5,o as F5,p as f5,q as V5,r as g,s as Y5,t as M,u as z5,v as A,w as ZL,x as Q5,y as X5,z as Z5}from"../../chunk-sbf0f2p4.js";import{F as Z,G as v}from"../../chunk-yqaz2d25.js";import{Chain as j,ChainId as S5,SKConfig as b5,SwapKitError as y,WalletOption as C,filterSupportedChains as x5}from"@swapkit/helpers";import{createWallet as M5,getWalletSupportedChains as m5}from"@swapkit/wallet-core";import{SwapKitError as _,WalletOption as _5}from"@swapkit/helpers";import{AbstractSigner as H5}from"ethers";import{Chain as X,SKConfig as R5}from"@swapkit/helpers";var R=(L,O)=>{return(O.find((z)=>z.startsWith(b(L)))||"")?.split(":")?.[2]||""},b=(L)=>{switch(L){case X.Avalanche:return e;case X.Aurora:return f5;case X.Base:return L5;case X.BinanceSmartChain:return I;case X.Berachain:return V5;case X.Ethereum:return s;case X.THORChain:return W;case X.Arbitrum:return i;case X.Optimism:return a;case X.Polygon:return n;case X.Maya:return o;case X.Cosmos:return t;case X.Kujira:return c;case X.Near:{let{isStagenet:O}=R5.get("envs");return O?j5:O5}case X.Tron:return F5;default:return""}};class m extends H5{address;chain;walletconnect;provider;constructor({chain:L,provider:O,walletconnect:F}){super(O);this.chain=L,this.walletconnect=F,this.provider=O,this.address=""}getAddress=async()=>{if(!this.walletconnect)throw new _("wallet_walletconnect_connection_not_established");if(!this.address)this.address=R(this.chain,this.walletconnect.accounts||[]);return this.address};signMessage=async(L)=>{let O=await this.walletconnect?.client.request({chainId:b(this.chain),topic:this.walletconnect.session.topic||"",request:{method:"eth_sign",params:[L]}});return O.startsWith("0x")?O:`0x${O}`};signTransaction=()=>{throw new _("wallet_walletconnect_method_not_supported",{method:"signTransaction"})};signTypedData=()=>{throw new _("wallet_walletconnect_method_not_supported",{method:"signTypedData"})};sendTransaction=async({from:L,to:O,value:F,data:V})=>{let{toHexString:z}=await import("@swapkit/toolboxes/evm"),f={from:L,to:O,value:z(BigInt(F||0)),data:V};return await this.walletconnect?.client.request({chainId:b(this.chain),topic:this.walletconnect.session.topic,request:{method:"eth_sendTransaction",params:[f]}})};connect=(L)=>{if(!L)throw new _({errorKey:"wallet_provider_not_found",info:{wallet:_5.WALLETCONNECT,chain:this.chain}});return new m({chain:this.chain,walletconnect:this.walletconnect,provider:L})}}var U5=async({chain:L,walletconnect:O,provider:F})=>new m({chain:L,walletconnect:O,provider:F});import{SwapKitError as $5}from"@swapkit/helpers";var r5=(L)=>{let O=[];for(let F of L){let[V]=F.split(":");if(V&&!O.includes(V))O.push(V)}return O},w5=(L)=>{switch(L){case"eip155":return Object.values(M);case"cosmos":return Object.values(A);case"solana":return Object.values(Q5);case"polkadot":return Object.values(Z5);case"near":return Object.values(y5);case"tron":return Object.values(J5);default:throw new $5({errorKey:"wallet_walletconnect_namespace_not_supported",info:{namespace:L}})}},T5=(L)=>{switch(L){case"eip155":return Object.values(z5);case"cosmos":return[];case"solana":return Object.values(X5);case"polkadot":return Object.values(v5);case"near":return Object.values(G5);case"tron":return Object.values(K5);default:throw new $5({errorKey:"wallet_walletconnect_namespace_not_supported",info:{namespace:L}})}},q5=(L)=>{let O=r5(L);return Object.fromEntries(O.map((F)=>[F,{methods:w5(F),chains:L.filter((V)=>V.startsWith(F)),events:T5(F)}]))};var A5=M5({name:"connectWalletconnect",walletType:C.WALLETCONNECT,supportedChains:[j.Arbitrum,j.Aurora,j.Avalanche,j.Base,j.Berachain,j.BinanceSmartChain,j.Cosmos,j.Ethereum,j.Kujira,j.Maya,j.Near,j.Optimism,j.Polygon,j.THORChain,j.Tron],connect:({addChain:L,supportedChains:O,walletType:F})=>async function V(z,f){let U=x5({chains:z,supportedChains:O,walletType:F}),{walletConnectProjectId:J}=b5.get("apiKeys");if(!J)throw new y("wallet_walletconnect_project_id_not_specified");let Q=await g5(U,J,f);if(!Q)throw new y("wallet_walletconnect_connection_not_established");let{accounts:q}=Q;return await Promise.all(U.map(async(G)=>{let Y=R(G,q||[]),p=await N5({address:Y,chain:G,walletconnect:Q});L({...p,address:Y,chain:G,disconnect:Q.disconnect,walletType:C.WALLETCONNECT})})),!0}}),UL=m5(A5);async function N5({chain:L,walletconnect:O,address:F}){let V=O?.session;if(!V)throw new y("wallet_walletconnect_connection_not_established");switch(L){case j.Arbitrum:case j.Avalanche:case j.Base:case j.BinanceSmartChain:case j.Ethereum:case j.Optimism:case j.Polygon:{let{getProvider:z,getEvmToolbox:f}=await import("@swapkit/toolboxes/evm"),U=await z(L),J=await U5({walletconnect:O,chain:L,provider:U});return await f(L,{provider:U,signer:J})}case j.THORChain:{let{SignMode:z}=await import("cosmjs-types/cosmos/tx/signing/v1beta1/signing.js"),{TxRaw:f}=await import("cosmjs-types/cosmos/tx/v1beta1/tx.js"),U=await import("@cosmjs/proto-signing"),J=U.encodePubkey??U.default?.encodePubkey,Q=U.makeAuthInfoBytes??U.default?.makeAuthInfoBytes,G=(await import("@cosmjs/amino")).makeSignDoc??U.default?.makeSignDoc,{getCosmosToolbox:Y,buildAminoMsg:p,buildEncodedTxBody:u,createStargateClient:H,fromBase64:r,getDefaultChainFee:w,parseAminoMessageForDirectSigning:T}=await import("@swapkit/toolboxes/cosmos"),k=await Y(j.THORChain);async function d(K){let B=await k.getAccount(K);if(L!==j.THORChain)return B;let[{address:$,algo:S,pubkey:D}]=await O?.client.request({chainId:W,topic:V.topic,request:{method:"cosmos_getAccounts",params:{}}});return{...B,address:$,pubkey:{type:S,value:D}}}let P=w(L),p5=(K)=>O?.client.request({chainId:W,topic:V.topic,request:{method:"cosmos_signAmino",params:{signerAddress:F,signDoc:K}}});async function h({assetValue:K,memo:E,...B}){let $=await k.getAccount(F);if(!$)throw new y({errorKey:"wallet_missing_params",info:{account:$}});if(!$.pubkey)throw new y({errorKey:"wallet_missing_params",info:{account:$,pubkey:$?.pubkey}});let{accountNumber:S,sequence:D=0}=$,l=[p({assetValue:K,memo:E,sender:F,...B})],k5=S5.THORChain,P5=G(l,P,k5,E,S?.toString(),D?.toString()||"0"),x=await p5(P5),W5=await u({chain:j.THORChain,msgs:l.map(T),memo:E||""}),u5=J($.pubkey),E5=Q([{pubkey:u5,sequence:D}],P.amount,Number.parseInt(P.gas),void 0,void 0,z.SIGN_MODE_LEGACY_AMINO_JSON),B5=f.fromPartial({bodyBytes:W5,authInfoBytes:E5,signatures:[r(typeof x.signature==="string"?x.signature:x.signature.signature)]}),D5=f.encode(B5).finish();return(await(await H(b5.get("rpcUrls")[j.THORChain])).broadcastTx(D5)).transactionHash}return{...k,transfer:(K)=>h(K),deposit:(K)=>h(K),getAccount:d}}case j.Near:{let{getNearToolbox:z}=await import("@swapkit/toolboxes/near"),{DEFAULT_NEAR_METHODS:f}=await import("../../chunk-sbf0f2p4.js");return await z({signer:{getPublicKey(){return Promise.reject(new y("wallet_walletconnect_method_not_supported",{method:"getPublicKey"}))},signNep413Message(Q,q,G,Y,p){return Promise.reject(new y("wallet_walletconnect_method_not_supported",{method:"signNep413Message"}))},async signTransaction(Q){if(!O)throw new y("wallet_walletconnect_connection_not_established");let q=await O.client.request({topic:V.topic,chainId:b(j.Near),request:{method:f.NEAR_SIGN_AND_SEND_TRANSACTION,params:{transaction:Q}}});return[new Uint8Array(32),q]},signDelegateAction(Q){return Promise.reject(new y("wallet_walletconnect_method_not_supported",{method:"signDelegateAction"}))},getAddress(){return Promise.resolve(F)}}})}case j.Tron:{let{createTronToolbox:z}=await import("@swapkit/toolboxes/tron"),{DEFAULT_TRON_METHODS:f}=await import("../../chunk-sbf0f2p4.js");return await z({signer:{getAddress(){return Promise.resolve(F)},async signTransaction(Q){if(!O)throw new y("wallet_walletconnect_connection_not_established");return await O.client.request({topic:V.topic,chainId:b(j.Tron),request:{method:f.TRON_SIGN_TRANSACTION,params:{transaction:Q}}})}}})}default:throw new y({errorKey:"wallet_chain_not_supported",info:{chain:L,wallet:C.WALLETCONNECT}})}}async function g5(L,O,F){let V,z,f,U;try{if(!O)throw new y("wallet_walletconnect_project_id_not_specified");let J=q5(L.map(b)),{SignClient:Q}=await import("@walletconnect/sign-client"),{WalletConnectModal:q}=await import("@walletconnect/modal"),G=new Q({logger:g,relayUrl:N,projectId:O,metadata:F?.metadata||Y5,...F?.core}),Y=new q({logger:g,relayUrl:N,projectId:O,...F?.core}),p=await G.session.getAll()[0];if(p)await G.disconnect({topic:p.topic,reason:{code:0,message:"Resetting session"}});let{uri:u,approval:H}=await G.connect({requiredNamespaces:J});if(u){let w=function(T){let k=[];for(let[d,P]of Object.entries(T.namespaces))k.push(...P.accounts);return k};Y.openModal({uri:u}),f=await H(),Y.closeModal(),U=w(f)}let r=async()=>{f&&await G.disconnect({topic:f.topic,reason:{code:0,message:"User disconnected"}})};if(!f)throw new y("wallet_walletconnect_connection_not_established");return{signer:z,session:f,accounts:U,client:G,disconnect:r}}catch(J){}finally{if(V)V.closeModal()}return}export{A5 as walletconnectWallet,UL as WC_SUPPORTED_CHAINS,F5 as TRON_MAINNET_ID,W as THORCHAIN_MAINNET_ID,n as POLYGON_MAINNET_ID,a as OPTIMISM_MAINNET_ID,j5 as NEAR_TESTNET_ID,O5 as NEAR_MAINNET_ID,o as MAYACHAIN_MAINNET_ID,c as KUJIRA_MAINNET_ID,s as ETHEREUM_MAINNET_ID,J5 as DEFAULT_TRON_METHODS,K5 as DEFAULT_TRON_EVENTS,Q5 as DEFAULT_SOLANA_METHODS,X5 as DEFAULT_SOLANA_EVENTS,N as DEFAULT_RELAY_URL,Z5 as DEFAULT_POLKADOT_METHODS,v5 as DEFAULT_POLKADOT_EVENTS,y5 as DEFAULT_NEAR_METHODS,G5 as DEFAULT_NEAR_EVENTS,g as DEFAULT_LOGGER,z5 as DEFAULT_EIP_155_EVENTS,M as DEFAULT_EIP155_METHODS,A as DEFAULT_COSMOS_METHODS,ZL as DEFAULT_COSMOS_EVENTS,Y5 as DEFAULT_APP_METADATA,t as COSMOS_HUB_MAINNET_ID,I as BSC_MAINNET_ID,V5 as BERACHAIN_MAINNET_ID,L5 as BASE_MAINNET_ID,e as AVALANCHE_MAINNET_ID,f5 as AURORA_MAINNET_ID,i as ARBITRUM_ONE_MAINNET_ID};
1
+ import{A as v5,B as y5,C as G5,D as J5,E as K5,a as N,b as s,c as I,d as e,e as W,f as t,g as c,h as o,i,j as a,k as n,l as L5,m as O5,n as j5,o as F5,p as f5,q as V5,r as g,s as Y5,t as M,u as z5,v as A,w as ZL,x as Q5,y as X5,z as Z5}from"../../chunk-sbf0f2p4.js";import{F as Z,G as v}from"../../chunk-yqaz2d25.js";import{Chain as j,ChainId as S5,SKConfig as b5,SwapKitError as y,WalletOption as C,filterSupportedChains as x5}from"@swapkit/helpers";import{createWallet as M5,getWalletSupportedChains as m5}from"@swapkit/wallet-core";import{SwapKitError as _,WalletOption as _5}from"@swapkit/helpers";import{AbstractSigner as H5}from"ethers";import{Chain as X,SKConfig as R5}from"@swapkit/helpers";var R=(L,O)=>{return(O.find((z)=>z.startsWith(b(L)))||"")?.split(":")?.[2]||""},b=(L)=>{switch(L){case X.Avalanche:return e;case X.Aurora:return f5;case X.Base:return L5;case X.BinanceSmartChain:return I;case X.Berachain:return V5;case X.Ethereum:return s;case X.THORChain:return W;case X.Arbitrum:return i;case X.Optimism:return a;case X.Polygon:return n;case X.Maya:return o;case X.Cosmos:return t;case X.Kujira:return c;case X.Near:{let{isStagenet:O}=R5.get("envs");return O?j5:O5}case X.Tron:return F5;default:return""}};class m extends H5{address;chain;walletconnect;provider;constructor({chain:L,provider:O,walletconnect:F}){super(O);this.chain=L,this.walletconnect=F,this.provider=O,this.address=""}getAddress=async()=>{if(!this.walletconnect)throw new _("wallet_walletconnect_connection_not_established");if(!this.address)this.address=R(this.chain,this.walletconnect.accounts||[]);return this.address};signMessage=async(L)=>{let O=await this.walletconnect?.client.request({chainId:b(this.chain),topic:this.walletconnect.session.topic||"",request:{method:"eth_sign",params:[L]}});return O.startsWith("0x")?O:`0x${O}`};signTransaction=()=>{throw new _("wallet_walletconnect_method_not_supported",{method:"signTransaction"})};signTypedData=()=>{throw new _("wallet_walletconnect_method_not_supported",{method:"signTypedData"})};sendTransaction=async({from:L,to:O,value:F,data:V})=>{let{toHexString:z}=await import("@swapkit/toolboxes/evm"),f={from:L,to:O,value:z(BigInt(F||0)),data:V};return await this.walletconnect?.client.request({chainId:b(this.chain),topic:this.walletconnect.session.topic,request:{method:"eth_sendTransaction",params:[f]}})};connect=(L)=>{if(!L)throw new _({errorKey:"wallet_provider_not_found",info:{wallet:_5.WALLETCONNECT,chain:this.chain}});return new m({chain:this.chain,walletconnect:this.walletconnect,provider:L})}}var U5=async({chain:L,walletconnect:O,provider:F})=>new m({chain:L,walletconnect:O,provider:F});import{SwapKitError as $5}from"@swapkit/helpers";var r5=(L)=>{let O=[];for(let F of L){let[V]=F.split(":");if(V&&!O.includes(V))O.push(V)}return O},w5=(L)=>{switch(L){case"eip155":return Object.values(M);case"cosmos":return Object.values(A);case"solana":return Object.values(Q5);case"polkadot":return Object.values(Z5);case"near":return Object.values(y5);case"tron":return Object.values(J5);default:throw new $5({errorKey:"wallet_walletconnect_namespace_not_supported",info:{namespace:L}})}},T5=(L)=>{switch(L){case"eip155":return Object.values(z5);case"cosmos":return[];case"solana":return Object.values(X5);case"polkadot":return Object.values(v5);case"near":return Object.values(G5);case"tron":return Object.values(K5);default:throw new $5({errorKey:"wallet_walletconnect_namespace_not_supported",info:{namespace:L}})}},q5=(L)=>{let O=r5(L);return Object.fromEntries(O.map((F)=>[F,{methods:w5(F),chains:L.filter((V)=>V.startsWith(F)),events:T5(F)}]))};var A5=M5({name:"connectWalletconnect",walletType:C.WALLETCONNECT,supportedChains:[j.Arbitrum,j.Aurora,j.Avalanche,j.Base,j.Berachain,j.BinanceSmartChain,j.Cosmos,j.Ethereum,j.Kujira,j.Maya,j.Near,j.Optimism,j.Polygon,j.THORChain,j.Tron],connect:({addChain:L,supportedChains:O,walletType:F})=>async function V(z,f){let U=x5({chains:z,supportedChains:O,walletType:F}),{walletConnectProjectId:J}=b5.get("apiKeys");if(!J)throw new y("wallet_walletconnect_project_id_not_specified");let Q=await g5(U,J,f);if(!Q)throw new y("wallet_walletconnect_connection_not_established");let{accounts:q}=Q;return await Promise.all(U.map(async(G)=>{let Y=R(G,q||[]),p=await N5({address:Y,chain:G,walletconnect:Q});L({...p,address:Y,chain:G,disconnect:Q.disconnect,walletType:C.WALLETCONNECT})})),!0}}),UL=m5(A5);async function N5({chain:L,walletconnect:O,address:F}){let V=O?.session;if(!V)throw new y("wallet_walletconnect_connection_not_established");switch(L){case j.Arbitrum:case j.Avalanche:case j.Base:case j.BinanceSmartChain:case j.Ethereum:case j.Optimism:case j.Polygon:{let{getProvider:z,getEvmToolbox:f}=await import("@swapkit/toolboxes/evm"),U=await z(L),J=await U5({walletconnect:O,chain:L,provider:U});return await f(L,{provider:U,signer:J})}case j.THORChain:{let{SignMode:z}=await import("cosmjs-types/cosmos/tx/signing/v1beta1/signing.js"),{TxRaw:f}=await import("cosmjs-types/cosmos/tx/v1beta1/tx.js"),U=await import("@cosmjs/proto-signing"),J=U.encodePubkey??U.default?.encodePubkey,Q=U.makeAuthInfoBytes??U.default?.makeAuthInfoBytes,G=(await import("@cosmjs/amino")).makeSignDoc??U.default?.makeSignDoc,{getCosmosToolbox:Y,buildAminoMsg:p,buildEncodedTxBody:u,createStargateClient:H,fromBase64:r,getDefaultChainFee:w,parseAminoMessageForDirectSigning:T}=await import("@swapkit/toolboxes/cosmos"),k=await Y(j.THORChain);async function d(K){let B=await k.getAccount(K);if(L!==j.THORChain)return B;let[{address:$,algo:S,pubkey:D}]=await O?.client.request({chainId:W,topic:V.topic,request:{method:"cosmos_getAccounts",params:{}}});return{...B,address:$,pubkey:{type:S,value:D}}}let P=w(L),p5=(K)=>O?.client.request({chainId:W,topic:V.topic,request:{method:"cosmos_signAmino",params:{signerAddress:F,signDoc:K}}});async function h({assetValue:K,memo:E,...B}){let $=await k.getAccount(F);if(!$)throw new y({errorKey:"wallet_missing_params",info:{account:$}});if(!$.pubkey)throw new y({errorKey:"wallet_missing_params",info:{account:$,pubkey:$?.pubkey}});let{accountNumber:S,sequence:D=0}=$,l=[p({assetValue:K,memo:E,sender:F,...B})],k5=S5.THORChain,P5=G(l,P,k5,E,S?.toString(),D?.toString()||"0"),x=await p5(P5),W5=await u({chain:j.THORChain,msgs:l.map(T),memo:E||""}),u5=J($.pubkey),E5=Q([{pubkey:u5,sequence:D}],P.amount,Number.parseInt(P.gas),void 0,void 0,z.SIGN_MODE_LEGACY_AMINO_JSON),B5=f.fromPartial({bodyBytes:W5,authInfoBytes:E5,signatures:[r(typeof x.signature==="string"?x.signature:x.signature.signature)]}),D5=f.encode(B5).finish();return(await(await H(b5.get("rpcUrls")[j.THORChain])).broadcastTx(D5)).transactionHash}return{...k,transfer:(K)=>h(K),deposit:(K)=>h(K),getAccount:d}}case j.Near:{let{getNearToolbox:z}=await import("@swapkit/toolboxes/near"),{DEFAULT_NEAR_METHODS:f}=await import("../../chunk-sbf0f2p4.js");return await z({signer:{getPublicKey(){return Promise.reject(new y("wallet_walletconnect_method_not_supported",{method:"getPublicKey"}))},signNep413Message(Q,q,G,Y,p){return Promise.reject(new y("wallet_walletconnect_method_not_supported",{method:"signNep413Message"}))},async signTransaction(Q){if(!O)throw new y("wallet_walletconnect_connection_not_established");let q=await O.client.request({topic:V.topic,chainId:b(j.Near),request:{method:f.NEAR_SIGN_AND_SEND_TRANSACTION,params:{transaction:Q}}});return[new Uint8Array(32),q]},signDelegateAction(Q){return Promise.reject(new y("wallet_walletconnect_method_not_supported",{method:"signDelegateAction"}))},getAddress(){return Promise.resolve(F)}}})}case j.Tron:{let{createTronToolbox:z}=await import("@swapkit/toolboxes/tron"),{DEFAULT_TRON_METHODS:f}=await import("../../chunk-sbf0f2p4.js");return await z({signer:{getAddress(){return Promise.resolve(F)},async signTransaction(Q){if(!O)throw new y("wallet_walletconnect_connection_not_established");return await O.client.request({topic:V.topic,chainId:b(j.Tron),request:{method:f.TRON_SIGN_TRANSACTION,params:{transaction:Q}}})}}})}default:throw new y({errorKey:"wallet_chain_not_supported",info:{chain:L,wallet:C.WALLETCONNECT}})}}async function g5(L,O,F){let V,z,f,U;try{if(!O)throw new y("wallet_walletconnect_project_id_not_specified");let J=q5(L.map(b)),{SignClient:Q}=await import("@walletconnect/sign-client"),{WalletConnectModal:q}=await import("@walletconnect/modal"),G=await Q.init({logger:g,relayUrl:N,projectId:O,metadata:F?.metadata||Y5,...F?.core}),Y=new q({logger:g,relayUrl:N,projectId:O,...F?.core}),p=(await G.session.getAll())[0];if(p)await G.disconnect({topic:p.topic,reason:{code:0,message:"Resetting session"}});let{uri:u,approval:H}=await G.connect({requiredNamespaces:J});if(u){let w=function(T){let k=[];for(let[d,P]of Object.entries(T.namespaces))k.push(...P.accounts);return k};Y.openModal({uri:u}),f=await H(),Y.closeModal(),U=w(f)}let r=async()=>{f&&await G.disconnect({topic:f.topic,reason:{code:0,message:"User disconnected"}})};if(!f)throw new y("wallet_walletconnect_connection_not_established");return{signer:z,session:f,accounts:U,client:G,disconnect:r}}catch(J){}finally{if(V)V.closeModal()}return}export{A5 as walletconnectWallet,UL as WC_SUPPORTED_CHAINS,F5 as TRON_MAINNET_ID,W as THORCHAIN_MAINNET_ID,n as POLYGON_MAINNET_ID,a as OPTIMISM_MAINNET_ID,j5 as NEAR_TESTNET_ID,O5 as NEAR_MAINNET_ID,o as MAYACHAIN_MAINNET_ID,c as KUJIRA_MAINNET_ID,s as ETHEREUM_MAINNET_ID,J5 as DEFAULT_TRON_METHODS,K5 as DEFAULT_TRON_EVENTS,Q5 as DEFAULT_SOLANA_METHODS,X5 as DEFAULT_SOLANA_EVENTS,N as DEFAULT_RELAY_URL,Z5 as DEFAULT_POLKADOT_METHODS,v5 as DEFAULT_POLKADOT_EVENTS,y5 as DEFAULT_NEAR_METHODS,G5 as DEFAULT_NEAR_EVENTS,g as DEFAULT_LOGGER,z5 as DEFAULT_EIP_155_EVENTS,M as DEFAULT_EIP155_METHODS,A as DEFAULT_COSMOS_METHODS,ZL as DEFAULT_COSMOS_EVENTS,Y5 as DEFAULT_APP_METADATA,t as COSMOS_HUB_MAINNET_ID,I as BSC_MAINNET_ID,V5 as BERACHAIN_MAINNET_ID,L5 as BASE_MAINNET_ID,e as AVALANCHE_MAINNET_ID,f5 as AURORA_MAINNET_ID,i as ARBITRUM_ONE_MAINNET_ID};
2
2
 
3
- //# debugId=6ACC42B1DDF41FF364756E2164756E21
3
+ //# debugId=2C4B3637DA86895464756E2164756E21
4
4
  //# sourceMappingURL=index.js.map
@@ -2,12 +2,12 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/walletconnect/index.ts", "../src/walletconnect/evmSigner.ts", "../src/walletconnect/helpers.ts", "../src/walletconnect/namespaces.ts"],
4
4
  "sourcesContent": [
5
- "import type { StdSignDoc } from \"@cosmjs/amino\";\nimport {\n Chain,\n ChainId,\n type GenericTransferParams,\n SKConfig,\n SwapKitError,\n WalletOption,\n filterSupportedChains,\n} from \"@swapkit/helpers\";\nimport type { ThorchainDepositParams, createThorchainToolbox } from \"@swapkit/toolboxes/cosmos\";\nimport type { NearSigner } from \"@swapkit/toolboxes/near\";\nimport type { TronSignedTransaction, TronSigner, TronTransaction } from \"@swapkit/toolboxes/tron\";\nimport type { WalletConnectModal } from \"@walletconnect/modal\";\nimport type { SignClient } from \"@walletconnect/sign-client\";\nimport type { SessionTypes, SignClientTypes } from \"@walletconnect/types\";\nimport type { Transaction } from \"near-api-js/lib/transaction\";\n\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\nimport {\n DEFAULT_APP_METADATA,\n DEFAULT_COSMOS_METHODS,\n DEFAULT_LOGGER,\n DEFAULT_RELAY_URL,\n THORCHAIN_MAINNET_ID,\n} from \"./constants\";\nimport { getEVMSigner } from \"./evmSigner\";\nimport { chainToChainId, getAddressByChain } from \"./helpers\";\nimport { getRequiredNamespaces } from \"./namespaces\";\n\nexport * from \"./constants\";\nexport * from \"./types\";\n\nexport const walletconnectWallet = createWallet({\n name: \"connectWalletconnect\",\n walletType: WalletOption.WALLETCONNECT,\n supportedChains: [\n Chain.Arbitrum,\n Chain.Aurora,\n Chain.Avalanche,\n Chain.Base,\n Chain.Berachain,\n Chain.BinanceSmartChain,\n Chain.Cosmos,\n Chain.Ethereum,\n Chain.Kujira,\n Chain.Maya,\n Chain.Near,\n Chain.Optimism,\n Chain.Polygon,\n Chain.THORChain,\n Chain.Tron,\n ],\n connect: ({ addChain, supportedChains, walletType }) =>\n async function connectWalletconnect(\n chains: Chain[],\n walletconnectOptions?: SignClientTypes.Options,\n ) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n const { walletConnectProjectId } = SKConfig.get(\"apiKeys\");\n\n if (!walletConnectProjectId) {\n throw new SwapKitError(\"wallet_walletconnect_project_id_not_specified\");\n }\n\n const walletconnect = await getWalletconnect(\n filteredChains,\n walletConnectProjectId,\n walletconnectOptions,\n );\n\n if (!walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n const { accounts } = walletconnect;\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n const address = getAddressByChain(chain, accounts || []);\n const toolbox = await getToolbox({ address, chain, walletconnect });\n\n addChain({\n ...toolbox,\n address,\n chain,\n disconnect: walletconnect.disconnect,\n walletType: WalletOption.WALLETCONNECT,\n });\n }),\n );\n\n return true;\n },\n});\n\nexport const WC_SUPPORTED_CHAINS = getWalletSupportedChains(walletconnectWallet);\nexport type Walletconnect = Awaited<ReturnType<typeof getWalletconnect>>;\n\nasync function getToolbox<T extends (typeof WC_SUPPORTED_CHAINS)[number]>({\n chain,\n walletconnect,\n address,\n}: {\n walletconnect: Walletconnect;\n chain: T;\n address: string;\n}) {\n const session = walletconnect?.session;\n if (!session) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n switch (chain) {\n case Chain.Arbitrum:\n case Chain.Avalanche:\n case Chain.Base:\n case Chain.BinanceSmartChain:\n case Chain.Ethereum:\n case Chain.Optimism:\n case Chain.Polygon: {\n const { getProvider, getEvmToolbox } = await import(\"@swapkit/toolboxes/evm\");\n\n const provider = await getProvider(chain);\n const signer = await getEVMSigner({ walletconnect, chain, provider });\n const toolbox = await getEvmToolbox(chain, { provider, signer });\n\n return toolbox;\n }\n\n case Chain.THORChain: {\n const { SignMode } = await import(\"cosmjs-types/cosmos/tx/signing/v1beta1/signing.js\");\n const { TxRaw } = await import(\"cosmjs-types/cosmos/tx/v1beta1/tx.js\");\n\n const importedSigning = await import(\"@cosmjs/proto-signing\");\n const encodePubkey = importedSigning.encodePubkey ?? importedSigning.default?.encodePubkey;\n const makeAuthInfoBytes =\n importedSigning.makeAuthInfoBytes ?? importedSigning.default?.makeAuthInfoBytes;\n const importedAmino = await import(\"@cosmjs/amino\");\n const makeSignDoc = importedAmino.makeSignDoc ?? importedSigning.default?.makeSignDoc;\n\n const {\n getCosmosToolbox,\n buildAminoMsg,\n buildEncodedTxBody,\n createStargateClient,\n fromBase64,\n getDefaultChainFee,\n parseAminoMessageForDirectSigning,\n } = await import(\"@swapkit/toolboxes/cosmos\");\n const toolbox = await getCosmosToolbox(Chain.THORChain);\n\n async function getAccount(accountAddress: string) {\n const cosmosToolbox = toolbox;\n const account = await (\n cosmosToolbox as Awaited<ReturnType<typeof createThorchainToolbox>>\n ).getAccount(accountAddress);\n\n if (chain !== Chain.THORChain) {\n return account;\n }\n\n const [{ address, algo, pubkey }] = (await walletconnect?.client.request({\n chainId: THORCHAIN_MAINNET_ID,\n // @ts-ignore\n topic: session.topic,\n request: {\n method: DEFAULT_COSMOS_METHODS.COSMOS_GET_ACCOUNTS,\n params: {},\n },\n })) as [{ address: string; algo: string; pubkey: string }];\n\n return { ...account, address, pubkey: { type: algo, value: pubkey } };\n }\n\n const fee = getDefaultChainFee(chain);\n\n const signRequest = (signDoc: StdSignDoc) =>\n walletconnect?.client.request({\n chainId: THORCHAIN_MAINNET_ID,\n topic: session.topic,\n request: {\n method: DEFAULT_COSMOS_METHODS.COSMOS_SIGN_AMINO,\n params: { signerAddress: address, signDoc },\n },\n });\n\n async function thorchainTransfer({\n assetValue,\n memo,\n ...rest\n }: GenericTransferParams | ThorchainDepositParams) {\n const account = await toolbox.getAccount(address);\n if (!account) {\n throw new SwapKitError({ errorKey: \"wallet_missing_params\", info: { account } });\n }\n\n if (!account.pubkey) {\n throw new SwapKitError({\n errorKey: \"wallet_missing_params\",\n info: { account, pubkey: account?.pubkey },\n });\n }\n\n const { accountNumber, sequence = 0 } = account;\n\n const msgs = [buildAminoMsg({ assetValue, memo, sender: address, ...rest })];\n\n const chainId = ChainId.THORChain;\n\n const signDoc = makeSignDoc(\n msgs,\n fee,\n chainId,\n memo,\n accountNumber?.toString(),\n sequence?.toString() || \"0\",\n );\n\n const signature: any = await signRequest(signDoc);\n\n const bodyBytes = await buildEncodedTxBody({\n chain: Chain.THORChain,\n msgs: msgs.map(parseAminoMessageForDirectSigning),\n memo: memo || \"\",\n });\n const pubkey = encodePubkey(account.pubkey);\n const authInfoBytes = makeAuthInfoBytes(\n [{ pubkey, sequence }],\n fee.amount,\n Number.parseInt(fee.gas),\n undefined,\n undefined,\n SignMode.SIGN_MODE_LEGACY_AMINO_JSON,\n );\n\n const txRaw = TxRaw.fromPartial({\n bodyBytes,\n authInfoBytes,\n signatures: [\n fromBase64(\n typeof signature.signature === \"string\"\n ? signature.signature\n : signature.signature.signature,\n ),\n ],\n });\n const txBytes = TxRaw.encode(txRaw).finish();\n\n const broadcaster = await createStargateClient(SKConfig.get(\"rpcUrls\")[Chain.THORChain]);\n const result = await broadcaster.broadcastTx(txBytes);\n return result.transactionHash;\n }\n\n return {\n ...toolbox,\n transfer: (params: GenericTransferParams) => thorchainTransfer(params),\n deposit: (params: ThorchainDepositParams) => thorchainTransfer(params),\n getAccount,\n };\n }\n\n case Chain.Near: {\n const { getNearToolbox } = await import(\"@swapkit/toolboxes/near\");\n const { DEFAULT_NEAR_METHODS } = await import(\"./constants\");\n\n // Create a NEAR signer that uses WalletConnect\n const signer = {\n getPublicKey() {\n // WalletConnect NEAR doesn't expose public key directly\n return Promise.reject(\n new SwapKitError(\"wallet_walletconnect_method_not_supported\", {\n method: \"getPublicKey\",\n }),\n );\n },\n\n signNep413Message(\n _message: string,\n _accountId: string,\n _recipient: string,\n _nonce: Uint8Array,\n _callbackUrl?: string,\n ) {\n // WalletConnect NEAR spec doesn't include NEP-413 message signing\n return Promise.reject(\n new SwapKitError(\"wallet_walletconnect_method_not_supported\", {\n method: \"signNep413Message\",\n }),\n );\n },\n\n async signTransaction(transaction: Transaction) {\n if (!walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n // WalletConnect signs and sends in one operation\n const result = await walletconnect.client.request({\n topic: session.topic,\n chainId: chainToChainId(Chain.Near),\n request: {\n method: DEFAULT_NEAR_METHODS.NEAR_SIGN_AND_SEND_TRANSACTION,\n params: { transaction },\n },\n });\n // Return dummy hash and result\n return [new Uint8Array(32), result];\n },\n\n signDelegateAction(_delegateAction: any) {\n return Promise.reject(\n new SwapKitError(\"wallet_walletconnect_method_not_supported\", {\n method: \"signDelegateAction\",\n }),\n );\n },\n\n getAddress() {\n return Promise.resolve(address);\n },\n } as NearSigner;\n\n const toolbox = await getNearToolbox({ signer });\n return toolbox;\n }\n\n case Chain.Tron: {\n const { createTronToolbox } = await import(\"@swapkit/toolboxes/tron\");\n const { DEFAULT_TRON_METHODS } = await import(\"./constants\");\n\n // Create a Tron signer that uses WalletConnect\n const signer: TronSigner = {\n getAddress() {\n return Promise.resolve(address);\n },\n\n async signTransaction(transaction: TronTransaction) {\n if (!walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n const signedTx = await walletconnect.client.request({\n topic: session.topic,\n chainId: chainToChainId(Chain.Tron),\n request: {\n method: DEFAULT_TRON_METHODS.TRON_SIGN_TRANSACTION,\n params: { transaction },\n },\n });\n\n return signedTx as TronSignedTransaction;\n },\n };\n\n const toolbox = await createTronToolbox({ signer });\n return toolbox;\n }\n\n default:\n throw new SwapKitError({\n errorKey: \"wallet_chain_not_supported\",\n info: { chain, wallet: WalletOption.WALLETCONNECT },\n });\n }\n}\n\nasync function getWalletconnect(\n chains: Chain[],\n walletConnectProjectId?: string,\n walletconnectOptions?: SignClientTypes.Options,\n) {\n let modal: WalletConnectModal | undefined;\n let signer: typeof SignClient | undefined;\n let session: SessionTypes.Struct | undefined;\n let accounts: string[] | undefined;\n try {\n if (!walletConnectProjectId) {\n throw new SwapKitError(\"wallet_walletconnect_project_id_not_specified\");\n }\n const requiredNamespaces = getRequiredNamespaces(chains.map(chainToChainId));\n\n const { SignClient } = await import(\"@walletconnect/sign-client\");\n const { WalletConnectModal } = await import(\"@walletconnect/modal\");\n\n const client = new SignClient({\n logger: DEFAULT_LOGGER,\n relayUrl: DEFAULT_RELAY_URL,\n projectId: walletConnectProjectId,\n metadata: walletconnectOptions?.metadata || DEFAULT_APP_METADATA,\n ...walletconnectOptions?.core,\n });\n\n const modal = new WalletConnectModal({\n logger: DEFAULT_LOGGER,\n relayUrl: DEFAULT_RELAY_URL,\n projectId: walletConnectProjectId,\n ...walletconnectOptions?.core,\n });\n\n const oldSession = await client.session.getAll()[0];\n\n // disconnect old Session cause we can't handle using it with current ui\n if (oldSession) {\n await client.disconnect({\n topic: oldSession.topic,\n reason: { code: 0, message: \"Resetting session\" },\n });\n }\n\n const { uri, approval } = await client.connect({\n // Optionally: pass a known prior pairing (e.g. from `client.core.pairing.getPairings()`) to skip the `uri` step.\n // pairingTopic: pairing?.topic,\n // Provide the namespaces and chains (e.g. `eip155` for EVM-based chains) we want to use in this session.\n requiredNamespaces,\n });\n\n if (uri) {\n modal.openModal({ uri });\n // Await session approval from the wallet.\n session = await approval();\n // Handle the returned session (e.g. update UI to \"connected\" state).\n // Close the QRCode modal in case it was open.\n modal.closeModal();\n\n function extractAccountsFromSession(session: SessionTypes.Struct) {\n const accounts: string[] = [];\n\n for (const [_namespace, data] of Object.entries(session.namespaces)) {\n accounts.push(...data.accounts);\n }\n\n return accounts;\n }\n\n accounts = extractAccountsFromSession(session);\n }\n\n const disconnect = async () => {\n session &&\n (await client.disconnect({\n topic: session.topic,\n reason: { code: 0, message: \"User disconnected\" },\n }));\n };\n\n if (!session) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n return { signer, session, accounts, client, disconnect };\n } catch (_e) {\n // Errors are handled by returning undefined\n } finally {\n if (modal) {\n modal.closeModal();\n }\n }\n return undefined;\n}\n",
5
+ "import type { StdSignDoc } from \"@cosmjs/amino\";\nimport {\n Chain,\n ChainId,\n type GenericTransferParams,\n SKConfig,\n SwapKitError,\n WalletOption,\n filterSupportedChains,\n} from \"@swapkit/helpers\";\nimport type { ThorchainDepositParams, createThorchainToolbox } from \"@swapkit/toolboxes/cosmos\";\nimport type { NearSigner } from \"@swapkit/toolboxes/near\";\nimport type { TronSignedTransaction, TronSigner, TronTransaction } from \"@swapkit/toolboxes/tron\";\nimport type { WalletConnectModal } from \"@walletconnect/modal\";\nimport type { SignClient } from \"@walletconnect/sign-client\";\nimport type { SessionTypes, SignClientTypes } from \"@walletconnect/types\";\nimport type { Transaction } from \"near-api-js/lib/transaction\";\n\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\nimport {\n DEFAULT_APP_METADATA,\n DEFAULT_COSMOS_METHODS,\n DEFAULT_LOGGER,\n DEFAULT_RELAY_URL,\n THORCHAIN_MAINNET_ID,\n} from \"./constants\";\nimport { getEVMSigner } from \"./evmSigner\";\nimport { chainToChainId, getAddressByChain } from \"./helpers\";\nimport { getRequiredNamespaces } from \"./namespaces\";\n\nexport * from \"./constants\";\nexport * from \"./types\";\n\nexport const walletconnectWallet = createWallet({\n name: \"connectWalletconnect\",\n walletType: WalletOption.WALLETCONNECT,\n supportedChains: [\n Chain.Arbitrum,\n Chain.Aurora,\n Chain.Avalanche,\n Chain.Base,\n Chain.Berachain,\n Chain.BinanceSmartChain,\n Chain.Cosmos,\n Chain.Ethereum,\n Chain.Kujira,\n Chain.Maya,\n Chain.Near,\n Chain.Optimism,\n Chain.Polygon,\n Chain.THORChain,\n Chain.Tron,\n ],\n connect: ({ addChain, supportedChains, walletType }) =>\n async function connectWalletconnect(\n chains: Chain[],\n walletconnectOptions?: SignClientTypes.Options,\n ) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n const { walletConnectProjectId } = SKConfig.get(\"apiKeys\");\n\n if (!walletConnectProjectId) {\n throw new SwapKitError(\"wallet_walletconnect_project_id_not_specified\");\n }\n\n const walletconnect = await getWalletconnect(\n filteredChains,\n walletConnectProjectId,\n walletconnectOptions,\n );\n\n if (!walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n const { accounts } = walletconnect;\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n const address = getAddressByChain(chain, accounts || []);\n const toolbox = await getToolbox({ address, chain, walletconnect });\n\n addChain({\n ...toolbox,\n address,\n chain,\n disconnect: walletconnect.disconnect,\n walletType: WalletOption.WALLETCONNECT,\n });\n }),\n );\n\n return true;\n },\n});\n\nexport const WC_SUPPORTED_CHAINS = getWalletSupportedChains(walletconnectWallet);\nexport type Walletconnect = Awaited<ReturnType<typeof getWalletconnect>>;\n\nasync function getToolbox<T extends (typeof WC_SUPPORTED_CHAINS)[number]>({\n chain,\n walletconnect,\n address,\n}: {\n walletconnect: Walletconnect;\n chain: T;\n address: string;\n}) {\n const session = walletconnect?.session;\n if (!session) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n switch (chain) {\n case Chain.Arbitrum:\n case Chain.Avalanche:\n case Chain.Base:\n case Chain.BinanceSmartChain:\n case Chain.Ethereum:\n case Chain.Optimism:\n case Chain.Polygon: {\n const { getProvider, getEvmToolbox } = await import(\"@swapkit/toolboxes/evm\");\n\n const provider = await getProvider(chain);\n const signer = await getEVMSigner({ walletconnect, chain, provider });\n const toolbox = await getEvmToolbox(chain, { provider, signer });\n\n return toolbox;\n }\n\n case Chain.THORChain: {\n const { SignMode } = await import(\"cosmjs-types/cosmos/tx/signing/v1beta1/signing.js\");\n const { TxRaw } = await import(\"cosmjs-types/cosmos/tx/v1beta1/tx.js\");\n\n const importedSigning = await import(\"@cosmjs/proto-signing\");\n const encodePubkey = importedSigning.encodePubkey ?? importedSigning.default?.encodePubkey;\n const makeAuthInfoBytes =\n importedSigning.makeAuthInfoBytes ?? importedSigning.default?.makeAuthInfoBytes;\n const importedAmino = await import(\"@cosmjs/amino\");\n const makeSignDoc = importedAmino.makeSignDoc ?? importedSigning.default?.makeSignDoc;\n\n const {\n getCosmosToolbox,\n buildAminoMsg,\n buildEncodedTxBody,\n createStargateClient,\n fromBase64,\n getDefaultChainFee,\n parseAminoMessageForDirectSigning,\n } = await import(\"@swapkit/toolboxes/cosmos\");\n const toolbox = await getCosmosToolbox(Chain.THORChain);\n\n async function getAccount(accountAddress: string) {\n const cosmosToolbox = toolbox;\n const account = await (\n cosmosToolbox as Awaited<ReturnType<typeof createThorchainToolbox>>\n ).getAccount(accountAddress);\n\n if (chain !== Chain.THORChain) {\n return account;\n }\n\n const [{ address, algo, pubkey }] = (await walletconnect?.client.request({\n chainId: THORCHAIN_MAINNET_ID,\n // @ts-ignore\n topic: session.topic,\n request: {\n method: DEFAULT_COSMOS_METHODS.COSMOS_GET_ACCOUNTS,\n params: {},\n },\n })) as [{ address: string; algo: string; pubkey: string }];\n\n return { ...account, address, pubkey: { type: algo, value: pubkey } };\n }\n\n const fee = getDefaultChainFee(chain);\n\n const signRequest = (signDoc: StdSignDoc) =>\n walletconnect?.client.request({\n chainId: THORCHAIN_MAINNET_ID,\n topic: session.topic,\n request: {\n method: DEFAULT_COSMOS_METHODS.COSMOS_SIGN_AMINO,\n params: { signerAddress: address, signDoc },\n },\n });\n\n async function thorchainTransfer({\n assetValue,\n memo,\n ...rest\n }: GenericTransferParams | ThorchainDepositParams) {\n const account = await toolbox.getAccount(address);\n if (!account) {\n throw new SwapKitError({ errorKey: \"wallet_missing_params\", info: { account } });\n }\n\n if (!account.pubkey) {\n throw new SwapKitError({\n errorKey: \"wallet_missing_params\",\n info: { account, pubkey: account?.pubkey },\n });\n }\n\n const { accountNumber, sequence = 0 } = account;\n\n const msgs = [buildAminoMsg({ assetValue, memo, sender: address, ...rest })];\n\n const chainId = ChainId.THORChain;\n\n const signDoc = makeSignDoc(\n msgs,\n fee,\n chainId,\n memo,\n accountNumber?.toString(),\n sequence?.toString() || \"0\",\n );\n\n const signature: any = await signRequest(signDoc);\n\n const bodyBytes = await buildEncodedTxBody({\n chain: Chain.THORChain,\n msgs: msgs.map(parseAminoMessageForDirectSigning),\n memo: memo || \"\",\n });\n const pubkey = encodePubkey(account.pubkey);\n const authInfoBytes = makeAuthInfoBytes(\n [{ pubkey, sequence }],\n fee.amount,\n Number.parseInt(fee.gas),\n undefined,\n undefined,\n SignMode.SIGN_MODE_LEGACY_AMINO_JSON,\n );\n\n const txRaw = TxRaw.fromPartial({\n bodyBytes,\n authInfoBytes,\n signatures: [\n fromBase64(\n typeof signature.signature === \"string\"\n ? signature.signature\n : signature.signature.signature,\n ),\n ],\n });\n const txBytes = TxRaw.encode(txRaw).finish();\n\n const broadcaster = await createStargateClient(SKConfig.get(\"rpcUrls\")[Chain.THORChain]);\n const result = await broadcaster.broadcastTx(txBytes);\n return result.transactionHash;\n }\n\n return {\n ...toolbox,\n transfer: (params: GenericTransferParams) => thorchainTransfer(params),\n deposit: (params: ThorchainDepositParams) => thorchainTransfer(params),\n getAccount,\n };\n }\n\n case Chain.Near: {\n const { getNearToolbox } = await import(\"@swapkit/toolboxes/near\");\n const { DEFAULT_NEAR_METHODS } = await import(\"./constants\");\n\n // Create a NEAR signer that uses WalletConnect\n const signer = {\n getPublicKey() {\n // WalletConnect NEAR doesn't expose public key directly\n return Promise.reject(\n new SwapKitError(\"wallet_walletconnect_method_not_supported\", {\n method: \"getPublicKey\",\n }),\n );\n },\n\n signNep413Message(\n _message: string,\n _accountId: string,\n _recipient: string,\n _nonce: Uint8Array,\n _callbackUrl?: string,\n ) {\n // WalletConnect NEAR spec doesn't include NEP-413 message signing\n return Promise.reject(\n new SwapKitError(\"wallet_walletconnect_method_not_supported\", {\n method: \"signNep413Message\",\n }),\n );\n },\n\n async signTransaction(transaction: Transaction) {\n if (!walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n // WalletConnect signs and sends in one operation\n const result = await walletconnect.client.request({\n topic: session.topic,\n chainId: chainToChainId(Chain.Near),\n request: {\n method: DEFAULT_NEAR_METHODS.NEAR_SIGN_AND_SEND_TRANSACTION,\n params: { transaction },\n },\n });\n // Return dummy hash and result\n return [new Uint8Array(32), result];\n },\n\n signDelegateAction(_delegateAction: any) {\n return Promise.reject(\n new SwapKitError(\"wallet_walletconnect_method_not_supported\", {\n method: \"signDelegateAction\",\n }),\n );\n },\n\n getAddress() {\n return Promise.resolve(address);\n },\n } as NearSigner;\n\n const toolbox = await getNearToolbox({ signer });\n return toolbox;\n }\n\n case Chain.Tron: {\n const { createTronToolbox } = await import(\"@swapkit/toolboxes/tron\");\n const { DEFAULT_TRON_METHODS } = await import(\"./constants\");\n\n // Create a Tron signer that uses WalletConnect\n const signer: TronSigner = {\n getAddress() {\n return Promise.resolve(address);\n },\n\n async signTransaction(transaction: TronTransaction) {\n if (!walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n const signedTx = await walletconnect.client.request({\n topic: session.topic,\n chainId: chainToChainId(Chain.Tron),\n request: {\n method: DEFAULT_TRON_METHODS.TRON_SIGN_TRANSACTION,\n params: { transaction },\n },\n });\n\n return signedTx as TronSignedTransaction;\n },\n };\n\n const toolbox = await createTronToolbox({ signer });\n return toolbox;\n }\n\n default:\n throw new SwapKitError({\n errorKey: \"wallet_chain_not_supported\",\n info: { chain, wallet: WalletOption.WALLETCONNECT },\n });\n }\n}\n\nasync function getWalletconnect(\n chains: Chain[],\n walletConnectProjectId?: string,\n walletconnectOptions?: SignClientTypes.Options,\n) {\n let modal: WalletConnectModal | undefined;\n let signer: typeof SignClient | undefined;\n let session: SessionTypes.Struct | undefined;\n let accounts: string[] | undefined;\n try {\n if (!walletConnectProjectId) {\n throw new SwapKitError(\"wallet_walletconnect_project_id_not_specified\");\n }\n const requiredNamespaces = getRequiredNamespaces(chains.map(chainToChainId));\n\n const { SignClient } = await import(\"@walletconnect/sign-client\");\n const { WalletConnectModal } = await import(\"@walletconnect/modal\");\n\n const client = await SignClient.init({\n logger: DEFAULT_LOGGER,\n relayUrl: DEFAULT_RELAY_URL,\n projectId: walletConnectProjectId,\n metadata: walletconnectOptions?.metadata || DEFAULT_APP_METADATA,\n ...walletconnectOptions?.core,\n });\n\n const modal = new WalletConnectModal({\n logger: DEFAULT_LOGGER,\n relayUrl: DEFAULT_RELAY_URL,\n projectId: walletConnectProjectId,\n ...walletconnectOptions?.core,\n });\n\n const oldSession = (await client.session.getAll())[0];\n\n // disconnect old Session cause we can't handle using it with current ui\n if (oldSession) {\n await client.disconnect({\n topic: oldSession.topic,\n reason: { code: 0, message: \"Resetting session\" },\n });\n }\n\n const { uri, approval } = await client.connect({\n // Optionally: pass a known prior pairing (e.g. from `client.core.pairing.getPairings()`) to skip the `uri` step.\n // pairingTopic: pairing?.topic,\n // Provide the namespaces and chains (e.g. `eip155` for EVM-based chains) we want to use in this session.\n requiredNamespaces,\n });\n\n if (uri) {\n modal.openModal({ uri });\n // Await session approval from the wallet.\n session = await approval();\n // Handle the returned session (e.g. update UI to \"connected\" state).\n // Close the QRCode modal in case it was open.\n modal.closeModal();\n\n function extractAccountsFromSession(session: SessionTypes.Struct) {\n const accounts: string[] = [];\n\n for (const [_namespace, data] of Object.entries(session.namespaces)) {\n accounts.push(...data.accounts);\n }\n\n return accounts;\n }\n\n accounts = extractAccountsFromSession(session);\n }\n\n const disconnect = async () => {\n session &&\n (await client.disconnect({\n topic: session.topic,\n reason: { code: 0, message: \"User disconnected\" },\n }));\n };\n\n if (!session) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n\n return { signer, session, accounts, client, disconnect };\n } catch (_e) {\n // Errors are handled by returning undefined\n } finally {\n if (modal) {\n modal.closeModal();\n }\n }\n return undefined;\n}\n",
6
6
  "import { type EVMChain, SwapKitError, WalletOption } from \"@swapkit/helpers\";\nimport type { JsonRpcProvider, Provider, TransactionRequest, TransactionResponse } from \"ethers\";\nimport { AbstractSigner } from \"ethers\";\n\nimport { DEFAULT_EIP155_METHODS } from \"./constants\";\nimport { chainToChainId, getAddressByChain } from \"./helpers\";\nimport type { Walletconnect } from \"./index\";\n\ninterface WalletconnectEVMSignerParams {\n chain: EVMChain;\n walletconnect: Walletconnect;\n provider: Provider | JsonRpcProvider;\n}\n\nclass WalletconnectSigner extends AbstractSigner {\n address: string;\n\n private chain: EVMChain;\n private walletconnect: Walletconnect;\n readonly provider: Provider | JsonRpcProvider;\n\n constructor({ chain, provider, walletconnect }: WalletconnectEVMSignerParams) {\n super(provider);\n this.chain = chain;\n this.walletconnect = walletconnect;\n this.provider = provider;\n this.address = \"\";\n }\n\n // biome-ignore lint/suspicious/useAwait: fulfil implementation type\n getAddress = async () => {\n if (!this.walletconnect) {\n throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n }\n if (!this.address) {\n this.address = getAddressByChain(this.chain, this.walletconnect.accounts || []);\n }\n\n return this.address;\n };\n\n signMessage = async (message: string) => {\n // this is probably broken\n const txHash = (await this.walletconnect?.client.request({\n chainId: chainToChainId(this.chain),\n topic: this.walletconnect.session.topic || \"\",\n request: {\n method: DEFAULT_EIP155_METHODS.ETH_SIGN,\n params: [message],\n },\n })) as string;\n\n return txHash.startsWith(\"0x\") ? txHash : `0x${txHash}`;\n };\n\n signTransaction = () => {\n throw new SwapKitError(\"wallet_walletconnect_method_not_supported\", {\n method: \"signTransaction\",\n });\n\n // const baseTx = {\n // from,\n // to,\n // value: BigNumber.from(value || 0).toHexString(),\n // data,\n // };\n\n // const txHash = (await this.walletconnect?.client.request({\n // chainId: chainToChainId(this.chain),\n // topic: this.walletconnect.session.topic,\n // request: {\n // method: DEFAULT_EIP155_METHODS.ETH_SIGN_TRANSACTION,\n // params: [baseTx],\n // },\n // })) as string;\n\n // return txHash.startsWith('0x') ? txHash : `0x${txHash}`;\n };\n\n // ANCHOR (@Towan) - Implement in future\n signTypedData = () => {\n throw new SwapKitError(\"wallet_walletconnect_method_not_supported\", {\n method: \"signTypedData\",\n });\n\n // const { toHexString } = await import('@swapkit/toolboxes/evm');\n\n // const baseTx = {\n // from,\n // to,\n // value: toHexString(value || 0n),\n // data,\n // };\n\n // const txHash = (await this.walletconnect?.client.request({\n // chainId: chainToChainId(this.chain),\n // topic: this.walletconnect.session.topic,\n // request: {\n // method: DEFAULT_EIP155_METHODS.ETH_SIGN_TYPED_DATA,\n // params: [baseTx],\n // },\n // })) as string;\n\n // return txHash.startsWith('0x') ? txHash : `0x${txHash}`;\n };\n\n sendTransaction = async ({ from, to, value, data }: TransactionRequest) => {\n const { toHexString } = await import(\"@swapkit/toolboxes/evm\");\n\n const baseTx = {\n from,\n to,\n value: toHexString(BigInt(value || 0)),\n data,\n };\n const response = await this.walletconnect?.client.request({\n chainId: chainToChainId(this.chain),\n topic: this.walletconnect.session.topic,\n request: {\n method: DEFAULT_EIP155_METHODS.ETH_SEND_TRANSACTION,\n params: [baseTx],\n },\n });\n\n return response as TransactionResponse;\n };\n\n connect = (provider: Provider | null) => {\n if (!provider) {\n throw new SwapKitError({\n errorKey: \"wallet_provider_not_found\",\n info: { wallet: WalletOption.WALLETCONNECT, chain: this.chain },\n });\n }\n\n return new WalletconnectSigner({\n chain: this.chain,\n walletconnect: this.walletconnect,\n provider,\n });\n };\n}\nexport const getEVMSigner = async ({\n chain,\n walletconnect,\n provider,\n}: WalletconnectEVMSignerParams) => new WalletconnectSigner({ chain, walletconnect, provider });\n",
7
7
  "import { Chain, type EVMChain, SKConfig } from \"@swapkit/helpers\";\n\nimport {\n ARBITRUM_ONE_MAINNET_ID,\n AURORA_MAINNET_ID,\n AVALANCHE_MAINNET_ID,\n BASE_MAINNET_ID,\n BERACHAIN_MAINNET_ID,\n BSC_MAINNET_ID,\n COSMOS_HUB_MAINNET_ID,\n ETHEREUM_MAINNET_ID,\n KUJIRA_MAINNET_ID,\n MAYACHAIN_MAINNET_ID,\n NEAR_MAINNET_ID,\n NEAR_TESTNET_ID,\n OPTIMISM_MAINNET_ID,\n POLYGON_MAINNET_ID,\n THORCHAIN_MAINNET_ID,\n TRON_MAINNET_ID,\n} from \"./constants\";\n\nexport const getAddressByChain = (\n chain:\n | EVMChain\n | Chain.THORChain\n | Chain.Maya\n | Chain.Kujira\n | Chain.Cosmos\n | Chain.Near\n | Chain.Tron,\n accounts: string[],\n) => {\n const account = accounts.find((account) => account.startsWith(chainToChainId(chain))) || \"\";\n const address = account?.split(\":\")?.[2];\n\n return address || \"\";\n};\n\nexport const chainToChainId = (chain: Chain) => {\n switch (chain) {\n case Chain.Avalanche:\n return AVALANCHE_MAINNET_ID;\n case Chain.Aurora:\n return AURORA_MAINNET_ID;\n case Chain.Base:\n return BASE_MAINNET_ID;\n case Chain.BinanceSmartChain:\n return BSC_MAINNET_ID;\n case Chain.Berachain:\n return BERACHAIN_MAINNET_ID;\n case Chain.Ethereum:\n return ETHEREUM_MAINNET_ID;\n case Chain.THORChain:\n return THORCHAIN_MAINNET_ID;\n case Chain.Arbitrum:\n return ARBITRUM_ONE_MAINNET_ID;\n case Chain.Optimism:\n return OPTIMISM_MAINNET_ID;\n case Chain.Polygon:\n return POLYGON_MAINNET_ID;\n case Chain.Maya:\n return MAYACHAIN_MAINNET_ID;\n case Chain.Cosmos:\n return COSMOS_HUB_MAINNET_ID;\n case Chain.Kujira:\n return KUJIRA_MAINNET_ID;\n case Chain.Near: {\n // Use testnet if stagenet is enabled\n const { isStagenet } = SKConfig.get(\"envs\");\n return isStagenet ? NEAR_TESTNET_ID : NEAR_MAINNET_ID;\n }\n case Chain.Tron:\n return TRON_MAINNET_ID;\n default:\n return \"\";\n }\n};\n",
8
8
  "import type { ProposalTypes } from \"@walletconnect/types\";\n\nimport { SwapKitError } from \"@swapkit/helpers\";\nimport {\n DEFAULT_COSMOS_METHODS,\n DEFAULT_EIP155_METHODS,\n DEFAULT_EIP_155_EVENTS,\n DEFAULT_NEAR_EVENTS,\n DEFAULT_NEAR_METHODS,\n DEFAULT_POLKADOT_EVENTS,\n DEFAULT_POLKADOT_METHODS,\n DEFAULT_SOLANA_EVENTS,\n DEFAULT_SOLANA_METHODS,\n DEFAULT_TRON_EVENTS,\n DEFAULT_TRON_METHODS,\n} from \"./constants\";\n\nexport const getNamespacesFromChains = (chains: string[]) => {\n const supportedNamespaces: string[] = [];\n for (const chainId of chains) {\n const [namespace] = chainId.split(\":\");\n if (namespace && !supportedNamespaces.includes(namespace)) {\n supportedNamespaces.push(namespace);\n }\n }\n\n return supportedNamespaces;\n};\n\nexport const getSupportedMethodsByNamespace = (namespace: string) => {\n switch (namespace) {\n case \"eip155\":\n return Object.values(DEFAULT_EIP155_METHODS);\n case \"cosmos\":\n return Object.values(DEFAULT_COSMOS_METHODS);\n case \"solana\":\n return Object.values(DEFAULT_SOLANA_METHODS);\n case \"polkadot\":\n return Object.values(DEFAULT_POLKADOT_METHODS);\n case \"near\":\n return Object.values(DEFAULT_NEAR_METHODS);\n case \"tron\":\n return Object.values(DEFAULT_TRON_METHODS);\n default:\n throw new SwapKitError({\n errorKey: \"wallet_walletconnect_namespace_not_supported\",\n info: { namespace },\n });\n }\n};\n\nexport const getSupportedEventsByNamespace = (namespace: string) => {\n switch (namespace) {\n case \"eip155\":\n return Object.values(DEFAULT_EIP_155_EVENTS);\n case \"cosmos\":\n return [];\n case \"solana\":\n return Object.values(DEFAULT_SOLANA_EVENTS);\n case \"polkadot\":\n return Object.values(DEFAULT_POLKADOT_EVENTS);\n case \"near\":\n return Object.values(DEFAULT_NEAR_EVENTS);\n case \"tron\":\n return Object.values(DEFAULT_TRON_EVENTS);\n default:\n throw new SwapKitError({\n errorKey: \"wallet_walletconnect_namespace_not_supported\",\n info: { namespace },\n });\n }\n};\n\nexport const getRequiredNamespaces = (chains: string[]): ProposalTypes.RequiredNamespaces => {\n const selectedNamespaces = getNamespacesFromChains(chains);\n\n return Object.fromEntries(\n selectedNamespaces.map((namespace) => [\n namespace,\n {\n methods: getSupportedMethodsByNamespace(namespace),\n chains: chains.filter((chain) => chain.startsWith(namespace)),\n events: getSupportedEventsByNamespace(namespace) as any[],\n },\n ]),\n );\n};\n"
9
9
  ],
10
- "mappings": "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",
11
- "debugId": "6ACC42B1DDF41FF364756E2164756E21",
10
+ "mappings": "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",
11
+ "debugId": "2C4B3637DA86895464756E2164756E21",
12
12
  "names": []
13
13
  }
@@ -155,6 +155,7 @@ export declare function getWalletMethods(chain: Chain): Promise<{
155
155
  recipients?: number | import("@swapkit/toolboxes/utxo").TargetOutput[];
156
156
  }) => Promise<import("@swapkit/helpers").AssetValue>;
157
157
  } | {
158
+ address: string;
158
159
  transfer: ({ recipient, assetValue, memo, feeRate, feeOptionKey, }: import("@swapkit/helpers").GenericTransferParams) => Promise<string>;
159
160
  getAddress: () => Promise<string | undefined>;
160
161
  getAccount: (address: string) => Promise<import("@cosmjs/stargate").Account | null>;
@@ -207,6 +208,7 @@ export declare function getWalletMethods(chain: Chain): Promise<{
207
208
  address: string;
208
209
  }) => Promise<boolean>;
209
210
  } | {
211
+ address: string;
210
212
  getConnection: () => Promise<import("@solana/web3.js").Connection>;
211
213
  getAddress: () => string;
212
214
  createKeysForPath: typeof import("@swapkit/toolboxes/solana").createKeysForPath;
@@ -226,7 +228,7 @@ export declare function getWalletMethods(chain: Chain): Promise<{
226
228
  isProgramDerivedAddress?: boolean;
227
229
  }) => Promise<import("@swapkit/helpers").AssetValue>;
228
230
  } | {
229
- address: any;
231
+ address: string;
230
232
  tronWeb: import("tronweb").TronWeb;
231
233
  getAddress: () => Promise<string>;
232
234
  validateAddress: (address: string) => boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/bitget/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,OAAO,EACP,KAAK,QAAQ,EAId,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAE9C,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,KAAK;;;;;yBAAhC,CAAC,kBAAkB,CAAC,sBACjC,CAAC;;4CAMU,CAAC;;iDAOV,GAAI;;;;;;sCAiBoB,GAAI;;;;;;;gIAoC9B,GAAF;iIAME,GAAJ;;;gBAYU,CAAC;kBACP,CAAF;mBAAgC,CAAC;YACL,CAAC;;;kBAIJ,CAAC;gBAEd,CAAC;oBAA8B,CAAC;4BACxB,CAAC;;;sCAKA,GAAI;oBACmB,CAAC;;;oEAS3C,GAAH;;;;;4CAOM,CAAC;;iDAGqB,GAAI;;;;;;sCAmBb,GAAI;;;;;;;gIAiB2e,GAAI;iIAAiO,GAAI;;;gBAAyT,CAAC;kBAA4B,CAAC;mBAAgC,CAAC;YAAwC,CAAC;;;kBAA+I,CAAC;gBAA0B,CAAC;oBAA8B,CAAC;4BAAsC,CAAC;;;sCAAgL,GAAI;oBAAuD,CAAC;;;oEAAqU,GAAI;;;;;;;;;;;;;cAvHn4D,CAAC;eAEvC,CAAA;;;;;;;;;;;;;WAaI,CAAC;cAGX,CAAC;sBAAgC,CAAC;;;;;;;;oBAqC5B,CAAC;eAAwB,CAAC;;;;;;;cAIO,CAAC;eAExC,CADN;;;;;;;4CA5BkB,CAAA;;;;;YAGK,CAAC;oBAET,CAAC;eACK,CAAC;kBACE,CAAC;;;;YAKjB,CAAF;eAGA,CAAD;oBAA8B,CAAC;kBAEd,CAAC;;;;;;sDA7CsC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAmB7B,CAAA;;6BA5BZ,CAAC;;;;;;+BAmBO,CAAC;;;;;;;;;;cAzBY,CAAC;;;;;;;;GA0G1C;AAED,eAAO,MAAM,oBAAoB,GAAU,4BAGxC;IAAE,cAAc,CAAC,EAAE,eAAe,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAA;CAAE;;;;yBAxIrC,CAAC,kBAAkB,CAAC,sBACjC,CAAC;;4CAMU,CAAC;;iDAOV,GAAI;;;;;;sCAiBoB,GAAI;;;;;;;gIAoC9B,GAAF;iIAME,GAAJ;;;gBAYU,CAAC;kBACP,CAAF;mBAAgC,CAAC;YACL,CAAC;;;kBAIJ,CAAC;gBAEd,CAAC;oBAA8B,CAAC;4BACxB,CAAC;;;sCAKA,GAAI;oBACmB,CAAC;;;oEAS3C,GAAH;;;;4CAOM,CAAC;;iDAGqB,GAAI;;;;;;sCAmBb,GAAI;;;;;;;gIAiB2e,GAAI;iIAAiO,GAAI;;;gBAAyT,CAAC;kBAA4B,CAAC;mBAAgC,CAAC;YAAwC,CAAC;;;kBAA+I,CAAC;gBAA0B,CAAC;oBAA8B,CAAC;4BAAsC,CAAC;;;sCAAgL,GAAI;oBAAuD,CAAC;;;oEAAqU,GAAI;;EADp7D,CAAC"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/bitget/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,OAAO,EACP,KAAK,QAAQ,EAId,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAE9C,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,KAAK;;;;;yBAAhC,CAAC,kBAAkB,CAAC,sBACjC,CAAC;;4CAMU,CAAC;;iDAOV,GAAI;;;;;;sCAiBoB,GAAI;;;;;;;gIAoC9B,GAAF;iIAME,GAAJ;;;gBAYI,CAAC;kBAA6B,CAAA;mBACL,CAAA;YACL,CAAC;;;kBAIJ,CAAC;gBAEd,CAAC;oBACL,CAAH;4BAAsC,CAAC;;;sCAKlC,GAAH;oBACkC,CAAC;;;oEAUe,GAAI;;;;;4CAOM,CAAC;;iDAID,GAAI;;;;;;sCAe1D,GAAI;;;;;;;gIAgC6D,GAAI;iIAK0E,GAAI;;;gBAAyT,CAAC;kBAA4B,CAAC;mBAAgC,CAAC;YAAwC,CAAC;;;kBAA+I,CAAC;gBAA0B,CAAC;oBAA8B,CAAC;4BAAsC,CAAC;;;sCAAgL,GAAI;oBAAuD,CAAC;;;oEAAqU,GAAI;;;;;;;;;;;;;cAzInzC,CAAC;eAEvC,CAAA;;;;;;;;;;;;;WAaI,CAAC;cAGX,CAAC;sBAAgC,CAAC;;;;;;;;oBAqClC,CAAC;eAAwB,CAAC;;;;;;;cAI8B,CAAC;eAE/C,CAAA;;;;;;;4CA7BE,CAAA;;;;;YAGK,CAAC;oBAET,CAAC;eACK,CAAC;kBACE,CAAC;;;;YAKjB,CAAR;eAGM,CADN;oBAC6B,CAAC;kBAEd,CAAC;;;;;;;sDA7C4C,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAmB7B,CAAA;;6BA5BZ,CAAC;;;;;;+BAmBO,CAAC;;;;;;;;;;cAzBY,CAAC;;;;;;;;GA4H1C;AAED,eAAO,MAAM,oBAAoB,GAAU,4BAGxC;IAAE,cAAc,CAAC,EAAE,eAAe,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAA;CAAE;;;;yBA1JrC,CAAC,kBAAkB,CAAC,sBACjC,CAAC;;4CAMU,CAAC;;iDAOV,GAAI;;;;;;sCAiBoB,GAAI;;;;;;;gIAoC9B,GAAF;iIAME,GAAJ;;;gBAYI,CAAC;kBAA6B,CAAA;mBACL,CAAA;YACL,CAAC;;;kBAIJ,CAAC;gBAEd,CAAC;oBACL,CAAH;4BAAsC,CAAC;;;sCAKlC,GAAH;oBACkC,CAAC;;;oEAUe,GAAI;;;;4CAOM,CAAC;;iDAID,GAAI;;;;;;sCAe1D,GAAI;;;;;;;gIAgC6D,GAAI;iIAK0E,GAAI;;;gBAAyT,CAAC;kBAA4B,CAAC;mBAAgC,CAAC;YAAwC,CAAC;;;kBAA+I,CAAC;gBAA0B,CAAC;oBAA8B,CAAC;4BAAsC,CAAC;;;sCAAgL,GAAI;oBAAuD,CAAC;;;oEAAqU,GAAI;;EADp2C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/bitget/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAkD,MAAM,kBAAkB,CAAC;AAKzF,eAAO,MAAM,YAAY;;;;;;;CAoBvB,CAAC;AAEH,eAAO,MAAM,uBAAuB,0OAAyC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/bitget/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAkD,MAAM,kBAAkB,CAAC;AAKzF,eAAO,MAAM,YAAY;;;;;;;CAkBvB,CAAC;AAEH,eAAO,MAAM,uBAAuB,0OAAyC,CAAC"}