{
  "version": 3,
  "sources": ["../../src/store.ts", "../../src/getClient.ts", "../../src/getConnection.ts", "../../src/particleEvm.ts", "../../src/particleSolana.ts", "../../src/types.ts", "../../src/version.ts"],
  "sourcesContent": ["import { AuthType } from '@particle-network/auth-core';\nimport { AuthCoreContextProvider, type AuthCoreModalOptions, type CustomStyle } from '@particle-network/authkit';\nimport {\n  ChainNotConfiguredError,\n  createEmitter,\n  createWalletConnector,\n  isEVMChain,\n  isSolanaChain,\n  type ChainType,\n  type ClientType,\n  type Connector,\n  type ConnectorEventMap,\n  type CreateConnectorFn,\n  type EVMChain,\n  type Prettify,\n  type WalletConnectorsOption,\n} from '@particle-network/connector-core';\nimport { createStore } from 'zustand/vanilla';\nimport { getPublicClient } from './getClient';\nimport { getConnection } from './getConnection';\nimport { particleEvm } from './particleEvm';\nimport { particleSolana } from './particleSolana';\nimport { auth } from './types';\n\ntype AuthConnectorsOption = WalletConnectorsOption & {\n  projectId: string;\n  clientKey: string;\n  appId: string;\n};\n\ntype AuthTypeValue = `${AuthType}`;\n\nexport type AuthWalletParameters = Prettify<\n  Pick<AuthCoreModalOptions, 'language' | 'fiatCoin' | 'promptSettingConfig'> & {\n    authTypes?: (AuthTypeValue | AuthType)[];\n    overrides?: {\n      customStyle?: CustomStyle;\n    };\n  }\n>;\n\nauthWalletConnectors.type = 'particleAuth' as const;\nexport function authWalletConnectors(parameters: AuthWalletParameters = {}) {\n  const { authTypes, fiatCoin, promptSettingConfig, overrides, language } = parameters;\n  if (authTypes && authTypes.length === 0) {\n    throw new Error('authTypes cannot be empty.');\n  }\n  type Properties = {\n    authOptions: AuthCoreModalOptions;\n    supportAuthTypes: readonly [AuthType, ...AuthType[]];\n    AuthCoreContextProvider: (props: {\n      options: AuthCoreModalOptions;\n      children: React.ReactNode;\n    }) => React.ReactElement;\n  } & { auth: typeof auth };\n\n  const supportAuthTypes = (authTypes as AuthType[]) || Object.values(AuthType);\n\n  return createWalletConnector<AuthConnectorsOption, Properties>((options) => {\n    const { chains: _chains, storage, projectId, clientKey, appId } = options;\n    const chains = createStore(() => _chains);\n\n    function setup(connectorFn: CreateConnectorFn): Connector {\n      // Set up emitter and add to connector so they are \"linked\" together.\n      const emitter = createEmitter<ConnectorEventMap>();\n      const result = connectorFn({ emitter, chains: _chains, storage });\n      const connector = {\n        ...result,\n        emitter,\n        uid: emitter.uid,\n        chainType: result.id.toLowerCase().includes('evm') ? ('evm' as const) : ('solana' as const),\n        walletConnectorType: authWalletConnectors.type,\n      };\n      connector.setup?.();\n      return connector;\n    }\n\n    const storeData: CreateConnectorFn[] = [];\n    if (_chains.some(isEVMChain)) {\n      storeData.push(particleEvm());\n    }\n    if (_chains.some(isSolanaChain)) {\n      storeData.push(particleSolana());\n    }\n\n    const connectors = createStore(() => storeData.map(setup));\n\n    function getClient<chainType extends ChainType = EVMChain>(chainId: number): ClientType<chainType> {\n      const chain = chains.getState().find((chain) => chain.id === chainId);\n      if (!chain) {\n        throw new ChainNotConfiguredError();\n      }\n      if (isEVMChain(chain)) {\n        return getPublicClient(chain) as ClientType<chainType>;\n      }\n\n      return getConnection(chain) as ClientType<chainType>;\n    }\n\n    return {\n      get type() {\n        return authWalletConnectors.type;\n      },\n      get chains() {\n        return chains.getState();\n      },\n      get connectors() {\n        return connectors.getState();\n      },\n      store: connectors,\n      getClient,\n      supportAuthTypes: supportAuthTypes as unknown as readonly [AuthType, ...AuthType[]],\n      authOptions: {\n        projectId,\n        clientKey,\n        appId,\n        authTypes: supportAuthTypes,\n        fiatCoin,\n        language,\n        promptSettingConfig,\n        supportEIP6963: false,\n        customStyle: {\n          zIndex: 2147500000,\n          ...overrides?.customStyle,\n        },\n        wallet: false,\n        chains: _chains,\n      },\n      AuthCoreContextProvider,\n      _internal: {\n        connectors: {\n          setup,\n        },\n      },\n      auth,\n    };\n  });\n}\n", "import { createPublicClient, http, type Chain, type PublicClient } from 'viem';\n\nconst clients = new Map<number, PublicClient>();\n\nexport function getPublicClient(chain: Chain): PublicClient {\n  {\n    const client = clients.get(chain.id);\n    if (client) return client;\n  }\n\n  const client = createPublicClient({\n    chain,\n    transport: http(),\n  });\n  clients.set(chain.id, client);\n\n  return client;\n}\n", "import { Connection, type Commitment, type ConnectionConfig } from '@solana/web3.js';\nimport type { Chain } from 'viem';\n\nconst clients = new Map<number, Connection>();\n\nexport function getConnection(chain: Chain, commitmentOrConfig?: Commitment | ConnectionConfig): Connection {\n  {\n    const client = clients.get(chain.id);\n    if (client) return client;\n  }\n\n  const client = new Connection(chain.rpcUrls.default.http[0]!, commitmentOrConfig);\n\n  clients.set(chain.id, client);\n\n  return client;\n}\n", "import type {\n  ConnectParam,\n  ConnectWithEmailParam,\n  ConnectWithPhoneParam,\n  ConnectWithProvider,\n} from '@particle-network/auth-core';\nimport {\n  ChainNotConfiguredError,\n  ProviderNotFoundError,\n  SwitchChainError,\n  UserRejectedRequestError,\n  createConnector,\n  isEVMChain,\n  numberToHex,\n  type Connector,\n  type RpcError,\n} from '@particle-network/connector-core';\nimport { type EVMProvider } from './types';\n\ntype ConnectOptions = Omit<ConnectParam, 'chain'> & { chainId?: number; isReconnecting?: boolean };\n\nparticleEvm.type = 'particleAuth' as const;\nexport function particleEvm() {\n  type Provider = EVMProvider | undefined;\n\n  type Properties = {\n    connect(options?: ConnectOptions): Promise<{\n      accounts: readonly string[];\n      chainId: number;\n    }>;\n  };\n\n  let accountsChanged: Connector['onAccountsChanged'] | undefined;\n  let chainChanged: Connector['onChainChanged'] | undefined;\n  let disconnect: Connector['onDisconnect'] | undefined;\n\n  return createConnector<Provider, Properties>((config) => ({\n    get icon() {\n      return 'https://static.particle.network/logo-small.png';\n    },\n    get id() {\n      return 'particleEVM';\n    },\n    get name() {\n      return 'Particle Auth';\n    },\n    type: particleEvm.type,\n    async connect(options: ConnectOptions) {\n      const { chainId, isReconnecting } = options;\n      const provider = await this.getProvider();\n      if (!provider) throw new ProviderNotFoundError();\n\n      if ((options as ConnectWithPhoneParam).phone && !(options as ConnectWithPhoneParam).code) {\n        throw new Error('Paramers error, need code.');\n      }\n\n      if ((options as ConnectWithEmailParam).email && !(options as ConnectWithEmailParam).code) {\n        throw new Error('Paramers error, need code.');\n      }\n\n      if ((options as ConnectWithProvider).provider && !(options as ConnectWithProvider).thirdpartyCode) {\n        throw new Error('Paramers error, need thirdpartyCode.');\n      }\n\n      let accounts: readonly string[] = [];\n      accounts = await this.getAccounts().catch(() => []);\n\n      try {\n        if (!accounts?.length && !isReconnecting) {\n          accounts = await provider.connect({\n            ...options,\n            chain: chainId ? config.chains.filter(isEVMChain).find((chain) => chain.id === chainId) : undefined,\n          });\n        }\n\n        // Manage EIP-1193 event listeners\n        // https://eips.ethereum.org/EIPS/eip-1193#events\n        if (!accountsChanged) {\n          accountsChanged = this.onAccountsChanged!.bind(this);\n          provider.on('accountsChanged', accountsChanged);\n        }\n        if (!chainChanged) {\n          chainChanged = this.onChainChanged.bind(this);\n          provider.on('chainChanged', chainChanged);\n        }\n        if (!disconnect) {\n          disconnect = this.onDisconnect.bind(this);\n          provider.on('disconnect', disconnect);\n        }\n\n        // Switch to chain if provided\n        let currentChainId = await this.getChainId();\n        if (chainId && currentChainId !== chainId) {\n          const chain = await this.switchChain!({ chainId }).catch((error) => {\n            if (error.code === UserRejectedRequestError.code) throw error;\n            return { id: currentChainId };\n          });\n          currentChainId = chain?.id ?? currentChainId;\n        }\n\n        return { accounts, chainId: currentChainId };\n      } catch (err) {\n        const error = err as RpcError;\n        if (error.code === UserRejectedRequestError.code) throw new UserRejectedRequestError(error);\n        throw error;\n      }\n    },\n    async disconnect() {\n      const provider = await this.getProvider();\n      if (!provider) throw new ProviderNotFoundError();\n\n      // Manage EIP-1193 event listeners\n      if (chainChanged) {\n        provider.removeListener('chainChanged', chainChanged);\n        chainChanged = undefined;\n      }\n      if (disconnect) {\n        provider.removeListener('disconnect', disconnect);\n        disconnect = undefined;\n      }\n\n      await provider.disconnect();\n    },\n    async getAccounts() {\n      const provider = await this.getProvider();\n      if (!provider) throw new ProviderNotFoundError();\n      const accounts = await provider.request({ method: 'eth_accounts' });\n      return accounts;\n    },\n    async getChainId() {\n      const provider = await this.getProvider();\n      if (!provider) throw new ProviderNotFoundError();\n      const hexChainId = await provider.request({ method: 'eth_chainId' });\n      return Number(hexChainId);\n    },\n    async getProvider() {\n      if (typeof window === 'undefined') return undefined;\n      const provider: Provider = window.particle?.ethereum;\n      return provider;\n    },\n    async isAuthorized() {\n      try {\n        const provider = await this.getProvider();\n        if (!provider) {\n          throw new ProviderNotFoundError();\n        }\n        if (provider.isSocialConnecting) {\n          const timeout = 3_0000; // social login timeout\n          await Promise.race([\n            ...(typeof window !== 'undefined'\n              ? [\n                  new Promise<boolean>((resolve) =>\n                    window.addEventListener('particle:socialConnectCompleted', () => resolve(true), { once: true })\n                  ),\n                ]\n              : []),\n            new Promise<boolean>((resolve) => setTimeout(() => resolve(true), timeout)),\n          ]);\n        }\n\n        const accounts = await this.getAccounts();\n        return !!accounts.length;\n      } catch {\n        return false;\n      }\n    },\n    /**\n     * particle does not support adding chains\n     */\n    async switchChain({ chainId }) {\n      const provider = await this.getProvider();\n      if (!provider) throw new ProviderNotFoundError();\n\n      const chain = config.chains.filter(isEVMChain).find((x) => x.id === chainId);\n      if (!chain) throw new SwitchChainError(new ChainNotConfiguredError());\n\n      try {\n        await Promise.all([\n          provider\n            .request({\n              method: 'wallet_switchEthereumChain',\n              params: [{ chainId: numberToHex(chainId) }],\n            })\n            .then(async () => {\n              const currentChainId = await this.getChainId();\n              if (currentChainId === chainId) config.emitter.emit('change', { chainId });\n            }),\n          new Promise<void>((resolve) =>\n            config.emitter.once('change', ({ chainId: currentChainId }) => {\n              if (currentChainId === chainId) resolve();\n            })\n          ),\n        ]);\n\n        return chain;\n      } catch (err) {\n        const error = err as RpcError;\n        if (error.code === UserRejectedRequestError.code) throw new UserRejectedRequestError(error);\n        throw new SwitchChainError(error);\n      }\n    },\n    async onAccountsChanged(accounts) {\n      // Disconnect if there are no accounts\n      if (accounts.length === 0) this.onDisconnect();\n      // Regular change event\n      else\n        config.emitter.emit('change', {\n          accounts,\n        });\n    },\n    onChainChanged(chain) {\n      const chainId = Number(chain);\n      config.emitter.emit('change', { chainId });\n    },\n    async onDisconnect() {\n      const provider = await this.getProvider();\n\n      config.emitter.emit('disconnect');\n\n      // Manage EIP-1193 event listeners\n      if (provider) {\n        if (chainChanged) {\n          provider.removeListener('chainChanged', chainChanged);\n          chainChanged = undefined;\n        }\n        if (disconnect) {\n          provider.removeListener('disconnect', disconnect);\n          disconnect = undefined;\n        }\n      }\n    },\n    isInstalled() {\n      return true;\n    },\n  }));\n}\n", "import type {\n  ConnectParam,\n  ConnectWithEmailParam,\n  ConnectWithPhoneParam,\n  ConnectWithProvider,\n} from '@particle-network/auth-core';\nimport {\n  ChainNotConfiguredError,\n  ProviderNotFoundError,\n  SwitchChainError,\n  UserRejectedRequestError,\n  createConnector,\n  isSolanaChain,\n  type Connector,\n  type RpcError,\n} from '@particle-network/connector-core';\nimport { type SolanaWallet } from './types';\n\ntype ConnectOptions = Omit<ConnectParam, 'chain'> & { chainId?: number; isReconnecting?: boolean };\n\nparticleSolana.type = 'particleAuth' as const;\nexport function particleSolana() {\n  type Provider = SolanaWallet | undefined;\n\n  type Properties = {\n    connect(options?: ConnectOptions): Promise<{\n      accounts: readonly string[];\n      chainId: number;\n    }>;\n  };\n\n  let accountsChanged: Connector['onAccountsChanged'] | undefined;\n  let chainChanged: Connector['onChainChanged'] | undefined;\n  let disconnect: Connector['onDisconnect'] | undefined;\n\n  return createConnector<Provider, Properties>((config) => ({\n    get icon() {\n      return 'https://static.particle.network/logo-small.png';\n    },\n    get id() {\n      return 'particleSolana';\n    },\n    get name() {\n      return 'Particle Auth';\n    },\n    type: particleSolana.type,\n    async connect(options: ConnectOptions) {\n      const { chainId, isReconnecting } = options;\n      const provider = await this.getProvider();\n      if (!provider) throw new ProviderNotFoundError();\n\n      if ((options as ConnectWithPhoneParam).phone && !(options as ConnectWithPhoneParam).code) {\n        throw new Error('Paramers error, need code.');\n      }\n\n      if ((options as ConnectWithEmailParam).email && !(options as ConnectWithEmailParam).code) {\n        throw new Error('Paramers error, need code.');\n      }\n\n      if ((options as ConnectWithProvider).provider && !(options as ConnectWithProvider).thirdpartyCode) {\n        throw new Error('Paramers error, need thirdpartyCode.');\n      }\n\n      let accounts: readonly string[] = [];\n      accounts = await this.getAccounts().catch(() => []);\n\n      try {\n        if (!isReconnecting) {\n          // \u5982\u679C\u5DF2\u7ECF\u767B\u5F55\u8FC7\uFF0C\u4E5F\u9700\u8981\u8C03\u7528\u8BE5\u65B9\u6CD5\n          // 1. \u5F53\u6CA1\u6709\u521B\u5EFA\u94B1\u5305\u65F6\u4F1A\u81EA\u52A8\u521B\u5EFA\n          // 2. \u5982\u679C\u5DF2\u7ECF\u767B\u5F55\u8FC7\u5207\u521B\u5EFA\u4E86\u94B1\u5305\uFF0C\u4F1A\u76F4\u63A5\u8FD4\u56DE\n          // 3. \u6CA1\u767B\u5F55\u8FC7\u4F1A\u8C03\u7528\u767B\u5F55\u65B9\u6CD5\n          await provider.connect({\n            ...options,\n            chain: chainId ? config.chains.filter(isSolanaChain).find((chain) => chain.id === chainId) : undefined,\n          });\n          accounts = [provider.selectedAddress!];\n        } else {\n          // \u91CD\u8FDE\u65F6\uFF0C\u5982\u679C\u94B1\u5305\u5DF2\u7ECF\u521B\u5EFA\u4E86\uFF0C\u9700\u8981\u8C03\u7528connect\u65B9\u6CD5\u521D\u59CB\u5316publicKey\n          if (accounts.length && !provider.isConnected) {\n            await provider.connect();\n          }\n        }\n\n        if (!accountsChanged) {\n          accountsChanged = this.onAccountsChanged!.bind(this);\n          provider.on('accountsChanged', accountsChanged);\n        }\n        if (!chainChanged) {\n          chainChanged = this.onChainChanged.bind(this);\n          provider.on('chainChanged', chainChanged);\n        }\n        if (!disconnect) {\n          disconnect = this.onDisconnect.bind(this);\n          provider.on('disconnect', disconnect);\n        }\n\n        // Switch to chain if provided\n        let currentChainId = await this.getChainId();\n        if (chainId && currentChainId !== chainId) {\n          const chain = await this.switchChain!({ chainId }).catch((error) => {\n            if (error.code === UserRejectedRequestError.code) throw error;\n            return { id: currentChainId };\n          });\n          currentChainId = chain?.id ?? currentChainId;\n        }\n\n        return { accounts, chainId: currentChainId };\n      } catch (err) {\n        const error = err as RpcError;\n        if (error.code === UserRejectedRequestError.code) throw new UserRejectedRequestError(error);\n        throw error;\n      }\n    },\n    async disconnect() {\n      const provider = await this.getProvider();\n      if (!provider) throw new ProviderNotFoundError();\n\n      // Manage EIP-1193 event listeners\n      if (chainChanged) {\n        provider.removeListener('chainChanged', chainChanged);\n        chainChanged = undefined;\n      }\n      if (disconnect) {\n        provider.removeListener('disconnect', disconnect);\n        disconnect = undefined;\n      }\n\n      await provider.disconnect();\n    },\n    async getAccounts() {\n      const provider = await this.getProvider();\n      if (!provider) throw new ProviderNotFoundError();\n      if (provider.selectedAddress) {\n        return [provider.selectedAddress];\n      }\n      return [];\n    },\n    async getChainId() {\n      const provider = await this.getProvider();\n      if (!provider) throw new ProviderNotFoundError();\n      if (config.chains.find((chain) => chain.id === provider.chainId)) {\n        return provider.chainId;\n      }\n      const chainId = config.chains[0].id;\n      await this.switchChain!({ chainId });\n      return chainId;\n    },\n    async getProvider() {\n      if (typeof window === 'undefined') return undefined;\n      const provider: Provider = window.particle?.solana;\n      return provider;\n    },\n    async isAuthorized() {\n      try {\n        const provider = await this.getProvider();\n        if (!provider) {\n          throw new ProviderNotFoundError();\n        }\n        if (provider.isSocialConnecting) {\n          const timeout = 3_0000; // social login timeout\n          await Promise.race([\n            ...(typeof window !== 'undefined'\n              ? [\n                  new Promise<boolean>((resolve) =>\n                    window.addEventListener('particle:socialConnectCompleted', () => resolve(true), { once: true })\n                  ),\n                ]\n              : []),\n            new Promise<boolean>((resolve) => setTimeout(() => resolve(true), timeout)),\n          ]);\n        }\n\n        const accounts = await this.getAccounts();\n        return !!accounts.length;\n      } catch {\n        return false;\n      }\n    },\n    async switchChain({ chainId }) {\n      const provider = await this.getProvider();\n      if (!provider) throw new ProviderNotFoundError();\n\n      const chain = config.chains.filter(isSolanaChain).find((x) => x.id === chainId);\n      if (!chain) throw new SwitchChainError(new ChainNotConfiguredError());\n\n      try {\n        await provider.switchChain(chainId);\n        return chain;\n      } catch (err) {\n        const error = err as RpcError;\n        if (error.code === UserRejectedRequestError.code) throw new UserRejectedRequestError(error);\n        throw new SwitchChainError(error);\n      }\n    },\n    async onAccountsChanged(accounts) {\n      // Disconnect if there are no accounts\n      if (accounts.length === 0) this.onDisconnect();\n      // Regular change event\n      else\n        config.emitter.emit('change', {\n          accounts,\n        });\n    },\n    onChainChanged(chain) {\n      const chainId = Number(chain);\n      config.emitter.emit('change', { chainId });\n    },\n    async onDisconnect() {\n      const provider = await this.getProvider();\n\n      config.emitter.emit('disconnect');\n\n      // Manage EIP-1193 event listeners\n      if (provider) {\n        if (chainChanged) {\n          provider.removeListener('chainChanged', chainChanged);\n          chainChanged = undefined;\n        }\n        if (disconnect) {\n          provider.removeListener('disconnect', disconnect);\n          disconnect = undefined;\n        }\n      }\n    },\n    isInstalled() {\n      return true;\n    },\n  }));\n}\n", "import { getCloudflareTurnstileResponse, getConnectCaptcha, getLatestAuthType } from '@particle-network/auth-core';\nimport type { EVMProvider, SolanaWallet } from '@particle-network/authkit';\n\nconst auth = {\n  getCloudflareTurnstileResponse,\n  getConnectCaptcha,\n  getLatestAuthType,\n};\n\ndeclare global {\n  interface Window {\n    particle?: {\n      ethereum?: EVMProvider;\n      solana?: SolanaWallet;\n    };\n  }\n}\n\nexport { auth, type EVMProvider, type SolanaWallet };\n", "export const version = '2.1.1';\n"],
  "mappings": "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",
  "names": ["ChainNotConfiguredError", "isEVMChain", "isSolanaChain", "client", "clients", "client", "ChainNotConfiguredError", "ProviderNotFoundError", "SwitchChainError", "UserRejectedRequestError", "createConnector", "isEVMChain", "isSolanaChain", "chain", "ChainNotConfiguredError"]
}
