{
  "version": 3,
  "sources": ["../src/walletconnect/index.ts", "../src/walletconnect/evmSigner.ts", "../src/walletconnect/helpers.ts", "../src/walletconnect/namespaces.ts"],
  "sourcesContent": [
    "import type { StdSignDoc } from \"@cosmjs/amino\";\nimport type { Transaction } from \"@near-js/transactions\";\nimport {\n  Chain,\n  filterSupportedChains,\n  type GenericTransferParams,\n  getRPCUrl,\n  SKConfig,\n  SwapKitError,\n  WalletOption,\n} from \"@swapkit/helpers\";\nimport type { ThorchainDepositParams } from \"@swapkit/toolboxes/cosmos\";\nimport type { NearSigner } from \"@swapkit/toolboxes/near\";\nimport type { TronSignedTransaction, TronSigner, TronTransaction } from \"@swapkit/toolboxes/tron\";\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\nimport type { WalletConnectModal } from \"@walletconnect/modal\";\nimport type { SignClient } from \"@walletconnect/sign-client\";\nimport type { SessionTypes, SignClientTypes } from \"@walletconnect/types\";\nimport {\n  DEFAULT_APP_METADATA,\n  DEFAULT_COSMOS_METHODS,\n  DEFAULT_LOGGER,\n  DEFAULT_RELAY_URL,\n  THORCHAIN_MAINNET_ID,\n} from \"./constants\";\nimport { getEVMSigner } from \"./evmSigner\";\nimport { chainToChainId, getAddressByChain } from \"./helpers\";\nimport { getRequiredNamespaces } from \"./namespaces\";\n\nexport * from \"./constants\";\nexport * from \"./types\";\n\nexport const walletconnectWallet = createWallet({\n  connect: ({ addChain, supportedChains, walletType }) =>\n    async function connectWalletconnect(chains: Chain[], walletconnectOptions?: SignClientTypes.Options) {\n      const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n      const { walletConnectProjectId } = SKConfig.get(\"apiKeys\");\n\n      if (!walletConnectProjectId) {\n        throw new SwapKitError(\"wallet_walletconnect_project_id_not_specified\");\n      }\n\n      const walletconnect = await getWalletconnect(filteredChains, walletConnectProjectId, walletconnectOptions);\n\n      if (!walletconnect) {\n        throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n      }\n\n      const { accounts } = walletconnect;\n\n      await Promise.all(\n        filteredChains.map(async (chain) => {\n          const address = getAddressByChain(chain, accounts || []);\n          const toolbox = await getToolbox({ address, chain, walletconnect });\n\n          addChain({\n            ...toolbox,\n            address,\n            chain,\n            disconnect: walletconnect.disconnect,\n            walletType: WalletOption.WALLETCONNECT,\n          });\n        }),\n      );\n\n      return true;\n    },\n  directSigningSupport: {\n    [Chain.Arbitrum]: true,\n    [Chain.Aurora]: true,\n    [Chain.Avalanche]: true,\n    [Chain.Base]: true,\n    [Chain.Berachain]: true,\n    [Chain.BinanceSmartChain]: true,\n    [Chain.Ethereum]: true,\n    [Chain.Monad]: true,\n    [Chain.Optimism]: true,\n    [Chain.Polygon]: true,\n    [Chain.XLayer]: true,\n    // Cosmos/Kujira/Maya/THORChain: cosmos toolbox built without signer; Tron/Near: signer wired but pending hardening (V3 plan PRs)\n  },\n  name: \"connectWalletconnect\",\n  supportedChains: [\n    Chain.Arbitrum,\n    Chain.Aurora,\n    Chain.Avalanche,\n    Chain.Base,\n    Chain.Berachain,\n    Chain.BinanceSmartChain,\n    Chain.Cosmos,\n    Chain.Ethereum,\n    Chain.Kujira,\n    Chain.Maya,\n    Chain.Monad,\n    Chain.Near,\n    Chain.Optimism,\n    Chain.Polygon,\n    Chain.THORChain,\n    Chain.Tron,\n    Chain.XLayer,\n  ],\n  walletType: WalletOption.WALLETCONNECT,\n});\n\nexport const WC_SUPPORTED_CHAINS = getWalletSupportedChains(walletconnectWallet);\nexport type Walletconnect = Awaited<ReturnType<typeof getWalletconnect>>;\n\nasync function getToolbox<T extends (typeof WC_SUPPORTED_CHAINS)[number]>({\n  chain,\n  walletconnect,\n  address,\n}: {\n  walletconnect: Walletconnect;\n  chain: T;\n  address: string;\n}) {\n  const session = walletconnect?.session;\n  if (!session) {\n    throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n  }\n\n  switch (chain) {\n    case Chain.Arbitrum:\n    case Chain.Aurora:\n    case Chain.Avalanche:\n    case Chain.Base:\n    case Chain.Berachain:\n    case Chain.BinanceSmartChain:\n    case Chain.Ethereum:\n    case Chain.Monad:\n    case Chain.Optimism:\n    case Chain.Polygon:\n    case Chain.XLayer: {\n      const { getProvider, getEvmToolboxAsync } = await import(\"@swapkit/toolboxes/evm\");\n\n      const provider = await getProvider(chain);\n      const signer = await getEVMSigner({ chain, provider, walletconnect });\n      const toolbox = await getEvmToolboxAsync(chain, { provider, signer });\n\n      return toolbox;\n    }\n\n    case Chain.THORChain: {\n      const { SignMode } = await import(\"cosmjs-types/cosmos/tx/signing/v1beta1/signing.js\");\n      const { TxRaw } = await import(\"cosmjs-types/cosmos/tx/v1beta1/tx.js\");\n\n      const importedSigning = await import(\"@cosmjs/proto-signing\");\n      const encodePubkey = importedSigning.encodePubkey ?? importedSigning.default?.encodePubkey;\n      const makeAuthInfoBytes = importedSigning.makeAuthInfoBytes ?? importedSigning.default?.makeAuthInfoBytes;\n      const importedAmino = await import(\"@cosmjs/amino\");\n      const makeSignDoc = importedAmino.makeSignDoc ?? importedSigning.default?.makeSignDoc;\n\n      const {\n        getCosmosToolbox,\n        buildAminoMsg,\n        buildEncodedTxBody,\n        createStargateClient,\n        fromBase64,\n        getDefaultChainFee,\n        parseAminoMessageForDirectSigning,\n      } = await import(\"@swapkit/toolboxes/cosmos\");\n      const toolbox = await getCosmosToolbox(chain);\n\n      const fee = getDefaultChainFee(chain);\n\n      const signRequest = (signDoc: StdSignDoc) =>\n        walletconnect?.client.request({\n          chainId: THORCHAIN_MAINNET_ID,\n          request: { method: DEFAULT_COSMOS_METHODS.COSMOS_SIGN_AMINO, params: { signDoc, signerAddress: address } },\n          topic: session.topic,\n        });\n\n      async function thorchainTransfer({ assetValue, memo, ...rest }: GenericTransferParams | ThorchainDepositParams) {\n        const account = await toolbox.getAccount(address);\n        if (!account) {\n          throw new SwapKitError({ errorKey: \"wallet_missing_params\", info: { account } });\n        }\n\n        if (!account.pubkey) {\n          throw new SwapKitError({ errorKey: \"wallet_missing_params\", info: { account, pubkey: account?.pubkey } });\n        }\n\n        const { accountNumber, sequence = 0 } = account;\n\n        const msgs = [buildAminoMsg({ ...rest, assetValue, memo, sender: address })];\n\n        const signDoc = makeSignDoc(\n          msgs,\n          fee,\n          assetValue.chainId,\n          memo,\n          accountNumber?.toString(),\n          sequence?.toString() || \"0\",\n        );\n\n        const signature: any = await signRequest(signDoc);\n\n        const bodyBytes = await buildEncodedTxBody({\n          chain: Chain.THORChain,\n          memo: memo || \"\",\n          msgs: msgs.map(parseAminoMessageForDirectSigning),\n        });\n        const pubkey = encodePubkey(account.pubkey);\n        const authInfoBytes = makeAuthInfoBytes(\n          [{ pubkey, sequence }],\n          fee.amount,\n          Number.parseInt(fee.gas, 10),\n          undefined,\n          undefined,\n          SignMode.SIGN_MODE_LEGACY_AMINO_JSON,\n        );\n\n        const txRaw = TxRaw.fromPartial({\n          authInfoBytes,\n          bodyBytes,\n          signatures: [\n            fromBase64(typeof signature.signature === \"string\" ? signature.signature : signature.signature.signature),\n          ],\n        });\n        const txBytes = TxRaw.encode(txRaw).finish();\n\n        const rpcUrl = await getRPCUrl(Chain.THORChain);\n        const broadcaster = await createStargateClient(rpcUrl);\n        const result = await broadcaster.broadcastTx(txBytes);\n        return result.transactionHash;\n      }\n\n      return {\n        ...toolbox,\n        deposit: (params: ThorchainDepositParams) => thorchainTransfer(params),\n        transfer: (params: GenericTransferParams) => thorchainTransfer(params),\n      };\n    }\n\n    case Chain.Near: {\n      const { getNearToolbox } = await import(\"@swapkit/toolboxes/near\");\n      const { DEFAULT_NEAR_METHODS } = await import(\"./constants\");\n\n      // Create a NEAR signer that uses WalletConnect\n      const signer = {\n        getAddress() {\n          return Promise.resolve(address);\n        },\n        getPublicKey() {\n          // WalletConnect NEAR doesn't expose public key directly\n          return Promise.reject(\n            new SwapKitError(\"wallet_walletconnect_method_not_supported\", { method: \"getPublicKey\" }),\n          );\n        },\n\n        signDelegateAction(_delegateAction: any) {\n          return Promise.reject(\n            new SwapKitError(\"wallet_walletconnect_method_not_supported\", { method: \"signDelegateAction\" }),\n          );\n        },\n\n        signNep413Message(\n          _message: string,\n          _accountId: string,\n          _recipient: string,\n          _nonce: Uint8Array,\n          _callbackUrl?: string,\n        ) {\n          // WalletConnect NEAR spec doesn't include NEP-413 message signing\n          return Promise.reject(\n            new SwapKitError(\"wallet_walletconnect_method_not_supported\", { method: \"signNep413Message\" }),\n          );\n        },\n\n        async signTransaction(transaction: Transaction) {\n          if (!walletconnect) {\n            throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n          }\n          // WalletConnect signs and sends in one operation\n          const result = await walletconnect.client.request({\n            chainId: chainToChainId(Chain.Near),\n            request: { method: DEFAULT_NEAR_METHODS.NEAR_SIGN_AND_SEND_TRANSACTION, params: { transaction } },\n            topic: session.topic,\n          });\n          // Return dummy hash and result\n          return [new Uint8Array(32), result];\n        },\n      } as NearSigner;\n\n      const toolbox = getNearToolbox({ signer });\n      return toolbox;\n    }\n\n    case Chain.Tron: {\n      const { getTronToolbox } = await import(\"@swapkit/toolboxes/tron\");\n      const { DEFAULT_TRON_METHODS } = await import(\"./constants\");\n\n      // Create a Tron signer that uses WalletConnect\n      const signer: TronSigner = {\n        getAddress() {\n          return Promise.resolve(address);\n        },\n\n        async signTransaction(transaction: TronTransaction) {\n          if (!walletconnect) {\n            throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n          }\n\n          const signedTx = await walletconnect.client.request({\n            chainId: chainToChainId(Chain.Tron),\n            request: { method: DEFAULT_TRON_METHODS.TRON_SIGN_TRANSACTION, params: { transaction } },\n            topic: session.topic,\n          });\n\n          return signedTx as TronSignedTransaction;\n        },\n      };\n\n      const toolbox = getTronToolbox({ signer });\n\n      return toolbox;\n    }\n\n    default:\n      throw new SwapKitError({\n        errorKey: \"wallet_chain_not_supported\",\n        info: { chain, wallet: WalletOption.WALLETCONNECT },\n      });\n  }\n}\n\nasync function getWalletconnect(\n  chains: Chain[],\n  walletConnectProjectId: string,\n  walletconnectOptions?: SignClientTypes.Options,\n) {\n  let modal: WalletConnectModal | undefined;\n  let signer: typeof SignClient | undefined;\n  let session: SessionTypes.Struct | undefined;\n  let accounts: string[] | undefined;\n  try {\n    const requiredNamespaces = getRequiredNamespaces(chains.map(chainToChainId));\n\n    const { SignClient } = await import(\"@walletconnect/sign-client\");\n    const { WalletConnectModal } = await import(\"@walletconnect/modal\");\n\n    const client = await SignClient.init({\n      logger: DEFAULT_LOGGER,\n      metadata: walletconnectOptions?.metadata || DEFAULT_APP_METADATA,\n      projectId: walletConnectProjectId,\n      relayUrl: DEFAULT_RELAY_URL,\n      ...walletconnectOptions?.core,\n    });\n\n    const modal = new WalletConnectModal({\n      logger: DEFAULT_LOGGER,\n      projectId: walletConnectProjectId,\n      relayUrl: DEFAULT_RELAY_URL,\n      ...walletconnectOptions?.core,\n    });\n\n    const oldSession = (await client.session.getAll())[0];\n\n    // disconnect old Session cause we can't handle using it with current ui\n    if (oldSession) {\n      await client.disconnect({ reason: { code: 0, message: \"Resetting session\" }, topic: oldSession.topic });\n    }\n\n    const { uri, approval } = await client.connect({\n      // Optionally: pass a known prior pairing (e.g. from `client.core.pairing.getPairings()`) to skip the `uri` step.\n      //   pairingTopic: pairing?.topic,\n      // Provide the namespaces and chains (e.g. `eip155` for EVM-based chains) we want to use in this session.\n      requiredNamespaces,\n    });\n\n    if (uri) {\n      modal.openModal({ uri });\n      // Await session approval from the wallet.\n      session = await approval();\n      // Handle the returned session (e.g. update UI to \"connected\" state).\n      // Close the QRCode modal in case it was open.\n      modal.closeModal();\n\n      function extractAccountsFromSession(session: SessionTypes.Struct) {\n        const accounts: string[] = [];\n\n        for (const [_namespace, data] of Object.entries(session.namespaces)) {\n          accounts.push(...data.accounts);\n        }\n\n        return accounts;\n      }\n\n      accounts = extractAccountsFromSession(session);\n    }\n\n    const disconnect = async () => {\n      session && (await client.disconnect({ reason: { code: 0, message: \"User disconnected\" }, topic: session.topic }));\n    };\n\n    if (!session) {\n      throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n    }\n\n    return { accounts, client, disconnect, session, signer };\n  } catch {\n    // Errors are handled by returning undefined\n  } finally {\n    if (modal) {\n      modal.closeModal();\n    }\n  }\n  return undefined;\n}\n",
    "import { type EVMChain, SwapKitError, WalletOption } from \"@swapkit/helpers\";\nimport type {\n  JsonRpcProvider,\n  Provider,\n  TransactionRequest,\n  TransactionResponse,\n  TypedDataDomain,\n  TypedDataField,\n} from \"ethers\";\nimport { AbstractSigner } from \"ethers\";\n\nimport { DEFAULT_EIP155_METHODS } from \"./constants\";\nimport { chainToChainId, getAddressByChain } from \"./helpers\";\nimport type { Walletconnect } from \"./index\";\n\ninterface WalletconnectEVMSignerParams {\n  chain: EVMChain;\n  walletconnect: Walletconnect;\n  provider: Provider | JsonRpcProvider;\n}\n\nclass WalletconnectSigner extends AbstractSigner {\n  address: string;\n\n  private chain: EVMChain;\n  private walletconnect: Walletconnect;\n  readonly provider: Provider | JsonRpcProvider;\n\n  constructor({ chain, provider, walletconnect }: WalletconnectEVMSignerParams) {\n    super(provider);\n    this.chain = chain;\n    this.walletconnect = walletconnect;\n    this.provider = provider;\n    this.address = \"\";\n  }\n\n  // biome-ignore lint/suspicious/useAwait: fulfil implementation type\n  getAddress = async () => {\n    if (!this.walletconnect) {\n      throw new SwapKitError(\"wallet_walletconnect_connection_not_established\");\n    }\n    if (!this.address) {\n      this.address = getAddressByChain(this.chain, this.walletconnect.accounts || []);\n    }\n\n    return this.address;\n  };\n\n  signMessage = async (message: string) => {\n    // this is probably broken\n    const txHash = (await this.walletconnect?.client.request({\n      chainId: chainToChainId(this.chain),\n      request: { method: DEFAULT_EIP155_METHODS.ETH_SIGN, params: [message] },\n      topic: this.walletconnect.session.topic || \"\",\n    })) as string;\n\n    return txHash.startsWith(\"0x\") ? txHash : `0x${txHash}`;\n  };\n\n  signTransaction = () => {\n    throw new SwapKitError(\"wallet_walletconnect_method_not_supported\", { method: \"signTransaction\" });\n\n    // const baseTx = {\n    //   from,\n    //   to,\n    //   value: BigNumber.from(value || 0).toHexString(),\n    //   data,\n    // };\n\n    // const txHash = (await this.walletconnect?.client.request({\n    //   chainId: chainToChainId(this.chain),\n    //   topic: this.walletconnect.session.topic,\n    //   request: {\n    //     method: DEFAULT_EIP155_METHODS.ETH_SIGN_TRANSACTION,\n    //     params: [baseTx],\n    //   },\n    // })) as string;\n\n    // return txHash.startsWith('0x') ? txHash : `0x${txHash}`;\n  };\n\n  signTypedData = (\n    _domain: TypedDataDomain,\n    _types: Record<string, TypedDataField[]>,\n    _value: Record<string, unknown>,\n    _explicitPrimaryType?: string,\n  ) => {\n    throw new SwapKitError(\"wallet_walletconnect_method_not_supported\", { method: \"signTransaction\" });\n  };\n\n  sendTransaction = async ({ from, to, value, data }: TransactionRequest) => {\n    const { toHexString } = await import(\"@swapkit/toolboxes/evm\");\n\n    const baseTx = { data, from, to, value: toHexString(BigInt(value || 0)) };\n    const response = await this.walletconnect?.client.request({\n      chainId: chainToChainId(this.chain),\n      request: { method: DEFAULT_EIP155_METHODS.ETH_SEND_TRANSACTION, params: [baseTx] },\n      topic: this.walletconnect.session.topic,\n    });\n\n    return response as TransactionResponse;\n  };\n\n  connect = (provider: Provider | null) => {\n    if (!provider) {\n      throw new SwapKitError({\n        errorKey: \"wallet_provider_not_found\",\n        info: { chain: this.chain, wallet: WalletOption.WALLETCONNECT },\n      });\n    }\n\n    return new WalletconnectSigner({ chain: this.chain, provider, walletconnect: this.walletconnect });\n  };\n}\nexport const getEVMSigner = async ({ chain, walletconnect, provider }: WalletconnectEVMSignerParams) =>\n  new WalletconnectSigner({ chain, provider, walletconnect });\n",
    "import { Chain, type CosmosChain, 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  MONAD_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  XLAYER_MAINNET_ID,\n} from \"./constants\";\n\nexport const getAddressByChain = (\n  chain: EVMChain | Exclude<CosmosChain, typeof Chain.Noble> | typeof Chain.Near | typeof 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.Monad:\n      return MONAD_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    case Chain.XLayer:\n      return XLAYER_MAINNET_ID;\n    default:\n      return \"\";\n  }\n};\n",
    "import { SwapKitError } from \"@swapkit/helpers\";\nimport type { ProposalTypes } from \"@walletconnect/types\";\nimport {\n  DEFAULT_COSMOS_METHODS,\n  DEFAULT_EIP_155_EVENTS,\n  DEFAULT_EIP155_METHODS,\n  DEFAULT_NEAR_EVENTS,\n  DEFAULT_NEAR_METHODS,\n  DEFAULT_POLKADOT_EVENTS,\n  DEFAULT_POLKADOT_METHODS,\n  DEFAULT_SOLANA_EVENTS,\n  DEFAULT_SOLANA_METHODS,\n  DEFAULT_TRON_EVENTS,\n  DEFAULT_TRON_METHODS,\n} from \"./constants\";\n\nexport const getNamespacesFromChains = (chains: string[]) => {\n  const supportedNamespaces: string[] = [];\n  for (const chainId of chains) {\n    const [namespace] = chainId.split(\":\");\n    if (namespace && !supportedNamespaces.includes(namespace)) {\n      supportedNamespaces.push(namespace);\n    }\n  }\n\n  return supportedNamespaces;\n};\n\nexport const getSupportedMethodsByNamespace = (namespace: string) => {\n  switch (namespace) {\n    case \"eip155\":\n      return Object.values(DEFAULT_EIP155_METHODS);\n    case \"cosmos\":\n      return Object.values(DEFAULT_COSMOS_METHODS);\n    case \"solana\":\n      return Object.values(DEFAULT_SOLANA_METHODS);\n    case \"polkadot\":\n      return Object.values(DEFAULT_POLKADOT_METHODS);\n    case \"near\":\n      return Object.values(DEFAULT_NEAR_METHODS);\n    case \"tron\":\n      return Object.values(DEFAULT_TRON_METHODS);\n    default:\n      throw new SwapKitError({ errorKey: \"wallet_walletconnect_namespace_not_supported\", info: { namespace } });\n  }\n};\n\nexport const getSupportedEventsByNamespace = (namespace: string) => {\n  switch (namespace) {\n    case \"eip155\":\n      return Object.values(DEFAULT_EIP_155_EVENTS);\n    case \"cosmos\":\n      return [];\n    case \"solana\":\n      return Object.values(DEFAULT_SOLANA_EVENTS);\n    case \"polkadot\":\n      return Object.values(DEFAULT_POLKADOT_EVENTS);\n    case \"near\":\n      return Object.values(DEFAULT_NEAR_EVENTS);\n    case \"tron\":\n      return Object.values(DEFAULT_TRON_EVENTS);\n    default:\n      throw new SwapKitError({ errorKey: \"wallet_walletconnect_namespace_not_supported\", info: { namespace } });\n  }\n};\n\nexport const getRequiredNamespaces = (chains: string[]): ProposalTypes.RequiredNamespaces => {\n  const selectedNamespaces = getNamespacesFromChains(chains);\n\n  return Object.fromEntries(\n    selectedNamespaces.map((namespace) => [\n      namespace,\n      {\n        chains: chains.filter((chain) => chain.startsWith(namespace)),\n        events: getSupportedEventsByNamespace(namespace) as any[],\n        methods: getSupportedMethodsByNamespace(namespace),\n      },\n    ]),\n  );\n};\n"
  ],
  "mappings": "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",
  "debugId": "AF5A4A82ABD9321D64756E2164756E21",
  "names": []
}