{"version":3,"file":"static/js/5916.88b44123.chunk.js","mappings":"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","sources":["../node_modules/@thirdweb-dev/react/node_modules/@thirdweb-dev/wallets/dist/getInjectedCoin98Provider-056e8511.browser.esm.js","../node_modules/@thirdweb-dev/react/node_modules/@thirdweb-dev/wallets/dist/getInjectedCoreWalletProvider-6baee5ae.browser.esm.js","../node_modules/@thirdweb-dev/react/node_modules/@thirdweb-dev/wallets/dist/getInjectedCryptoDefiWalletProvider-3a00394e.browser.esm.js","../node_modules/@thirdweb-dev/react/node_modules/@thirdweb-dev/wallets/dist/getInjectedMagicEdenProvider-f8a9ec6a.browser.esm.js","../node_modules/@thirdweb-dev/react/node_modules/@thirdweb-dev/wallets/dist/getInjectedOKXProvider-f368fd1c.browser.esm.js","../node_modules/@thirdweb-dev/react/node_modules/@thirdweb-dev/wallets/dist/getInjectedOneKeyProvider-b8c89caf.browser.esm.js","../node_modules/@thirdweb-dev/react/node_modules/@thirdweb-dev/wallets/dist/getInjectedRabbyProvider-db56bdef.browser.esm.js","../node_modules/@thirdweb-dev/react/node_modules/@thirdweb-dev/wallets/dist/getInjectedXDEFIProvider-ce9c378e.browser.esm.js","../node_modules/@thirdweb-dev/react/node_modules/@thirdweb-dev/wallets/evm/wallets/okx/dist/thirdweb-dev-wallets-evm-wallets-okx.browser.esm.js","../node_modules/@thirdweb-dev/react/node_modules/@thirdweb-dev/wallets/evm/wallets/core-wallet/dist/thirdweb-dev-wallets-evm-wallets-core-wallet.browser.esm.js","../node_modules/@thirdweb-dev/react/node_modules/@thirdweb-dev/wallets/evm/wallets/onekey/dist/thirdweb-dev-wallets-evm-wallets-onekey.browser.esm.js","../node_modules/@thirdweb-dev/react/node_modules/@thirdweb-dev/wallets/evm/wallets/crypto-defi-wallet/dist/thirdweb-dev-wallets-evm-wallets-crypto-defi-wallet.browser.esm.js","../node_modules/@thirdweb-dev/react/node_modules/@thirdweb-dev/wallets/evm/wallets/rabby/dist/thirdweb-dev-wallets-evm-wallets-rabby.browser.esm.js","../node_modules/@thirdweb-dev/react/node_modules/@thirdweb-dev/wallets/evm/wallets/coin98/dist/thirdweb-dev-wallets-evm-wallets-coin98.browser.esm.js","../node_modules/@thirdweb-dev/react/node_modules/@thirdweb-dev/wallets/evm/wallets/ethers/dist/thirdweb-dev-wallets-evm-wallets-ethers.browser.esm.js","../node_modules/@thirdweb-dev/react/node_modules/@thirdweb-dev/wallets/evm/wallets/imtoken/dist/thirdweb-dev-wallets-evm-wallets-imtoken.browser.esm.js","../node_modules/@thirdweb-dev/react/node_modules/@thirdweb-dev/wallets/evm/wallets/injected/dist/thirdweb-dev-wallets-evm-wallets-injected.browser.esm.js","../node_modules/@thirdweb-dev/react/node_modules/@thirdweb-dev/wallets/evm/wallets/xdefi/dist/thirdweb-dev-wallets-evm-wallets-xdefi.browser.esm.js","../node_modules/@thirdweb-dev/react/node_modules/@thirdweb-dev/wallets/evm/wallets/private-key/dist/thirdweb-dev-wallets-evm-wallets-private-key.browser.esm.js","../node_modules/@thirdweb-dev/react/node_modules/@thirdweb-dev/wallets/evm/wallets/token-bound-smart-wallet/dist/thirdweb-dev-wallets-evm-wallets-token-bound-smart-wallet.browser.esm.js","../node_modules/@thirdweb-dev/react/node_modules/@thirdweb-dev/wallets/evm/wallets/magic-eden/dist/thirdweb-dev-wallets-evm-wallets-magic-eden.browser.esm.js","../node_modules/@thirdweb-dev/react/node_modules/@thirdweb-dev/wallets/dist/thirdweb-dev-wallets.browser.esm.js","../node_modules/@thirdweb-dev/react/node_modules/@thirdweb-dev/wallets/evm/wallets/blocto/dist/thirdweb-dev-wallets-evm-wallets-blocto.browser.esm.js"],"sourcesContent":["import { a as assertWindowEthereum } from './assertWindowEthereum-88295886.browser.esm.js';\n\n/**\n * @internal\n */\nfunction getInjectedCoin98Provider() {\n if (assertWindowEthereum(globalThis.window)) {\n if (window.coin98) {\n return window.ethereum;\n }\n }\n}\n\nexport { getInjectedCoin98Provider as g };\n","import { a as assertWindowEthereum } from './assertWindowEthereum-88295886.browser.esm.js';\n\n/**\n * @internal\n */\nfunction getInjectedCoreWalletProvider() {\n if (assertWindowEthereum(globalThis.window)) {\n if (globalThis.window.ethereum && window.avalanche) {\n return window.avalanche;\n }\n }\n}\n\nexport { getInjectedCoreWalletProvider as g };\n","import { a as assertWindowEthereum } from './assertWindowEthereum-88295886.browser.esm.js';\n\n/**\n * @internal\n */\nfunction getInjectedCryptoDefiWalletProvider() {\n if (assertWindowEthereum(globalThis.window)) {\n if (globalThis.window.ethereum && window.deficonnectProvider) {\n return window.deficonnectProvider;\n }\n }\n}\n\nexport { getInjectedCryptoDefiWalletProvider as g };\n","/**\n * @internal\n */\nfunction getInjectedMagicEdenProvider() {\n if (globalThis.window && globalThis.window.magicEden && globalThis.window.magicEden.ethereum) {\n return globalThis.window.magicEden.ethereum;\n }\n}\n\nexport { getInjectedMagicEdenProvider as g };\n","import { a as assertWindowEthereum } from './assertWindowEthereum-88295886.browser.esm.js';\n\n/**\n * @internal\n */\nfunction getInjectedOKXProvider() {\n if (assertWindowEthereum(globalThis.window)) {\n if (globalThis.window.ethereum && window.okxwallet) {\n return window.okxwallet;\n }\n }\n}\n\nexport { getInjectedOKXProvider as g };\n","import { a as assertWindowEthereum } from './assertWindowEthereum-88295886.browser.esm.js';\n\nfunction getInjectedOneKeyProvider() {\n if (assertWindowEthereum(globalThis.window)) {\n if (globalThis.window.$onekey && globalThis.window.$onekey.ethereum) {\n return globalThis.window.$onekey.ethereum;\n }\n }\n}\n\nexport { getInjectedOneKeyProvider as g };\n","import { a as assertWindowEthereum } from './assertWindowEthereum-88295886.browser.esm.js';\n\n/**\n * @internal\n */\nfunction getInjectedRabbyProvider() {\n if (assertWindowEthereum(globalThis.window)) {\n if (globalThis.window.ethereum && window.rabby) {\n return window.rabby;\n }\n }\n}\n\nexport { getInjectedRabbyProvider as g };\n","/**\n * @internal\n */\nfunction getInjectedXDEFIProvider() {\n if (globalThis.window && globalThis.window.xfi && globalThis.window.xfi.ethereum) {\n return globalThis.window.xfi.ethereum;\n }\n}\n\nexport { getInjectedXDEFIProvider as g };\n","import { _ as _defineProperty } from '../../../../dist/defineProperty-350fc508.browser.esm.js';\nimport { W as WagmiAdapter } from '../../../../dist/connector-05689d68.browser.esm.js';\nimport { a as AbstractClientWallet } from '../../../../dist/base-2223b4bc.browser.esm.js';\nimport { w as walletIds } from '../../../../dist/walletIds-dff6dced.browser.esm.js';\nimport { T as TW_WC_PROJECT_ID } from '../../../../dist/wc-fbb7ab15.browser.esm.js';\nimport { g as getInjectedOKXProvider } from '../../../../dist/getInjectedOKXProvider-f368fd1c.browser.esm.js';\nimport 'eventemitter3';\nimport '@thirdweb-dev/chains';\nimport '../../abstract/dist/thirdweb-dev-wallets-evm-wallets-abstract.browser.esm.js';\nimport 'ethers';\nimport '@thirdweb-dev/sdk';\nimport '../../../../dist/headers-2c8daf6b.browser.esm.js';\nimport '../../../../dist/assertWindowEthereum-88295886.browser.esm.js';\n\n/**\n * @wallet\n */\nclass OKXWallet extends AbstractClientWallet {\n /**\n * @internal\n */\n get walletName() {\n return \"OKX\";\n }\n\n /**\n * Create instance of `OKXWallet`\n *\n * @param options - The `options` object contains the following properties:\n * ### clientId (recommended)\n *\n * Provide `clientId` to use the thirdweb RPCs for given `chains`\n *\n * You can create a client ID for your application from [thirdweb dashboard](https://thirdweb.com/create-api-key).\n *\n * ### projectId (recommended)\n *\n * This is only relevant if you want to use [WalletConnect](https://walletconnect.com/) for connecting to Zerion wallet mobile app when MetaMask is not injected.\n *\n * This `projectId` can be obtained at [cloud.walletconnect.com](https://cloud.walletconnect.com/). It is highly recommended to use your own project id and only use the default one for testing purposes.\n *\n * ### chains (optional)\n * Provide an array of chains you want to support.\n *\n * Must be an array of `Chain` objects, from the [`@thirdweb-dev/chains`](https://www.npmjs.com/package/\\@thirdweb-dev/chains) package.\n *\n * Defaults to our [default chains](/react/react.thirdwebprovider#default-chains).\n *\n * ### dappMetadata (optional)\n * Information about your app that the wallet will display when your app tries to connect to it.\n *\n * Must be an object containing `name`, `url`, and optionally `description` and `logoUrl` properties.\n *\n * ### qrcode\n * Whether to display the Wallet Connect QR code Modal or not.\n *\n * Must be a `boolean`. Defaults to `true`.\n *\n * ### qrModalOptions\n * WalletConnect's [options](https://docs.walletconnect.com/advanced/walletconnectmodal/options) to customize the QR Code Modal.\n *\n */\n constructor(options) {\n super(OKXWallet.id, options);\n this.isInjected = !!getInjectedOKXProvider();\n }\n async getConnector() {\n if (!this.connector) {\n // if OKX is injected, use the injected connector\n // otherwise, use the wallet connect connector for using the OKX app on mobile via QR code scan\n\n if (this.isInjected) {\n // import the connector dynamically\n const {\n OKXConnector\n } = await import('../../../connectors/okx/dist/thirdweb-dev-wallets-evm-connectors-okx.browser.esm.js');\n this.OKXConnector = new OKXConnector({\n chains: this.chains,\n connectorStorage: this.walletStorage,\n options: {\n shimDisconnect: true\n }\n });\n this.connector = new WagmiAdapter(this.OKXConnector);\n } else {\n const {\n WalletConnectConnector\n } = await import('../../../connectors/wallet-connect/dist/thirdweb-dev-wallets-evm-connectors-wallet-connect.browser.esm.js');\n const walletConnectConnector = new WalletConnectConnector({\n chains: this.chains,\n options: {\n projectId: this.options?.projectId || TW_WC_PROJECT_ID,\n // TODO,\n storage: this.walletStorage,\n qrcode: this.options?.qrcode,\n dappMetadata: this.dappMetadata,\n qrModalOptions: this.options?.qrModalOptions\n }\n });\n walletConnectConnector.getProvider().then(provider => {\n provider.signer.client.on(\"session_request_sent\", () => {\n this.emit(\"wc_session_request_sent\");\n });\n });\n\n // need to save this for getting the QR code URI\n this.walletConnectConnector = walletConnectConnector;\n this.connector = new WagmiAdapter(walletConnectConnector);\n }\n }\n return this.connector;\n }\n\n /**\n * Connect to the wallet using a QR code.\n * You can use this method to display a QR code. The user can scan this QR code using the OKX Wallet mobile app to connect to your dapp.\n *\n * @example\n * ```typescript\n * wallet.connectWithQrCode({\n * chainId: 1,\n * onQrCodeUri(qrCodeUri) {\n * // render the QR code with `qrCodeUri`\n * },\n * onConnected(accountAddress) {\n * // update UI to show connected state\n * },\n * })\n * ```\n *\n * @param options -\n * The options object contains the following properties/method:\n *\n * ### chainId (optional)\n * If provided, wallet will prompt the user to switch to the network with the given `chainId` after connecting.\n *\n * ### onQrCodeUri\n * A callback to get the QR code URI to display to the user.\n *\n * ### onConnected\n * A callback that is called when the user has connected their wallet using the QR code.\n */\n async connectWithQrCode(options) {\n await this.getConnector();\n const wcConnector = this.walletConnectConnector;\n if (!wcConnector) {\n throw new Error(\"WalletConnect connector not found\");\n }\n const wcProvider = await wcConnector.getProvider();\n\n // set a listener for display_uri event\n wcProvider.on(\"display_uri\", uri => {\n options.onQrCodeUri(uri);\n });\n\n // trigger connect flow\n this.connect({\n chainId: options.chainId\n }).then(options.onConnected);\n }\n}\n/**\n * @internal\n */\n/**\n * @internal\n */\n/**\n * @internal\n */\n/**\n * @internal\n */\n/**\n * @internal\n */\n_defineProperty(OKXWallet, \"id\", walletIds.okx);\n\nexport { OKXWallet };\n","import { _ as _defineProperty } from '../../../../dist/defineProperty-350fc508.browser.esm.js';\nimport { W as WagmiAdapter } from '../../../../dist/connector-05689d68.browser.esm.js';\nimport { a as AbstractClientWallet } from '../../../../dist/base-2223b4bc.browser.esm.js';\nimport { w as walletIds } from '../../../../dist/walletIds-dff6dced.browser.esm.js';\nimport { T as TW_WC_PROJECT_ID } from '../../../../dist/wc-fbb7ab15.browser.esm.js';\nimport { g as getInjectedCoreWalletProvider } from '../../../../dist/getInjectedCoreWalletProvider-6baee5ae.browser.esm.js';\nimport 'eventemitter3';\nimport '@thirdweb-dev/chains';\nimport '../../abstract/dist/thirdweb-dev-wallets-evm-wallets-abstract.browser.esm.js';\nimport 'ethers';\nimport '@thirdweb-dev/sdk';\nimport '../../../../dist/headers-2c8daf6b.browser.esm.js';\nimport '../../../../dist/assertWindowEthereum-88295886.browser.esm.js';\n\n/**\n * Wallet interface to connect [Core wallet](https://core.app/) extension or mobile app.\n *\n * @example\n * ```ts\n * import { CoreWallet } from \"@thirdweb-dev/wallets\";\n *\n * const wallet = new CoreWallet();\n *\n * wallet.connect();\n * ```\n *\n * @wallet\n */\nclass CoreWallet extends AbstractClientWallet {\n /**\n * @internal\n */\n get walletName() {\n return \"Core wallet\";\n }\n\n /**\n * Create instance of `CoreWallet`\n *\n * @param options - The `options` object contains the following properties:\n * ### clientId (recommended)\n *\n * Provide `clientId` to use the thirdweb RPCs for given `chains`\n *\n * You can create a client ID for your application from [thirdweb dashboard](https://thirdweb.com/create-api-key).\n *\n * ### projectId (recommended)\n *\n * This is only relevant if you want to use [WalletConnect](https://walletconnect.com/) for connecting to Zerion wallet mobile app when MetaMask is not injected.\n *\n * This `projectId` can be obtained at [cloud.walletconnect.com](https://cloud.walletconnect.com/). It is highly recommended to use your own project id and only use the default one for testing purposes.\n *\n * ### chains (optional)\n * Provide an array of chains you want to support.\n *\n * Must be an array of `Chain` objects, from the [`@thirdweb-dev/chains`](https://www.npmjs.com/package/\\@thirdweb-dev/chains) package.\n *\n * Defaults to our [default chains](/react/react.thirdwebprovider#default-chains).\n *\n * ### dappMetadata (optional)\n * Information about your app that the wallet will display when your app tries to connect to it.\n *\n * Must be an object containing `name`, `url`, and optionally `description` and `logoUrl` properties.\n *\n * ### qrcode\n * Whether to display the Wallet Connect QR code Modal or not.\n *\n * Must be a `boolean`. Defaults to `true`.\n *\n * ### qrModalOptions\n * WalletConnect's [options](https://docs.walletconnect.com/advanced/walletconnectmodal/options) to customize the QR Code Modal.\n *\n */\n constructor(options) {\n super(CoreWallet.id, options);\n this.isInjected = !!getInjectedCoreWalletProvider();\n }\n async getConnector() {\n if (!this.connector) {\n // if Core wallet is injected, use the injected connector\n // otherwise, use the wallet connect connector for using the Core app on mobile via QR code scan\n\n if (this.isInjected) {\n // import the connector dynamically\n const {\n CoreWalletConnector\n } = await import('../../../connectors/core-wallet/dist/thirdweb-dev-wallets-evm-connectors-core-wallet.browser.esm.js');\n this.CoreWalletConnector = new CoreWalletConnector({\n chains: this.chains,\n connectorStorage: this.walletStorage,\n options: {\n shimDisconnect: true\n }\n });\n this.connector = new WagmiAdapter(this.CoreWalletConnector);\n } else {\n const {\n WalletConnectConnector\n } = await import('../../../connectors/wallet-connect/dist/thirdweb-dev-wallets-evm-connectors-wallet-connect.browser.esm.js');\n const walletConnectConnector = new WalletConnectConnector({\n chains: this.chains,\n options: {\n projectId: this.options?.projectId || TW_WC_PROJECT_ID,\n // TODO,\n storage: this.walletStorage,\n qrcode: this.options?.qrcode,\n dappMetadata: this.dappMetadata,\n qrModalOptions: this.options?.qrModalOptions\n }\n });\n walletConnectConnector.getProvider().then(provider => {\n provider.signer.client.on(\"session_request_sent\", () => {\n this.emit(\"wc_session_request_sent\");\n });\n });\n\n // need to save this for getting the QR code URI\n this.walletConnectConnector = walletConnectConnector;\n this.connector = new WagmiAdapter(walletConnectConnector);\n }\n }\n return this.connector;\n }\n\n /**\n * Connect to the wallet using a QR code.\n * You can use this method to display a QR code. The user can scan this QR code using the Core Wallet mobile app to connect to your dapp.\n *\n * @example\n * ```typescript\n * wallet.connectWithQrCode({\n * chainId: 1,\n * onQrCodeUri(qrCodeUri) {\n * // render the QR code with `qrCodeUri`\n * },\n * onConnected(accountAddress) {\n * // update UI to show connected state\n * },\n * })\n * ```\n *\n * @param options -\n * The options object contains the following properties/method:\n *\n * ### chainId (optional)\n * If provided, wallet will prompt the user to switch to the network with the given `chainId` after connecting.\n *\n * ### onQrCodeUri\n * A callback to get the QR code URI to display to the user.\n *\n * ### onConnected\n * A callback that is called when the user has connected their wallet using the QR code.\n */\n async connectWithQrCode(options) {\n await this.getConnector();\n const wcConnector = this.walletConnectConnector;\n if (!wcConnector) {\n throw new Error(\"WalletConnect connector not found\");\n }\n const wcProvider = await wcConnector.getProvider();\n\n // set a listener for display_uri event\n wcProvider.on(\"display_uri\", uri => {\n options.onQrCodeUri(uri);\n });\n\n // trigger connect flow\n this.connect({\n chainId: options.chainId\n }).then(options.onConnected);\n }\n}\n/**\n * @internal\n */\n/**\n * @internal\n */\n/**\n * @internal\n */\n/**\n * @internal\n */\n/**\n * @internal\n */\n_defineProperty(CoreWallet, \"id\", walletIds.coreWallet);\n\nexport { CoreWallet };\n","import { _ as _defineProperty } from '../../../../dist/defineProperty-350fc508.browser.esm.js';\nimport { W as WagmiAdapter } from '../../../../dist/connector-05689d68.browser.esm.js';\nimport { a as AbstractClientWallet } from '../../../../dist/base-2223b4bc.browser.esm.js';\nimport { w as walletIds } from '../../../../dist/walletIds-dff6dced.browser.esm.js';\nimport { T as TW_WC_PROJECT_ID } from '../../../../dist/wc-fbb7ab15.browser.esm.js';\nimport { g as getInjectedOneKeyProvider } from '../../../../dist/getInjectedOneKeyProvider-b8c89caf.browser.esm.js';\nimport 'eventemitter3';\nimport '@thirdweb-dev/chains';\nimport '../../abstract/dist/thirdweb-dev-wallets-evm-wallets-abstract.browser.esm.js';\nimport 'ethers';\nimport '@thirdweb-dev/sdk';\nimport '../../../../dist/headers-2c8daf6b.browser.esm.js';\nimport '../../../../dist/assertWindowEthereum-88295886.browser.esm.js';\n\n/**\n * Wallet interface to connect [OneKey wallet](https://onekey.so) extension or mobile app.\n *\n * ```ts\n * import { OneKeyWallet } from \"@thirdweb-dev/wallets\";\n *\n * const wallet = new OneKeyWallet();\n *\n * wallet.connect();\n * ```\n * @wallet\n */\nclass OneKeyWallet extends AbstractClientWallet {\n /**\n * @internal\n */\n get walletName() {\n return \"OneKey wallet\";\n }\n\n /**\n * Create instance of `OneKeyWallet`\n *\n * @param options - The `options` object contains the following properties:\n * ### clientId (recommended)\n *\n * Provide `clientId` to use the thirdweb RPCs for given `chains`\n *\n * You can create a client ID for your application from [thirdweb dashboard](https://thirdweb.com/create-api-key).\n *\n * ### projectId (recommended)\n *\n * This is only relevant if you want to use [WalletConnect](https://walletconnect.com/) for connecting to Zerion wallet mobile app when MetaMask is not injected.\n *\n * This `projectId` can be obtained at [cloud.walletconnect.com](https://cloud.walletconnect.com/). It is highly recommended to use your own project id and only use the default one for testing purposes.\n *\n * ### chains (optional)\n * Provide an array of chains you want to support.\n *\n * Must be an array of `Chain` objects, from the [`@thirdweb-dev/chains`](https://www.npmjs.com/package/\\@thirdweb-dev/chains) package.\n *\n * Defaults to our [default chains](/react/react.thirdwebprovider#default-chains).\n *\n * ### dappMetadata (optional)\n * Information about your app that the wallet will display when your app tries to connect to it.\n *\n * Must be an object containing `name`, `url`, and optionally `description` and `logoUrl` properties.\n *\n * ### qrcode\n * Whether to display the Wallet Connect QR code Modal or not.\n *\n * Must be a `boolean`. Defaults to `true`.\n *\n * ### qrModalOptions\n * WalletConnect's [options](https://docs.walletconnect.com/advanced/walletconnectmodal/options) to customize the QR Code Modal.\n *\n */\n constructor(options) {\n super(OneKeyWallet.id, options);\n this.isInjected = !!getInjectedOneKeyProvider();\n }\n async getConnector() {\n if (!this.connector) {\n // if OneKey wallet is injected, use the injected connector\n // otherwise, use the wallet connect connector for using the OneKey app on mobile via QR code scan\n\n if (this.isInjected) {\n // import the connector dynamically\n const {\n OneKeyConnector\n } = await import('../../../connectors/onekey/dist/thirdweb-dev-wallets-evm-connectors-onekey.browser.esm.js');\n this.OneKeyConnector = new OneKeyConnector({\n chains: this.chains,\n connectorStorage: this.walletStorage,\n options: {\n shimDisconnect: true\n }\n });\n this.connector = new WagmiAdapter(this.OneKeyConnector);\n } else {\n const {\n WalletConnectConnector\n } = await import('../../../connectors/wallet-connect/dist/thirdweb-dev-wallets-evm-connectors-wallet-connect.browser.esm.js');\n const walletConnectConnector = new WalletConnectConnector({\n chains: this.chains,\n options: {\n projectId: this.options?.projectId || TW_WC_PROJECT_ID,\n // TODO,\n storage: this.walletStorage,\n qrcode: this.options?.qrcode,\n dappMetadata: this.dappMetadata,\n qrModalOptions: this.options?.qrModalOptions\n }\n });\n walletConnectConnector.getProvider().then(provider => {\n provider.signer.client.on(\"session_request_sent\", () => {\n this.emit(\"wc_session_request_sent\");\n });\n });\n\n // need to save this for getting the QR code URI\n this.walletConnectConnector = walletConnectConnector;\n this.connector = new WagmiAdapter(walletConnectConnector);\n }\n }\n return this.connector;\n }\n\n /**\n * Connect to the wallet using a QR code.\n * You can use this method to display a QR code. The user can scan this QR code using the OneKey Wallet mobile app to connect to your dapp.\n *\n * @example\n * ```typescript\n * wallet.connectWithQrCode({\n * chainId: 1,\n * onQrCodeUri(qrCodeUri) {\n * // render the QR code with `qrCodeUri`\n * },\n * onConnected(accountAddress) {\n * // update UI to show connected state\n * },\n * })\n * ```\n *\n * @param options -\n * The options object contains the following properties/method:\n *\n * ### chainId (optional)\n * If provided, wallet will prompt the user to switch to the network with the given `chainId` after connecting.\n *\n * ### onQrCodeUri\n * A callback to get the QR code URI to display to the user.\n *\n * ### onConnected\n * A callback that is called when the user has connected their wallet using the QR code.\n */\n async connectWithQrCode(options) {\n await this.getConnector();\n const wcConnector = this.walletConnectConnector;\n if (!wcConnector) {\n throw new Error(\"WalletConnect connector not found\");\n }\n const wcProvider = await wcConnector.getProvider();\n\n // set a listener for display_uri event\n wcProvider.on(\"display_uri\", uri => {\n options.onQrCodeUri(uri);\n });\n\n // trigger connect flow\n this.connect({\n chainId: options.chainId\n }).then(options.onConnected);\n }\n}\n/**\n * @internal\n */\n/**\n * @internal\n */\n/**\n * @internal\n */\n/**\n * @internal\n */\n/**\n * @internal\n */\n_defineProperty(OneKeyWallet, \"id\", walletIds.oneKey);\n\nexport { OneKeyWallet };\n","import { _ as _defineProperty } from '../../../../dist/defineProperty-350fc508.browser.esm.js';\nimport { W as WagmiAdapter } from '../../../../dist/connector-05689d68.browser.esm.js';\nimport { a as AbstractClientWallet } from '../../../../dist/base-2223b4bc.browser.esm.js';\nimport { w as walletIds } from '../../../../dist/walletIds-dff6dced.browser.esm.js';\nimport { T as TW_WC_PROJECT_ID } from '../../../../dist/wc-fbb7ab15.browser.esm.js';\nimport { g as getInjectedCryptoDefiWalletProvider } from '../../../../dist/getInjectedCryptoDefiWalletProvider-3a00394e.browser.esm.js';\nimport 'eventemitter3';\nimport '@thirdweb-dev/chains';\nimport '../../abstract/dist/thirdweb-dev-wallets-evm-wallets-abstract.browser.esm.js';\nimport 'ethers';\nimport '@thirdweb-dev/sdk';\nimport '../../../../dist/headers-2c8daf6b.browser.esm.js';\nimport '../../../../dist/assertWindowEthereum-88295886.browser.esm.js';\n\n/**\n * Wallet interface to connect [Crypto.com Defi wallet](https://crypto.com/defi-wallet) extension or mobile app.\n *\n * @example\n * ```ts\n * import { CryptoDefiWallet } from \"@thirdweb-dev/wallets\";\n *\n * const wallet = new CryptoDefiWallet();\n *\n * wallet.connect();\n * ```\n *\n * @wallet\n */\nclass CryptoDefiWallet extends AbstractClientWallet {\n /**\n * @internal\n */\n get walletName() {\n return \"Crypto Defi wallet\";\n }\n\n /**\n * Create instance of `CryptoDefiWallet`\n *\n * @param options - The `options` object contains the following properties:\n * ### clientId (recommended)\n *\n * Provide `clientId` to use the thirdweb RPCs for given `chains`\n *\n * You can create a client ID for your application from [thirdweb dashboard](https://thirdweb.com/create-api-key).\n *\n * ### projectId (recommended)\n *\n * This is only relevant if you want to use [WalletConnect](https://walletconnect.com/) for connecting to Zerion wallet mobile app when MetaMask is not injected.\n *\n * This `projectId` can be obtained at [cloud.walletconnect.com](https://cloud.walletconnect.com/). It is highly recommended to use your own project id and only use the default one for testing purposes.\n *\n * ### chains (optional)\n * Provide an array of chains you want to support.\n *\n * Must be an array of `Chain` objects, from the [`@thirdweb-dev/chains`](https://www.npmjs.com/package/\\@thirdweb-dev/chains) package.\n *\n * Defaults to our [default chains](/react/react.thirdwebprovider#default-chains).\n *\n * ### dappMetadata (optional)\n * Information about your app that the wallet will display when your app tries to connect to it.\n *\n * Must be an object containing `name`, `url`, and optionally `description` and `logoUrl` properties.\n *\n * ### qrcode\n * Whether to display the Wallet Connect QR code Modal or not.\n *\n * Must be a `boolean`. Defaults to `true`.\n *\n * ### qrModalOptions\n * WalletConnect's [options](https://docs.walletconnect.com/advanced/walletconnectmodal/options) to customize the QR Code Modal.\n *\n */\n constructor(options) {\n super(CryptoDefiWallet.id, options);\n this.isInjected = !!getInjectedCryptoDefiWalletProvider();\n }\n async getConnector() {\n if (!this.connector) {\n // if Defi wallet is injected, use the injected connector\n // otherwise, use the wallet connect connector for using the Defi app on mobile via QR code scan\n\n if (this.isInjected) {\n // import the connector dynamically\n const {\n CryptoDefiWalletConnector\n } = await import('../../../connectors/crypto-defi-wallet/dist/thirdweb-dev-wallets-evm-connectors-crypto-defi-wallet.browser.esm.js');\n this.CryptoDefiWalletConnector = new CryptoDefiWalletConnector({\n chains: this.chains,\n connectorStorage: this.walletStorage,\n options: {\n shimDisconnect: true\n }\n });\n this.connector = new WagmiAdapter(this.CryptoDefiWalletConnector);\n } else {\n const {\n WalletConnectConnector\n } = await import('../../../connectors/wallet-connect/dist/thirdweb-dev-wallets-evm-connectors-wallet-connect.browser.esm.js');\n const walletConnectConnector = new WalletConnectConnector({\n chains: this.chains,\n options: {\n projectId: this.options?.projectId || TW_WC_PROJECT_ID,\n // TODO,\n storage: this.walletStorage,\n qrcode: this.options?.qrcode,\n dappMetadata: this.dappMetadata,\n qrModalOptions: this.options?.qrModalOptions\n }\n });\n walletConnectConnector.getProvider().then(provider => {\n provider.signer.client.on(\"session_request_sent\", () => {\n this.emit(\"wc_session_request_sent\");\n });\n });\n\n // need to save this for getting the QR code URI\n this.walletConnectConnector = walletConnectConnector;\n this.connector = new WagmiAdapter(walletConnectConnector);\n }\n }\n return this.connector;\n }\n\n /**\n * Connect to the wallet using a QR code.\n * You can use this method to display a QR code. The user can scan this QR code using the Defi Wallet mobile app to connect to your dapp.\n *\n * @example\n * ```typescript\n * wallet.connectWithQrCode({\n * chainId: 1,\n * onQrCodeUri(qrCodeUri) {\n * // render the QR code with `qrCodeUri`\n * },\n * onConnected(accountAddress) {\n * // update UI to show connected state\n * },\n * })\n * ```\n *\n * @param options -\n * The options object contains the following properties/method:\n *\n * ### chainId (optional)\n * If provided, wallet will prompt the user to switch to the network with the given `chainId` after connecting.\n *\n * ### onQrCodeUri\n * A callback to get the QR code URI to display to the user.\n *\n * ### onConnected\n * A callback that is called when the user has connected their wallet using the QR code.\n */\n async connectWithQrCode(options) {\n await this.getConnector();\n const wcConnector = this.walletConnectConnector;\n if (!wcConnector) {\n throw new Error(\"WalletConnect connector not found\");\n }\n const wcProvider = await wcConnector.getProvider();\n\n // set a listener for display_uri event\n wcProvider.on(\"display_uri\", uri => {\n options.onQrCodeUri(uri);\n });\n\n // trigger connect flow\n this.connect({\n chainId: options.chainId\n }).then(options.onConnected);\n }\n}\n/**\n * @internal\n */\n/**\n * @internal\n */\n/**\n * @internal\n */\n/**\n * @internal\n */\n/**\n * @internal\n */\n_defineProperty(CryptoDefiWallet, \"id\", walletIds.cryptoDefiWallet);\n\nexport { CryptoDefiWallet };\n","import { _ as _defineProperty } from '../../../../dist/defineProperty-350fc508.browser.esm.js';\nimport { W as WagmiAdapter } from '../../../../dist/connector-05689d68.browser.esm.js';\nimport { a as AbstractClientWallet } from '../../../../dist/base-2223b4bc.browser.esm.js';\nimport { w as walletIds } from '../../../../dist/walletIds-dff6dced.browser.esm.js';\nimport { T as TW_WC_PROJECT_ID } from '../../../../dist/wc-fbb7ab15.browser.esm.js';\nimport { g as getInjectedRabbyProvider } from '../../../../dist/getInjectedRabbyProvider-db56bdef.browser.esm.js';\nimport 'eventemitter3';\nimport '@thirdweb-dev/chains';\nimport '../../abstract/dist/thirdweb-dev-wallets-evm-wallets-abstract.browser.esm.js';\nimport 'ethers';\nimport '@thirdweb-dev/sdk';\nimport '../../../../dist/headers-2c8daf6b.browser.esm.js';\nimport '../../../../dist/assertWindowEthereum-88295886.browser.esm.js';\n\n/**\n * Wallet interface to connect [Rabby wallet](https://rabby.io/) extension or mobile app\n *\n * @example\n * ```ts\n * import { RabbyWallet } from \"@thirdweb-dev/wallets\";\n *\n * const wallet = new RabbyWallet();\n *\n * wallet.connect();\n * ```\n *\n * @wallet\n */\nclass RabbyWallet extends AbstractClientWallet {\n /**\n * @internal\n */\n get walletName() {\n return \"Rabby wallet\";\n }\n\n /**\n * Create instance of `RabbyWallet`\n *\n * @param options - The `options` object contains the following properties:\n * ### clientId (recommended)\n *\n * Provide `clientId` to use the thirdweb RPCs for given `chains`\n *\n * You can create a client ID for your application from [thirdweb dashboard](https://thirdweb.com/create-api-key).\n *\n * ### projectId (recommended)\n *\n * This is only relevant if you want to use [WalletConnect](https://walletconnect.com/) for connecting to Zerion wallet mobile app when MetaMask is not injected.\n *\n * This `projectId` can be obtained at [cloud.walletconnect.com](https://cloud.walletconnect.com/). It is highly recommended to use your own project id and only use the default one for testing purposes.\n *\n * ### chains (optional)\n * Provide an array of chains you want to support.\n *\n * Must be an array of `Chain` objects, from the [`@thirdweb-dev/chains`](https://www.npmjs.com/package/\\@thirdweb-dev/chains) package.\n *\n * Defaults to our [default chains](/react/react.thirdwebprovider#default-chains).\n *\n * ### dappMetadata (optional)\n * Information about your app that the wallet will display when your app tries to connect to it.\n *\n * Must be an object containing `name`, `url`, and optionally `description` and `logoUrl` properties.\n *\n * ### qrcode\n * Whether to display the Wallet Connect QR code Modal or not.\n *\n * Must be a `boolean`. Defaults to `true`.\n *\n * ### qrModalOptions\n * WalletConnect's [options](https://docs.walletconnect.com/advanced/walletconnectmodal/options) to customize the QR Code Modal.\n *\n */\n constructor(options) {\n super(RabbyWallet.id, options);\n this.isInjected = !!getInjectedRabbyProvider();\n }\n async getConnector() {\n if (!this.connector) {\n // if Rabby wallet is injected, use the injected connector\n // otherwise, use the wallet connect connector for using the Rabby app on mobile via QR code scan\n\n if (this.isInjected) {\n // import the connector dynamically\n const {\n RabbyConnector\n } = await import('../../../connectors/rabby/dist/thirdweb-dev-wallets-evm-connectors-rabby.browser.esm.js');\n this.RabbyConnector = new RabbyConnector({\n chains: this.chains,\n connectorStorage: this.walletStorage,\n options: {\n shimDisconnect: true\n }\n });\n this.connector = new WagmiAdapter(this.RabbyConnector);\n } else {\n const {\n WalletConnectConnector\n } = await import('../../../connectors/wallet-connect/dist/thirdweb-dev-wallets-evm-connectors-wallet-connect.browser.esm.js');\n const walletConnectConnector = new WalletConnectConnector({\n chains: this.chains,\n options: {\n projectId: this.options?.projectId || TW_WC_PROJECT_ID,\n // TODO,\n storage: this.walletStorage,\n qrcode: this.options?.qrcode,\n dappMetadata: this.dappMetadata,\n qrModalOptions: this.options?.qrModalOptions\n }\n });\n walletConnectConnector.getProvider().then(provider => {\n provider.signer.client.on(\"session_request_sent\", () => {\n this.emit(\"wc_session_request_sent\");\n });\n });\n\n // need to save this for getting the QR code URI\n this.walletConnectConnector = walletConnectConnector;\n this.connector = new WagmiAdapter(walletConnectConnector);\n }\n }\n return this.connector;\n }\n\n /**\n * Connect to the wallet using a QR code.\n * You can use this method to display a QR code. The user can scan this QR code using the Rabby Wallet mobile app to connect to your dapp.\n *\n * @example\n * ```typescript\n * wallet.connectWithQrCode({\n * chainId: 1,\n * onQrCodeUri(qrCodeUri) {\n * // render the QR code with `qrCodeUri`\n * },\n * onConnected(accountAddress) {\n * // update UI to show connected state\n * },\n * })\n * ```\n *\n * @param options -\n * The options object contains the following properties/method:\n *\n * ### chainId (optional)\n * If provided, wallet will prompt the user to switch to the network with the given `chainId` after connecting.\n *\n * ### onQrCodeUri\n * A callback to get the QR code URI to display to the user.\n *\n * ### onConnected\n * A callback that is called when the user has connected their wallet using the QR code.\n */\n async connectWithQrCode(options) {\n await this.getConnector();\n const wcConnector = this.walletConnectConnector;\n if (!wcConnector) {\n throw new Error(\"WalletConnect connector not found\");\n }\n const wcProvider = await wcConnector.getProvider();\n\n // set a listener for display_uri event\n wcProvider.on(\"display_uri\", uri => {\n options.onQrCodeUri(uri);\n });\n\n // trigger connect flow\n this.connect({\n chainId: options.chainId\n }).then(options.onConnected);\n }\n}\n/**\n * @internal\n */\n/**\n * @internal\n */\n/**\n * @internal\n */\n/**\n * @internal\n */\n/**\n * @internal\n */\n_defineProperty(RabbyWallet, \"id\", walletIds.rabby);\n\nexport { RabbyWallet };\n","import { _ as _defineProperty } from '../../../../dist/defineProperty-350fc508.browser.esm.js';\nimport { W as WagmiAdapter } from '../../../../dist/connector-05689d68.browser.esm.js';\nimport { a as AbstractClientWallet } from '../../../../dist/base-2223b4bc.browser.esm.js';\nimport { w as walletIds } from '../../../../dist/walletIds-dff6dced.browser.esm.js';\nimport { T as TW_WC_PROJECT_ID } from '../../../../dist/wc-fbb7ab15.browser.esm.js';\nimport { g as getInjectedCoin98Provider } from '../../../../dist/getInjectedCoin98Provider-056e8511.browser.esm.js';\nimport 'eventemitter3';\nimport '@thirdweb-dev/chains';\nimport '../../abstract/dist/thirdweb-dev-wallets-evm-wallets-abstract.browser.esm.js';\nimport 'ethers';\nimport '@thirdweb-dev/sdk';\nimport '../../../../dist/headers-2c8daf6b.browser.esm.js';\nimport '../../../../dist/assertWindowEthereum-88295886.browser.esm.js';\n\n/**\n * Wallet interface to connect [Coin98 wallet](https://coin98.com/) extension or mobile app.\n *\n * @example\n * ```ts\n * import { Coin98Wallet } from \"@thirdweb-dev/wallets\";\n *\n * const wallet = new Coin98Wallet();\n *\n * wallet.connect();\n * ```\n *\n * @wallet\n */\nclass Coin98Wallet extends AbstractClientWallet {\n /**\n * @internal\n */\n get walletName() {\n return \"Coin98 wallet\";\n }\n\n /**\n * Create instance of `Coin98Wallet`\n *\n * @param options - The `options` object contains the following properties:\n * ### clientId (recommended)\n *\n * Provide `clientId` to use the thirdweb RPCs for given `chains`\n *\n * You can create a client ID for your application from [thirdweb dashboard](https://thirdweb.com/create-api-key).\n *\n * ### projectId (recommended)\n *\n * This is only relevant if you want to use [WalletConnect](https://walletconnect.com/) for connecting to Zerion wallet mobile app when MetaMask is not injected.\n *\n * This `projectId` can be obtained at [cloud.walletconnect.com](https://cloud.walletconnect.com/). It is highly recommended to use your own project id and only use the default one for testing purposes.\n *\n * ### chains (optional)\n * Provide an array of chains you want to support.\n *\n * Must be an array of `Chain` objects, from the [`@thirdweb-dev/chains`](https://www.npmjs.com/package/\\@thirdweb-dev/chains) package.\n *\n * Defaults to our [default chains](/react/react.thirdwebprovider#default-chains).\n *\n * ### dappMetadata (optional)\n * Information about your app that the wallet will display when your app tries to connect to it.\n *\n * Must be an object containing `name`, `url`, and optionally `description` and `logoUrl` properties.\n *\n * ### qrcode\n * Whether to display the Wallet Connect QR code Modal or not.\n *\n * Must be a `boolean`. Defaults to `true`.\n *\n * ### qrModalOptions\n * WalletConnect's [options](https://docs.walletconnect.com/advanced/walletconnectmodal/options) to customize the QR Code Modal.\n *\n */\n constructor(options) {\n super(Coin98Wallet.id, options);\n this.isInjected = !!getInjectedCoin98Provider();\n }\n async getConnector() {\n if (!this.connector) {\n // if Coin98 wallet is injected, use the injected connector\n // otherwise, use the wallet connect connector for using the Coin98 app on mobile via QR code scan\n\n if (this.isInjected) {\n // import the connector dynamically\n const {\n Coin98Connector\n } = await import('../../../connectors/coin98/dist/thirdweb-dev-wallets-evm-connectors-coin98.browser.esm.js');\n this.Coin98Connector = new Coin98Connector({\n chains: this.chains,\n connectorStorage: this.walletStorage,\n options: {\n shimDisconnect: true\n }\n });\n this.connector = new WagmiAdapter(this.Coin98Connector);\n } else {\n const {\n WalletConnectConnector\n } = await import('../../../connectors/wallet-connect/dist/thirdweb-dev-wallets-evm-connectors-wallet-connect.browser.esm.js');\n const walletConnectConnector = new WalletConnectConnector({\n chains: this.chains,\n options: {\n projectId: this.options?.projectId || TW_WC_PROJECT_ID,\n // TODO,\n storage: this.walletStorage,\n qrcode: this.options?.qrcode,\n dappMetadata: this.dappMetadata,\n qrModalOptions: this.options?.qrModalOptions\n }\n });\n walletConnectConnector.getProvider().then(provider => {\n provider.signer.client.on(\"session_request_sent\", () => {\n this.emit(\"wc_session_request_sent\");\n });\n });\n\n // need to save this for getting the QR code URI\n this.walletConnectConnector = walletConnectConnector;\n this.connector = new WagmiAdapter(walletConnectConnector);\n }\n }\n return this.connector;\n }\n\n /**\n * Connect to the wallet using a QR code.\n * You can use this method to display a QR code. The user can scan this QR code using the Coin98 Wallet mobile app to connect to your dapp.\n *\n * @example\n * ```typescript\n * wallet.connectWithQrCode({\n * chainId: 1,\n * onQrCodeUri(qrCodeUri) {\n * // render the QR code with `qrCodeUri`\n * },\n * onConnected(accountAddress) {\n * // update UI to show connected state\n * },\n * })\n * ```\n *\n * @param options -\n * The options object contains the following properties/method:\n *\n * ### chainId (optional)\n * If provided, wallet will prompt the user to switch to the network with the given `chainId` after connecting.\n *\n * ### onQrCodeUri\n * A callback to get the QR code URI to display to the user.\n *\n * ### onConnected\n * A callback that is called when the user has connected their wallet using the QR code.\n */\n async connectWithQrCode(options) {\n await this.getConnector();\n const wcConnector = this.walletConnectConnector;\n if (!wcConnector) {\n throw new Error(\"WalletConnect connector not found\");\n }\n const wcProvider = await wcConnector.getProvider();\n\n // set a listener for display_uri event\n wcProvider.on(\"display_uri\", uri => {\n options.onQrCodeUri(uri);\n });\n\n // trigger connect flow\n this.connect({\n chainId: options.chainId\n }).then(options.onConnected);\n }\n}\n/**\n * @internal\n */\n/**\n * @internal\n */\n/**\n * @internal\n */\n/**\n * @internal\n */\n/**\n * @internal\n */\n_defineProperty(Coin98Wallet, \"id\", walletIds.coin98);\n\nexport { Coin98Wallet };\n","import { AbstractWallet } from '../../abstract/dist/thirdweb-dev-wallets-evm-wallets-abstract.browser.esm.js';\nimport '../../../../dist/defineProperty-350fc508.browser.esm.js';\nimport 'ethers';\nimport 'eventemitter3';\nimport '@thirdweb-dev/sdk';\n\n/**\n * Wallet interface to connect using [ethers.js](https://github.com/ethers-io/ethers.js/) signer\n *\n * @example\n * ```javascript\n * import { EthersWallet } from \"@thirdweb-dev/wallets\";\n * import { Wallet } from \"ethers\";\n *\n * // can be any ethers.js signer\n * const signer = Wallet.createRandom();\n * const wallet = new EthersWallet(signer);\n *\n * await wallet.connect();\n * ```\n *\n * @wallet\n */\nclass EthersWallet extends AbstractWallet {\n /**\n * Create instance of `EthersWallet`\n * @param signer - ethers.js signer object\n */\n constructor(signer) {\n super();\n this._signer = signer;\n }\n\n /**\n * Returns [ethers signer](https://docs.ethers.org/v5/api/signer/) object used by the wallet\n */\n async getSigner() {\n return this._signer;\n }\n}\n\nexport { EthersWallet };\n","import { _ as _defineProperty } from '../../../../dist/defineProperty-350fc508.browser.esm.js';\nimport { W as WagmiAdapter } from '../../../../dist/connector-05689d68.browser.esm.js';\nimport { a as assertWindowEthereum } from '../../../../dist/assertWindowEthereum-88295886.browser.esm.js';\nimport { a as AbstractClientWallet } from '../../../../dist/base-2223b4bc.browser.esm.js';\nimport { w as walletIds } from '../../../../dist/walletIds-dff6dced.browser.esm.js';\nimport { T as TW_WC_PROJECT_ID } from '../../../../dist/wc-fbb7ab15.browser.esm.js';\nimport 'eventemitter3';\nimport '@thirdweb-dev/chains';\nimport '../../abstract/dist/thirdweb-dev-wallets-evm-wallets-abstract.browser.esm.js';\nimport 'ethers';\nimport '@thirdweb-dev/sdk';\nimport '../../../../dist/headers-2c8daf6b.browser.esm.js';\n\nclass ImTokenWallet extends AbstractClientWallet {\n get walletName() {\n return \"imToken\";\n }\n constructor(options) {\n super(ImTokenWallet.id, options);\n if (assertWindowEthereum(globalThis.window)) {\n this.isInjected = !!globalThis.window.ethereum?.isImToken;\n } else {\n this.isInjected = false;\n }\n }\n async getConnector() {\n if (!this.connector) {\n if (this.isInjected) {\n // import the connector dynamically\n const {\n ImTokenConnector\n } = await import('../../../connectors/imtoken/dist/thirdweb-dev-wallets-evm-connectors-imtoken.browser.esm.js');\n const imtokenConnector = new ImTokenConnector({\n chains: this.chains,\n connectorStorage: this.walletStorage,\n options: {\n shimDisconnect: true\n }\n });\n this.imtokenConnector = imtokenConnector;\n this.connector = new WagmiAdapter(imtokenConnector);\n } else {\n const {\n WalletConnectConnector\n } = await import('../../../connectors/wallet-connect/dist/thirdweb-dev-wallets-evm-connectors-wallet-connect.browser.esm.js');\n const walletConnectConnector = new WalletConnectConnector({\n chains: this.chains,\n options: {\n projectId: this.options?.projectId || TW_WC_PROJECT_ID,\n // TODO,\n storage: this.walletStorage,\n qrcode: this.options?.qrcode,\n dappMetadata: this.dappMetadata,\n qrModalOptions: this.options?.qrModalOptions\n }\n });\n walletConnectConnector.getProvider().then(provider => {\n provider.signer.client.on(\"session_request_sent\", () => {\n this.emit(\"wc_session_request_sent\");\n });\n });\n\n // need to save this for getting the QR code URI\n this.walletConnectConnector = walletConnectConnector;\n this.connector = new WagmiAdapter(walletConnectConnector);\n }\n }\n return this.connector;\n }\n\n /**\n * Connect to the wallet using a QR code.\n * You can use this method to display a QR code. The user can scan this QR code using the Trust Wallet mobile app to connect to your dapp.\n *\n * @example\n * ```typescript\n * wallet.connectWithQrCode({\n * chainId: 1,\n * onQrCodeUri(qrCodeUri) {\n * // render the QR code with `qrCodeUri`\n * },\n * onConnected(accountAddress) {\n * // update UI to show connected state\n * },\n * })\n * ```\n *\n * @param options -\n * The options object contains the following properties/method:\n *\n * ### chainId (optional)\n * If provided, wallet will prompt the user to switch to the network with the given `chainId` after connecting.\n *\n * ### onQrCodeUri\n * A callback to get the QR code URI to display to the user.\n *\n * ### onConnected\n * A callback that is called when the user has connected their wallet using the QR code.\n */\n async connectWithQrCode(options) {\n await this.getConnector();\n const wcConnector = this.walletConnectConnector;\n if (!wcConnector) {\n throw new Error(\"WalletConnect connector not found\");\n }\n const wcProvider = await wcConnector.getProvider();\n\n // set a listener for display_uri event\n wcProvider.on(\"display_uri\", uri => {\n options.onQrCodeUri(uri);\n });\n\n // trigger connect flow\n this.connect({\n chainId: options.chainId\n }).then(options.onConnected);\n }\n}\n_defineProperty(ImTokenWallet, \"meta\", {\n name: \"imToken\",\n iconURL: \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iODAiIGhlaWdodD0iODAiIHZpZXdCb3g9IjAgMCA4MCA4MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzIyMl80NzgzKSI+CjxtYXNrIGlkPSJtYXNrMF8yMjJfNDc4MyIgc3R5bGU9Im1hc2stdHlwZTpsdW1pbmFuY2UiIG1hc2tVbml0cz0idXNlclNwYWNlT25Vc2UiIHg9IjAiIHk9IjAiIHdpZHRoPSI4MCIgaGVpZ2h0PSI4MCI+CjxwYXRoIGQ9Ik03OS44OTQ4IDBIMC4wNTA3ODEyVjgwSDc5Ljg5NDhWMFoiIGZpbGw9IndoaXRlIi8+CjwvbWFzaz4KPGcgbWFzaz0idXJsKCNtYXNrMF8yMjJfNDc4MykiPgo8cGF0aCBkPSJNNjIuMDI3NSAwSDE4LjA1MDlDOC4xNDYzOSAwIDAuMTE3MTg4IDguMDQ0ODggMC4xMTcxODggMTcuOTY4OFY2Mi4wMzEyQzAuMTE3MTg4IDcxLjk1NTEgOC4xNDYzOSA4MCAxOC4wNTA5IDgwSDYyLjAyNzVDNzEuOTMyIDgwIDc5Ljk2MTIgNzEuOTU1MSA3OS45NjEyIDYyLjAzMTJWMTcuOTY4OEM3OS45NjEyIDguMDQ0ODggNzEuOTMyIDAgNjIuMDI3NSAwWiIgZmlsbD0idXJsKCNwYWludDBfbGluZWFyXzIyMl80NzgzKSIvPgo8cGF0aCBkPSJNNjUuMDk4MSAyNC43MzNDNjYuNzU4NiA0Ny4yNjY3IDUyLjMwMjEgNTcuOTE3MiAzOS4zNDIzIDU5LjA1M0MyNy4yOTM1IDYwLjEwODcgMTUuOTUyIDUyLjY5MDggMTQuOTU3MSA0MS4yOTM2QzE0LjEzNjMgMzEuODc3NiAxOS45NDQ1IDI3Ljg2ODkgMjQuNTA4IDI3LjQ2OTRDMjkuMjAxNSAyNy4wNTcgMzMuMTQ1OCAzMC4zMDAxIDMzLjQ4NzkgMzQuMjI2OUMzMy44MTc1IDM4LjAwMiAzMS40NjY0IDM5LjcyMDUgMjkuODMxMyAzOS44NjM0QzI4LjUzODIgMzkuOTc3IDI2LjkxMTQgMzkuMTkwNSAyNi43NjQ1IDM3LjUwMTZDMjYuNjM4NSAzNi4wNTAzIDI3LjE4ODUgMzUuODUyNiAyNy4wNTQxIDM0LjMxMDlDMjYuODE0OSAzMS41NjYyIDI0LjQyNjEgMzEuMjQ2NiAyMy4xMTgzIDMxLjM2MDFDMjEuNTM1NyAzMS40OTkxIDE4LjY2NDEgMzMuMzQ5OCAxOS4wNjcgMzcuOTZDMTkuNDcyMiA0Mi42MTAxIDIzLjkyMjIgNDYuMjg0NSAyOS43NTU3IDQ1Ljc3MzRDMzYuMDUwOSA0NS4yMjIzIDQwLjQzMzcgNDAuMzExNCA0MC43NjM0IDMzLjQyMzRDNDAuNzYwMyAzMy4wNTg2IDQwLjgzNyAzMi42OTc1IDQwLjk4OCAzMi4zNjU1TDQwLjk5IDMyLjM1NzJDNDEuMDU3OCAzMi4yMTI4IDQxLjEzNzIgMzIuMDc0MiA0MS4yMjcyIDMxLjk0MjhDNDEuMzYxNiAzMS43NDA5IDQxLjUzMzggMzEuNTE4IDQxLjc1NjIgMzEuMjczOUM0MS43NTgzIDMxLjI2NzYgNDEuNzU4MyAzMS4yNjc2IDQxLjc2MjYgMzEuMjY3NkM0MS45MjQxIDMxLjA4NDcgNDIuMTE5NCAzMC44ODcgNDIuMzM5NyAzMC42NzQ1QzQ1LjA4OTcgMjguMDc1IDU0Ljk5MzEgMjEuOTQ0MiA2NC4zNTkyIDIzLjg4NTVDNjQuNTU3MyAyMy45MjggNjQuNzM2MSAyNC4wMzM0IDY0Ljg2OTMgMjQuMTg2MkM2NS4wMDI1IDI0LjMzOTEgNjUuMDgyNiAyNC41MzA4IDY1LjA5ODEgMjQuNzMzWiIgZmlsbD0id2hpdGUiLz4KPC9nPgo8L2c+CjxkZWZzPgo8bGluZWFyR3JhZGllbnQgaWQ9InBhaW50MF9saW5lYXJfMjIyXzQ3ODMiIHgxPSI3My41MDA5IiB5MT0iNS4zMTI1IiB4Mj0iMi44NzI0MSIgeTI9Ijc3LjY3NDciIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KPHN0b3Agc3RvcC1jb2xvcj0iIzExQzREMSIvPgo8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiMwMDYyQUQiLz4KPC9saW5lYXJHcmFkaWVudD4KPGNsaXBQYXRoIGlkPSJjbGlwMF8yMjJfNDc4MyI+CjxyZWN0IHdpZHRoPSI4MCIgaGVpZ2h0PSI4MCIgZmlsbD0id2hpdGUiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4=\",\n urls: {\n ios: \"https://itunes.apple.com/us/app/imtoken2/id1384798940\",\n android: \"https://play.google.com/store/apps/details?id=im.token.app\"\n }\n});\n_defineProperty(ImTokenWallet, \"id\", walletIds.imtoken);\n\nexport { ImTokenWallet };\n","import { _ as _defineProperty } from '../../../../dist/defineProperty-350fc508.browser.esm.js';\nimport { W as WagmiAdapter } from '../../../../dist/connector-05689d68.browser.esm.js';\nimport { a as AbstractClientWallet } from '../../../../dist/base-2223b4bc.browser.esm.js';\nimport 'eventemitter3';\nimport '@thirdweb-dev/chains';\nimport '../../abstract/dist/thirdweb-dev-wallets-evm-wallets-abstract.browser.esm.js';\nimport 'ethers';\nimport '@thirdweb-dev/sdk';\nimport '../../../../dist/headers-2c8daf6b.browser.esm.js';\n\n/**\n * @internal\n */\nclass InjectedWallet extends AbstractClientWallet {\n get walletName() {\n return \"Injected Wallet\";\n }\n constructor(options) {\n super(InjectedWallet.id, options);\n }\n async getConnector() {\n if (!this.connector) {\n // import the connector dynamically\n const {\n InjectedConnector\n } = await import('../../../connectors/injected/dist/thirdweb-dev-wallets-evm-connectors-injected.browser.esm.js');\n this.connector = new WagmiAdapter(new InjectedConnector({\n chains: this.chains,\n connectorStorage: this.walletStorage,\n options: {\n shimDisconnect: true\n }\n }));\n }\n return this.connector;\n }\n}\n_defineProperty(InjectedWallet, \"id\", \"injected\");\n\nexport { InjectedWallet };\n","import { _ as _defineProperty } from '../../../../dist/defineProperty-350fc508.browser.esm.js';\nimport { W as WagmiAdapter } from '../../../../dist/connector-05689d68.browser.esm.js';\nimport { a as AbstractClientWallet } from '../../../../dist/base-2223b4bc.browser.esm.js';\nimport { w as walletIds } from '../../../../dist/walletIds-dff6dced.browser.esm.js';\nimport { g as getInjectedXDEFIProvider } from '../../../../dist/getInjectedXDEFIProvider-ce9c378e.browser.esm.js';\nimport 'eventemitter3';\nimport '@thirdweb-dev/chains';\nimport '../../abstract/dist/thirdweb-dev-wallets-evm-wallets-abstract.browser.esm.js';\nimport 'ethers';\nimport '@thirdweb-dev/sdk';\nimport '../../../../dist/headers-2c8daf6b.browser.esm.js';\n\n/**\n * Wallet interface to connect [XDEFI](https://xdefi.io/) extension or mobile app\n *\n * @example\n * ```ts\n * import { XDEFIWallet } from \"@thirdweb-dev/wallets\";\n *\n * const wallet = new XDEFIWallet();\n *\n * wallet.connect();\n * ```\n *\n * @wallet\n */\nclass XDEFIWallet extends AbstractClientWallet {\n /**\n * @internal\n */\n get walletName() {\n return \"XDEFI\";\n }\n\n /**\n * Create instance of `XDEFIWallet`\n *\n * @param options - The `options` object contains the following properties:\n * ### clientId (recommended)\n *\n * Provide `clientId` to use the thirdweb RPCs for given `chains`\n *\n * You can create a client ID for your application from [thirdweb dashboard](https://thirdweb.com/create-api-key).\n *\n * ### chains (optional)\n * Provide an array of chains you want to support.\n *\n * Must be an array of `Chain` objects, from the [`@thirdweb-dev/chains`](https://www.npmjs.com/package/\\@thirdweb-dev/chains) package.\n *\n * Defaults to our [default chains](/react/react.thirdwebprovider#default-chains).\n *\n * ### dappMetadata (optional)\n * Information about your app that the wallet will display when your app tries to connect to it.\n *\n * Must be an object containing `name`, `url`, and optionally `description` and `logoUrl` properties.\n *\n * ```javascript\n * import { XDEFIWallet } from \"@thirdweb-dev/wallets\";\n *\n * const wallet = new XDEFIWallet({\n * dappMetadata: {\n * name: \"thirdweb powered dApp\",\n * url: \"https://thirdweb.com\",\n * description: \"thirdweb powered dApp\",\n * logoUrl: \"https://thirdweb.com/favicon.ico\",\n * },\n * });\n * ```\n */\n constructor(options) {\n super(XDEFIWallet.id, options);\n this.isInjected = !!getInjectedXDEFIProvider();\n }\n async getConnector() {\n if (!this.connector) {\n const {\n XDEFIConnector\n } = await import('../../../connectors/xdefi/dist/thirdweb-dev-wallets-evm-connectors-xdefi.browser.esm.js');\n const connector = new XDEFIConnector({\n chains: this.chains,\n connectorStorage: this.walletStorage,\n options: {\n shimDisconnect: true\n }\n });\n this.connector = new WagmiAdapter(connector);\n }\n return this.connector;\n }\n}\n/**\n * @internal\n */\n/**\n * @internal\n */\n/**\n * @internal\n */\n_defineProperty(XDEFIWallet, \"id\", walletIds.xdefi);\n\nexport { XDEFIWallet };\n","import { AbstractWallet } from '../../abstract/dist/thirdweb-dev-wallets-evm-wallets-abstract.browser.esm.js';\nimport { ethers } from 'ethers';\nimport { getChainProvider } from '@thirdweb-dev/sdk';\nimport '../../../../dist/defineProperty-350fc508.browser.esm.js';\nimport 'eventemitter3';\n\n/**\n * Wallet interface to connect using a Private Key\n *\n * @example\n * ```ts\n * import { PrivateKeyWallet } from \"@thirdweb-dev/wallets\";\n *\n * // can be any ethers.js signer\n * const privateKey = process.env.PRIVATE_KEY;\n * const wallet = new PrivateKeyWallet(privateKey);\n * ```\n *\n * @wallet\n */\nclass PrivateKeyWallet extends AbstractWallet {\n /**\n * Create instance of `PrivateKeyWallet`\n *\n * @param privateKey - The private key to use for signing transactions.\n *\n * @param chain - The chain or rpc url to connect to when querying the blockchain directly through this wallet.\n *\n * @param secretKey -\n * Provide `secretKey` to use the thirdweb RPCs for given `chain`\n *\n * You can create a secret key from [thirdweb dashboard](https://thirdweb.com/create-api-key).\n */\n constructor(privateKey, chain, secretKey) {\n super();\n this._signer = new ethers.Wallet(privateKey, chain ? getChainProvider(chain, {\n secretKey\n }) : undefined);\n }\n\n /**\n * Get the [ethers.js signer](https://docs.ethers.io/v5/api/signer/) object used by the wallet\n */\n async getSigner() {\n return this._signer;\n }\n}\n\nexport { PrivateKeyWallet };\n","import { _ as _defineProperty } from '../../../../dist/defineProperty-350fc508.browser.esm.js';\nimport { SmartWallet } from '../../smart-wallet/dist/thirdweb-dev-wallets-evm-wallets-smart-wallet.browser.esm.js';\nimport { w as walletIds } from '../../../../dist/walletIds-dff6dced.browser.esm.js';\nimport { a as ERC6551_REGISTRY } from '../../../../dist/constants-d1da453e.browser.esm.js';\nimport '../../../../dist/base-2223b4bc.browser.esm.js';\nimport '@thirdweb-dev/chains';\nimport '../../abstract/dist/thirdweb-dev-wallets-evm-wallets-abstract.browser.esm.js';\nimport 'ethers';\nimport 'eventemitter3';\nimport '@thirdweb-dev/sdk';\nimport '../../../../dist/headers-2c8daf6b.browser.esm.js';\nimport '@account-abstraction/contracts';\nimport '../../../../dist/url-a45219bd.browser.esm.js';\n\n/**\n * A smart wallet controlled by the holder of a particular NFT.\n */\n\n/**\n * @wallet\n */\nclass TokenBoundSmartWallet extends SmartWallet {\n get walletName() {\n return \"Token Bound Smart Wallet\";\n }\n constructor(options) {\n super({\n ...options,\n factoryAddress: options.registryAddress || ERC6551_REGISTRY\n });\n this.tbaOptions = options;\n }\n async getConnector() {\n if (!this.tbaConnector) {\n const {\n TokenBoundSmartWalletConnector\n } = await import('../../../connectors/token-bound-smart-wallet/dist/thirdweb-dev-wallets-evm-connectors-token-bound-smart-wallet.browser.esm.js');\n this.tbaConnector = new TokenBoundSmartWalletConnector(this.tbaOptions);\n }\n return this.tbaConnector;\n }\n}\n_defineProperty(TokenBoundSmartWallet, \"meta\", {\n name: \"Token Bound Smart Wallet\",\n iconURL: \"ipfs://QmeAJVqn17aDNQhjEU3kcWVZCFBrfta8LzaDGkS8Egdiyk/smart-wallet.svg\"\n});\n_defineProperty(TokenBoundSmartWallet, \"id\", walletIds.tokenBoundSmartWallet);\n\nexport { TokenBoundSmartWallet };\n","import { _ as _defineProperty } from '../../../../dist/defineProperty-350fc508.browser.esm.js';\nimport { W as WagmiAdapter } from '../../../../dist/connector-05689d68.browser.esm.js';\nimport { a as AbstractClientWallet } from '../../../../dist/base-2223b4bc.browser.esm.js';\nimport { w as walletIds } from '../../../../dist/walletIds-dff6dced.browser.esm.js';\nimport { g as getInjectedMagicEdenProvider } from '../../../../dist/getInjectedMagicEdenProvider-f8a9ec6a.browser.esm.js';\nimport 'eventemitter3';\nimport '@thirdweb-dev/chains';\nimport '../../abstract/dist/thirdweb-dev-wallets-evm-wallets-abstract.browser.esm.js';\nimport 'ethers';\nimport '@thirdweb-dev/sdk';\nimport '../../../../dist/headers-2c8daf6b.browser.esm.js';\n\n/**\n * Wallet interface to connect [Magic Eden](https://wallet.magiceden.io/) extension or mobile app\n *\n * @example\n * ```ts\n * import { MagicEdenWallet } from \"@thirdweb-dev/wallets\";\n *\n * const wallet = new MagicEdenWallet();\n *\n * wallet.connect();\n * ```\n *\n * @wallet\n */\nclass MagicEdenWallet extends AbstractClientWallet {\n /**\n * @internal\n */\n get walletName() {\n return \"Magic Eden\";\n }\n\n /**\n * Create instance of `MagicEdenWallet`\n *\n * @param options - The `options` object contains the following properties:\n * ### clientId (recommended)\n *\n * Provide `clientId` to use the thirdweb RPCs for given `chains`\n *\n * You can create a client ID for your application from [thirdweb dashboard](https://thirdweb.com/create-api-key).\n *\n * ### chains (optional)\n * Provide an array of chains you want to support.\n *\n * Must be an array of `Chain` objects, from the [`@thirdweb-dev/chains`](https://www.npmjs.com/package/\\@thirdweb-dev/chains) package.\n *\n * Defaults to our [default chains](/react/react.thirdwebprovider#default-chains).\n *\n * ### dappMetadata (optional)\n * Information about your app that the wallet will display when your app tries to connect to it.\n *\n * Must be an object containing `name`, `url`, and optionally `description` and `logoUrl` properties.\n *\n * ```javascript\n * import { MagicEdenWallet } from \"@thirdweb-dev/wallets\";\n *\n * const wallet = new MagicEdenWallet({\n * dappMetadata: {\n * name: \"thirdweb powered dApp\",\n * url: \"https://thirdweb.com\",\n * description: \"thirdweb powered dApp\",\n * logoUrl: \"https://thirdweb.com/favicon.ico\",\n * },\n * });\n * ```\n */\n constructor(options) {\n super(MagicEdenWallet.id, options);\n this.isInjected = !!getInjectedMagicEdenProvider();\n }\n async getConnector() {\n if (!this.connector) {\n const {\n MagicEdenConnector\n } = await import('../../../connectors/magic-eden/dist/thirdweb-dev-wallets-evm-connectors-magic-eden.browser.esm.js');\n const connector = new MagicEdenConnector({\n chains: this.chains,\n connectorStorage: this.walletStorage,\n options: {\n shimDisconnect: true\n }\n });\n this.connector = new WagmiAdapter(connector);\n }\n return this.connector;\n }\n}\n/**\n * @internal\n */\n/**\n * @internal\n */\n/**\n * @internal\n */\n_defineProperty(MagicEdenWallet, \"id\", walletIds.magicEden);\n\nexport { MagicEdenWallet };\n","import { Core } from '@walletconnect/core';\nimport { Web3Wallet } from '@walletconnect/web3wallet';\nimport { utils } from 'ethers';\nimport EventEmitter from 'eventemitter3';\nimport { T as TW_WC_PROJECT_ID, W as WC_RELAY_URL, E as EIP155_SIGNING_METHODS } from './wc-fbb7ab15.browser.esm.js';\nexport { E as EIP155_SIGNING_METHODS } from './wc-fbb7ab15.browser.esm.js';\nimport { formatJsonRpcResult } from '@walletconnect/jsonrpc-utils';\nexport { a as AbstractClientWallet, A as AsyncLocalStorage, D as DEFAULT_DAPP_META, c as createAsyncLocalStorage, i as isWalletAnalyticsEnabled, s as setWalletAnalyticsEnabled } from './base-2223b4bc.browser.esm.js';\nexport { w as walletIds } from './walletIds-dff6dced.browser.esm.js';\nexport { W as WagmiConnector } from './WagmiConnector-2f14002d.browser.esm.js';\nexport { A as AddChainError, C as ChainNotConfiguredError, P as ProviderRpcError, S as SwitchChainError, U as UserRejectedRequestError } from './errors-9edc08c8.browser.esm.js';\nexport { n as normalizeChainId } from './normalizeChainId-1fb9aedf.browser.esm.js';\nexport { C as Connector, W as WagmiAdapter } from './connector-05689d68.browser.esm.js';\nexport { c as checkContractWalletSignature } from './constants-d1da453e.browser.esm.js';\nexport { BloctoWallet } from '../evm/wallets/blocto/dist/thirdweb-dev-wallets-evm-wallets-blocto.browser.esm.js';\nexport { EmbeddedWallet, EmbeddedWallet as InAppWallet } from '../evm/wallets/embedded-wallet/dist/thirdweb-dev-wallets-evm-wallets-embedded-wallet.browser.esm.js';\nexport { s as supportedSmsCountries } from './supported-sms-countries-22d21e1d.browser.esm.js';\nexport { MetaMaskWallet } from '../evm/wallets/metamask/dist/thirdweb-dev-wallets-evm-wallets-metamask.browser.esm.js';\nexport { g as getInjectedXDEFIProvider } from './getInjectedXDEFIProvider-ce9c378e.browser.esm.js';\nexport { OKXWallet } from '../evm/wallets/okx/dist/thirdweb-dev-wallets-evm-wallets-okx.browser.esm.js';\nexport { g as getInjectedOKXProvider } from './getInjectedOKXProvider-f368fd1c.browser.esm.js';\nexport { CoreWallet } from '../evm/wallets/core-wallet/dist/thirdweb-dev-wallets-evm-wallets-core-wallet.browser.esm.js';\nexport { g as getInjectedCoreWalletProvider } from './getInjectedCoreWalletProvider-6baee5ae.browser.esm.js';\nexport { OneKeyWallet } from '../evm/wallets/onekey/dist/thirdweb-dev-wallets-evm-wallets-onekey.browser.esm.js';\nexport { g as getInjectedOneKeyProvider } from './getInjectedOneKeyProvider-b8c89caf.browser.esm.js';\nexport { CryptoDefiWallet } from '../evm/wallets/crypto-defi-wallet/dist/thirdweb-dev-wallets-evm-wallets-crypto-defi-wallet.browser.esm.js';\nexport { g as getInjectedCryptoDefiWalletProvider } from './getInjectedCryptoDefiWalletProvider-3a00394e.browser.esm.js';\nexport { RabbyWallet } from '../evm/wallets/rabby/dist/thirdweb-dev-wallets-evm-wallets-rabby.browser.esm.js';\nexport { g as getInjectedRabbyProvider } from './getInjectedRabbyProvider-db56bdef.browser.esm.js';\nexport { Coin98Wallet } from '../evm/wallets/coin98/dist/thirdweb-dev-wallets-evm-wallets-coin98.browser.esm.js';\nexport { g as getInjectedCoin98Provider } from './getInjectedCoin98Provider-056e8511.browser.esm.js';\nexport { g as getInjectedMagicEdenProvider } from './getInjectedMagicEdenProvider-f8a9ec6a.browser.esm.js';\nexport { g as getInjectedMetamaskProvider } from './getInjectedMetamaskProvider-b00b7b5a.browser.esm.js';\nexport { g as getInjectedPhantomProvider } from './getInjectedPhantomProvider-95eb3d4f.browser.esm.js';\nexport { g as getInjectedRainbowProvider } from './getInjectedRainbowProvider-f52a988e.browser.esm.js';\nexport { g as getInjectedCoinbaseProvider } from './getInjectedCoinbaseProvider-b24ac791.browser.esm.js';\nexport { a as assertWindowEthereum } from './assertWindowEthereum-88295886.browser.esm.js';\nexport { E as EngineSigner, a as EngineWallet } from './engine-09701abe.browser.esm.js';\nexport { PaperWallet } from '../evm/wallets/paper-wallet/dist/thirdweb-dev-wallets-evm-wallets-paper-wallet.browser.esm.js';\nexport { CoinbaseWallet } from '../evm/wallets/coinbase-wallet/dist/thirdweb-dev-wallets-evm-wallets-coinbase-wallet.browser.esm.js';\nexport { EthersWallet } from '../evm/wallets/ethers/dist/thirdweb-dev-wallets-evm-wallets-ethers.browser.esm.js';\nexport { FrameWallet } from '../evm/wallets/frame/dist/thirdweb-dev-wallets-evm-wallets-frame.browser.esm.js';\nexport { ImTokenWallet } from '../evm/wallets/imtoken/dist/thirdweb-dev-wallets-evm-wallets-imtoken.browser.esm.js';\nexport { InjectedWallet } from '../evm/wallets/injected/dist/thirdweb-dev-wallets-evm-wallets-injected.browser.esm.js';\nexport { LocalWallet, isValidPrivateKey } from '../evm/wallets/local-wallet/dist/thirdweb-dev-wallets-evm-wallets-local-wallet.browser.esm.js';\nexport { SignerWallet } from '../evm/wallets/signer/dist/thirdweb-dev-wallets-evm-wallets-signer.browser.esm.js';\nexport { MagicLink } from '../evm/wallets/magic/dist/thirdweb-dev-wallets-evm-wallets-magic.browser.esm.js';\nexport { XDEFIWallet } from '../evm/wallets/xdefi/dist/thirdweb-dev-wallets-evm-wallets-xdefi.browser.esm.js';\nexport { PhantomWallet } from '../evm/wallets/phantom/dist/thirdweb-dev-wallets-evm-wallets-phantom.browser.esm.js';\nexport { PrivateKeyWallet } from '../evm/wallets/private-key/dist/thirdweb-dev-wallets-evm-wallets-private-key.browser.esm.js';\nexport { RainbowWallet } from '../evm/wallets/rainbow-wallet/dist/thirdweb-dev-wallets-evm-wallets-rainbow-wallet.browser.esm.js';\nexport { SafeWallet } from '../evm/wallets/safe/dist/thirdweb-dev-wallets-evm-wallets-safe.browser.esm.js';\nexport { SmartWallet, getAllSigners, getAllSmartWallets, getSmartWalletAddress, getUserOpReceipt, isSmartWalletDeployed } from '../evm/wallets/smart-wallet/dist/thirdweb-dev-wallets-evm-wallets-smart-wallet.browser.esm.js';\nexport { TrustWallet } from '../evm/wallets/trust/dist/thirdweb-dev-wallets-evm-wallets-trust.browser.esm.js';\nexport { WalletConnect } from '../evm/wallets/wallet-connect/dist/thirdweb-dev-wallets-evm-wallets-wallet-connect.browser.esm.js';\nexport { WalletConnectV1 } from '../evm/wallets/wallet-connect-v1/dist/thirdweb-dev-wallets-evm-wallets-wallet-connect-v1.browser.esm.js';\nexport { ZerionWallet } from '../evm/wallets/zerion/dist/thirdweb-dev-wallets-evm-wallets-zerion.browser.esm.js';\nexport { TokenBoundSmartWallet } from '../evm/wallets/token-bound-smart-wallet/dist/thirdweb-dev-wallets-evm-wallets-token-bound-smart-wallet.browser.esm.js';\nexport { MagicEdenWallet } from '../evm/wallets/magic-eden/dist/thirdweb-dev-wallets-evm-wallets-magic-eden.browser.esm.js';\nexport { A as AUTH_TOKEN_LOCAL_STORAGE_NAME, c as AuthProvider, D as DEVICE_SHARE_LOCAL_STORAGE_NAME, a as DEVICE_SHARE_LOCAL_STORAGE_NAME_DEPRECATED, E as EmbeddedWalletSdk, R as RecoveryShareManagement, U as UserWalletStatus, W as WALLET_USER_DETAILS_LOCAL_STORAGE_NAME, b as WALLET_USER_ID_LOCAL_STORAGE_NAME } from './embedded-wallet-410d94f4.browser.esm.js';\nimport '@thirdweb-dev/chains';\nimport '../evm/wallets/abstract/dist/thirdweb-dev-wallets-evm-wallets-abstract.browser.esm.js';\nimport './defineProperty-350fc508.browser.esm.js';\nimport '@thirdweb-dev/sdk';\nimport './headers-2c8daf6b.browser.esm.js';\nimport './url-a45219bd.browser.esm.js';\nimport 'buffer';\nimport '@thirdweb-dev/crypto';\nimport '@account-abstraction/contracts';\nimport '@paperxyz/sdk-common-utilities';\nimport 'ethers/lib/utils';\n\nconst PREFIX = \"__TW__\";\nclass LocalStorage {\n constructor(name) {\n this.name = name;\n }\n getItem(key) {\n return localStorage.getItem(`${PREFIX}/${this.name}/${key}`);\n }\n setItem(key, value) {\n return localStorage.setItem(`${PREFIX}/${this.name}/${key}`, value);\n }\n removeItem(key) {\n return localStorage.removeItem(`${PREFIX}/${this.name}/${key}`);\n }\n}\n\n/**\n * @internal\n */\nfunction createLocalStorage(name) {\n return new LocalStorage(name);\n}\n\n// connect dapp support through wcv2 protocol\n\nclass WalletConnectHandler extends EventEmitter {\n constructor(wallet) {\n super();\n this.wallet = wallet;\n }\n}\n\nclass WalletConnectV2Handler extends WalletConnectHandler {\n constructor(options, wallet) {\n super(wallet);\n const defaultWCReceiverConfig = {\n walletConnectWalletMetadata: {\n name: \"thirdweb Smart Account\",\n description: \"thirdweb Smart Account\",\n url: \"https://thirdweb.com\",\n icons: [\"https://thirdweb.com/favicon.ico\"]\n },\n walletConnectV2ProjectId: TW_WC_PROJECT_ID,\n walletConnectV2RelayUrl: WC_RELAY_URL,\n ...(options?.walletConnectReceiver === true ? {} : options?.walletConnectReceiver)\n };\n this._wcMetadata = defaultWCReceiverConfig.walletConnectWalletMetadata;\n this._core = new Core({\n projectId: defaultWCReceiverConfig.walletConnectV2ProjectId,\n relayUrl: defaultWCReceiverConfig.walletConnectV2RelayUrl\n });\n }\n async init() {\n this._wcWallet = await Web3Wallet.init({\n core: this._core,\n metadata: this._wcMetadata\n });\n const sessions = this._wcWallet.getActiveSessions();\n const keys = Object.keys(sessions);\n if (keys[0]) {\n this._session = sessions[keys[0]];\n }\n this._setupWalletConnectEventsListeners();\n }\n async connectApp(wcUri) {\n if (!this._wcWallet) {\n throw new Error(\"Please, init the wallet before connecting an app.\");\n }\n await this._wcWallet.core.pairing.pair({\n uri: wcUri\n });\n }\n async approveSession() {\n if (!this._wcWallet) {\n throw new Error(\"Please, init the wallet before making session requests.\");\n }\n if (!this._activeProposal) {\n throw new Error(\"Please, pass a valid proposal.\");\n }\n const account = await this.wallet.getAddress();\n const {\n id,\n params\n } = this._activeProposal;\n const {\n requiredNamespaces,\n relays\n } = params;\n const namespaces = {};\n Object.keys(requiredNamespaces).forEach(key => {\n const accounts = [];\n const namespace = requiredNamespaces[key];\n if (namespace) {\n namespace.chains?.map(chain => {\n accounts.push(`${chain}:${account}`);\n });\n namespaces[key] = {\n accounts,\n methods: namespace.methods,\n events: namespace.events\n };\n }\n });\n this._session = await this._wcWallet.approveSession({\n id,\n relayProtocol: relays[0]?.protocol,\n namespaces\n });\n this.emit(\"session_approved\");\n }\n async rejectSession() {\n if (!this._wcWallet) {\n throw new Error(\"Please, init the wallet before making session requests.\");\n }\n if (!this._activeProposal) {\n throw new Error(\"Please, pass a valid proposal.\");\n }\n const {\n id\n } = this._activeProposal;\n await this._wcWallet.rejectSession({\n id,\n reason: {\n message: \"User rejected methods.\",\n code: 5002\n }\n });\n }\n async approveEIP155Request() {\n if (!this._activeRequestEvent) {\n return;\n }\n const {\n topic,\n params,\n id\n } = this._activeRequestEvent;\n const {\n request\n } = params;\n let response;\n switch (request.method) {\n case EIP155_SIGNING_METHODS.PERSONAL_SIGN:\n case EIP155_SIGNING_METHODS.ETH_SIGN:\n const message = this._getSignParamsMessage(request.params);\n const signedMessage = await this.wallet.signMessage(message || \"\"); // TODO: handle empty message\n\n response = formatJsonRpcResult(id, signedMessage);\n break;\n // case EIP155_SIGNING_METHODS.ETH_SIGN_TYPED_DATA:\n // case EIP155_SIGNING_METHODS.ETH_SIGN_TYPED_DATA_V3:\n // case EIP155_SIGNING_METHODS.ETH_SIGN_TYPED_DATA_V4:\n // const {\n // domain,\n // types,\n // message: data,\n // } = getSignTypedDataParamsData(request.params);\n // // https://github.com/ethers-io/ethers.js/issues/687#issuecomment-714069471\n // delete types.EIP712Domain;\n // const signedData = await wallet._signTypedData(domain, types, data);\n // return formatJsonRpcResult(id, signedData);\n case EIP155_SIGNING_METHODS.ETH_SEND_TRANSACTION:\n const signer = await this.wallet.getSigner();\n const sendTransaction = request.params[0];\n const tx = await signer.sendTransaction(sendTransaction);\n const {\n transactionHash\n } = await tx.wait();\n response = formatJsonRpcResult(id, transactionHash);\n break;\n case EIP155_SIGNING_METHODS.ETH_SIGN_TRANSACTION:\n const signerSign = await this.wallet.getSigner();\n const signTransaction = request.params[0];\n const signature = await signerSign.signTransaction(signTransaction);\n response = formatJsonRpcResult(id, signature);\n break;\n default:\n const error = {\n id,\n jsonrpc: \"2.0\",\n error: {\n message: \"Invalid event.\",\n code: 1002\n }\n };\n return this._wcWallet?.respondSessionRequest({\n topic,\n response: error\n });\n }\n return this._wcWallet?.respondSessionRequest({\n topic,\n response\n });\n }\n async rejectEIP155Request() {\n if (!this._activeRequestEvent) {\n return;\n }\n const {\n topic,\n id\n } = this._activeRequestEvent;\n const response = {\n id,\n jsonrpc: \"2.0\",\n error: {\n message: \"User rejected methods.\",\n code: 5002\n }\n };\n return this._wcWallet?.respondSessionRequest({\n topic,\n response\n });\n }\n getActiveSessions() {\n if (!this._wcWallet) {\n throw new Error(\"Please, init the wallet before getting sessions.\");\n }\n const sessions = this._wcWallet.getActiveSessions();\n const sessionKeys = Object.keys(sessions);\n if (!sessions || sessionKeys.length === 0) {\n return [];\n }\n const thisSessions = [];\n for (const sessionKey of sessionKeys) {\n const session = sessions[sessionKey];\n if (session) {\n const topic = session.topic;\n const peerMeta = session.peer.metadata;\n thisSessions.push({\n topic,\n peer: {\n metadata: peerMeta\n }\n });\n }\n }\n return thisSessions;\n }\n disconnectSession() {\n if (!this._wcWallet) {\n throw new Error(\"Please, init the wallet before disconnecting sessions.\");\n }\n if (!this._session) {\n return Promise.resolve();\n }\n const params = {\n topic: this._session.topic,\n reason: {\n message: \"User disconnected.\",\n code: 6000\n }\n };\n return this._wcWallet?.disconnectSession(params);\n }\n _setupWalletConnectEventsListeners() {\n if (!this._wcWallet) {\n throw new Error(\"Please, init the wallet before making session requests.\");\n }\n this._wcWallet.on(\"session_proposal\", proposal => {\n this._activeProposal = proposal;\n this.emit(\"session_proposal\", {\n proposer: {\n metadata: proposal.params.proposer.metadata\n }\n });\n });\n this._wcWallet.on(\"session_delete\", session => {\n this._session = undefined;\n this._activeProposal = undefined;\n this.emit(\"session_delete\", {\n topic: session.topic\n });\n });\n this._wcWallet.on(\"session_request\", async requestEvent => {\n if (!this._session) {\n return;\n }\n const {\n params: requestParams\n } = requestEvent;\n const {\n request\n } = requestParams;\n const {\n params\n } = request;\n switch (request.method) {\n case EIP155_SIGNING_METHODS.ETH_SIGN:\n case EIP155_SIGNING_METHODS.PERSONAL_SIGN:\n this._activeRequestEvent = requestEvent;\n const message = params[0];\n const decodedMessage = new TextDecoder().decode(utils.arrayify(message));\n const paramsCopy = [...params];\n paramsCopy[0] = decodedMessage;\n this.emit(\"session_request\", {\n topic: this._session.topic,\n params: paramsCopy,\n peer: {\n metadata: this._session.peer.metadata\n },\n method: request.method\n });\n return;\n case EIP155_SIGNING_METHODS.ETH_SEND_TRANSACTION:\n case EIP155_SIGNING_METHODS.ETH_SIGN_TRANSACTION:\n this._activeRequestEvent = requestEvent;\n this.emit(\"session_request\", {\n topic: this._session.topic,\n params: requestEvent.params.request.params,\n peer: {\n metadata: this._session.peer.metadata\n },\n method: request.method\n });\n return;\n default:\n throw new Error(`WCV2.Method not supported: ${request.method}`);\n }\n });\n }\n\n /**\n * Gets message from various signing request methods by filtering out\n * a value that is not an address (thus is a message).\n * If it is a hex string, it gets converted to utf8 string\n */\n _getSignParamsMessage(params) {\n const message = params.filter(p => !utils.isAddress(p))[0] || \"\"; // TODO: handle empty message\n\n if (utils.isHexString(message)) {\n return utils.toUtf8String(message);\n }\n return message;\n }\n}\n\nexport { LocalStorage, WalletConnectHandler, WalletConnectV2Handler, createLocalStorage };\n","import { _ as _defineProperty } from '../../../../dist/defineProperty-350fc508.browser.esm.js';\nimport { W as WagmiAdapter } from '../../../../dist/connector-05689d68.browser.esm.js';\nimport { a as AbstractClientWallet } from '../../../../dist/base-2223b4bc.browser.esm.js';\nimport { w as walletIds } from '../../../../dist/walletIds-dff6dced.browser.esm.js';\nimport { updateChainRPCs } from '@thirdweb-dev/chains';\nimport 'eventemitter3';\nimport '../../abstract/dist/thirdweb-dev-wallets-evm-wallets-abstract.browser.esm.js';\nimport 'ethers';\nimport '@thirdweb-dev/sdk';\nimport '../../../../dist/headers-2c8daf6b.browser.esm.js';\n\n/**\n * Wallet Interface to connect to [Blocto Wallet](https://blocto.io/)\n *\n * @example\n * ```javascript\n * import { BloctoWallet } from \"@thirdweb-dev/wallets\";\n *\n * const wallet = new BloctoWallet();\n *\n * wallet.connect();\n * ```\n *\n * @wallet\n */\nclass BloctoWallet extends AbstractClientWallet {\n /**\n * Create a `BloctoWallet` instance\n * @param options - The `options` object includes the following properties\n *\n * ### clientId (recommended)\n * Provide `clientId` to use the thirdweb RPCs for given `chains`\n *\n * You can create a client ID for your application from [thirdweb dashboard](https://thirdweb.com/create-api-key).\n *\n * ### appId (recommended)\n * To get advanced features and support from Blocto, you can create an appId from [blocto dashboard](https://docs.blocto.app/blocto-sdk/register-app-id)\n *\n * ### chains (optional)\n * Provide an array of chains you want to support.\n *\n * Must be an array of `Chain` objects, from the [`@thirdweb-dev/chains`](https://www.npmjs.com/package/\\@thirdweb-dev/chains) package.\n *\n * Defaults to our [default chains](/react/react.thirdwebprovider#default-chains).\n *\n * ### dappMetadata (optional)\n * Information about your app that the wallet will display when your app tries to connect to it.\n *\n * Must be an object containing `name`, `url`, and optionally `description` and `logoUrl` properties.\n *\n * ```javascript\n * import { BloctoWallet } from \"@thirdweb-dev/wallets\";\n *\n * const walletWithOptions = new BloctoWallet({\n * dappMetadata: {\n * name: \"thirdweb powered dApp\",\n * url: \"https://thirdweb.com\",\n * description: \"thirdweb powered dApp\",\n * logoUrl: \"https://thirdweb.com/favicon.ico\",\n * },\n * });\n * ```\n *\n * ### chain (optional)\n * The Network to connect the wallet to. Must be a `Chain` object, from the [`@thirdweb-dev/chains`](https://www.npmjs.com/package/\\@thirdweb-dev/chains) package.\n */\n constructor(options) {\n if (options?.chain && options.clientId) {\n options.chain = updateChainRPCs(options.chain, options.clientId);\n }\n super(BloctoWallet.id, options);\n /**\n * @internal\n */\n /**\n * @internal\n */\n _defineProperty(this, \"name\", \"Blocto\");\n }\n\n /**\n * @internal\n */\n async initConnector() {\n const {\n BloctoConnector\n } = await import('../../../connectors/blocto/dist/thirdweb-dev-wallets-evm-connectors-blocto.browser.esm.js');\n const bloctoConnector = new BloctoConnector({\n chains: this.chains,\n options: {\n appId: this.options?.appId,\n chainId: this.options?.chain?.chainId\n }\n });\n this.connector = new WagmiAdapter(bloctoConnector);\n return this.connector;\n }\n async getConnector() {\n if (!this.connector) {\n return await this.initConnector();\n }\n return Promise.resolve(this.connector);\n }\n}\n/**\n * @internal\n */\n_defineProperty(BloctoWallet, \"id\", walletIds.blocto);\n/**\n * @internal\n */\n_defineProperty(BloctoWallet, \"meta\", {\n name: \"Blocto\",\n iconURL: \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjAiIGhlaWdodD0iNjAiIHZpZXdCb3g9IjAgMCA2MCA2MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzIyMzNfMjM4NykiPgo8cmVjdCB3aWR0aD0iNjAiIGhlaWdodD0iNjAiIHJ4PSIxMiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZD0iTTMyLjkwMjggMTguMzA2M0MyOC4zOTExIDE4LjMwNjMgMjMuOTg3MyAyMC4wNDU5IDIwLjY5NTIgMjMuMTMxOUMxNy4wODQzIDI2LjUxNzYgMTQuNzk5MiAzMS41MTc3IDEzLjQ4OTMgMzYuMjIxMkMxMi42MzE0IDM5LjI5OTIgMTIuMjAxNiA0Mi40OTE1IDEyLjIwMTYgNDUuNjg1M0MxMi4yMDE2IDQ2LjY1MTEgMTIuMjQxMiA0Ny42MDg5IDEyLjMxNzQgNDguNTU1NkMxMi40MTA5IDQ5LjcwNjkgMTMuNTMyMSA1MC41MDQ2IDE0LjY0ODUgNTAuMjAzM0MxNS42MjIyIDQ5Ljk0MTYgMTYuNjQ2NiA0OS44MDA1IDE3LjcwMjggNDkuODAwNUMxOS44NzIyIDQ5LjgwMDUgMjEuOTA1MiA1MC4zOTA0IDIzLjY0OCA1MS40MjEyQzIzLjY5MDggNTEuNDQ2NiAyMy43MzIgNTEuNDcxOSAyMy43NzQ4IDUxLjQ5NTdDMjYuNjA3MSA1My4xODQ2IDI5Ljk0ODQgNTQuMTEyMyAzMy41MTE3IDUzLjk5MzRDNDIuODA2MiA1My42ODU3IDUwLjM5OSA0Ni4xMjMgNTAuNzQxNiAzNi44MzAxQzUxLjExNTggMjYuNjYzNSA0Mi45ODY5IDE4LjMwNDcgMzIuOTA0NCAxOC4zMDQ3TDMyLjkwMjggMTguMzA2M1pNMzIuOTAyOCA0NC4zMTJDMjguMzk3NSA0NC4zMTIgMjQuNzQ1NCA0MC42NTk5IDI0Ljc0NTQgMzYuMTU2MkMyNC43NDU0IDMxLjY1MjUgMjguMzk3NSAyNy45OTg3IDMyLjkwMjggMjcuOTk4N0MzNy40MDgxIDI3Ljk5ODcgNDEuMDYwMiAzMS42NTA5IDQxLjA2MDIgMzYuMTU2MkM0MS4wNjAyIDQwLjY2MTQgMzcuNDA4MSA0NC4zMTIgMzIuOTAyOCA0NC4zMTJaIiBmaWxsPSIjMTRBQUZGIi8+CjxwYXRoIGQ9Ik0yNS41NjM2IDEyLjY4MjZDMjUuNTYzNiAxNS4wMzQ0IDI0LjMzMTUgMTcuMjE2NCAyMi4zMDggMTguNDE1M0MyMS4wMzc3IDE5LjE2ODYgMTkuODQ2OCAyMC4wNTgyIDE4Ljc2ODQgMjEuMDcxNUMxNi4zNzU1IDIzLjMxMzkgMTQuNTg5OCAyNi4wNjUzIDEzLjI2NzMgMjguNzkyOUMxMy4wMDcyIDI5LjMzMDQgMTIuMiAyOS4xNDAyIDEyLjIgMjguNTQyM1YxMi42ODI2QzEyLjIgOC45OTI0MiAxNS4xOTI0IDYgMTguODgyNiA2QzIyLjU3MjggNiAyNS41NjUyIDguOTkyNDIgMjUuNTY1MiAxMi42ODI2SDI1LjU2MzZaIiBmaWxsPSIjMDA3NUZGIi8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDBfMjIzM18yMzg3Ij4KPHJlY3Qgd2lkdGg9IjYwIiBoZWlnaHQ9IjYwIiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=\",\n urls: {\n android: \"https://play.google.com/store/apps/details?id=com.portto.blocto\",\n ios: \"https://apps.apple.com/app/blocto/id1481181682\"\n }\n});\n\nexport { BloctoWallet };\n"],"names":["getInjectedCoin98Provider","assertWindowEthereum","globalThis","window","coin98","ethereum","getInjectedCoreWalletProvider","avalanche","getInjectedCryptoDefiWalletProvider","deficonnectProvider","getInjectedMagicEdenProvider","magicEden","getInjectedOKXProvider","okxwallet","getInjectedOneKeyProvider","$onekey","getInjectedRabbyProvider","rabby","getInjectedXDEFIProvider","xfi","OKXWallet","AbstractClientWallet","walletName","constructor","options","super","id","this","isInjected","getConnector","connector","OKXConnector","chains","connectorStorage","walletStorage","shimDisconnect","WagmiAdapter","_this$options","_this$options2","_this$options3","WalletConnectConnector","walletConnectConnector","projectId","TW_WC_PROJECT_ID","storage","qrcode","dappMetadata","qrModalOptions","getProvider","then","provider","signer","client","on","emit","connectWithQrCode","wcConnector","Error","uri","onQrCodeUri","connect","chainId","onConnected","_defineProperty","walletIds","okx","CoreWallet","CoreWalletConnector","coreWallet","OneKeyWallet","OneKeyConnector","oneKey","CryptoDefiWallet","CryptoDefiWalletConnector","cryptoDefiWallet","RabbyWallet","RabbyConnector","Coin98Wallet","Coin98Connector","AbstractWallet","ImTokenWallet","_globalThis$window$et","isImToken","ImTokenConnector","imtokenConnector","name","iconURL","urls","ios","android","imtoken","InjectedWallet","InjectedConnector","XDEFIWallet","XDEFIConnector","xdefi","TokenBoundSmartWallet","SmartWallet","factoryAddress","registryAddress","ERC6551_REGISTRY","tbaOptions","tbaConnector","TokenBoundSmartWalletConnector","tokenBoundSmartWallet","MagicEdenWallet","MagicEdenConnector","EventEmitter","BloctoWallet","chain","clientId","updateChainRPCs","initConnector","BloctoConnector","bloctoConnector","appId","Promise","resolve","blocto"],"sourceRoot":""}