Class CapsuleEIP1193Provider

Hierarchy

  • EventEmitter
    • CapsuleEIP1193Provider

Implements

  • EIP1193Provider

Constructors

Properties

appName: string
capsule: Capsule | CoreCapsule
chainTransportSubscribe?: WebSocketTransportSubscribeFn
chains: Record<`0x${string}`, AddEthereumChainParameter>
currentHexChainId: `0x${string}`
disableModal: boolean
request: EIP1193RequestFn<[{
    Method: "web3_clientVersion";
    Parameters?: undefined;
    ReturnType: string;
}, {
    Method: "web3_sha3";
    Parameters: [data: `0x${string}`];
    ReturnType: string;
}, {
    Method: "net_listening";
    Parameters?: undefined;
    ReturnType: boolean;
}, {
    Method: "net_peerCount";
    Parameters?: undefined;
    ReturnType: `0x${string}`;
}, {
    Method: "net_version";
    Parameters?: undefined;
    ReturnType: `0x${string}`;
}]> = ...
storage: Pick<Storage, "setItem" | "getItem">
walletClient: {
    account: Account;
    addChain: ((args) => Promise<void>);
    batch?: {
        multicall?: boolean | ({ batchSize?: number; wait?: number; });
    };
    cacheTime: number;
    chain: Chain;
    deployContract: (<const TAbi, TChainOverride>(args) => Promise<`0x${string}`>);
    extend: (<const client>(fn) => Client<Transport, Chain, Account, WalletRpcSchema, ({ [K in keyof client]: client[K]; }) & WalletActions<Chain, Account>>);
    getAddresses: (() => Promise<GetAddressesReturnType>);
    getChainId: (() => Promise<number>);
    getPermissions: (() => Promise<GetPermissionsReturnType>);
    key: string;
    name: string;
    pollingInterval: number;
    prepareTransactionRequest: (<TChainOverride>(args) => Promise<any>);
    request: EIP1193RequestFn<WalletRpcSchema>;
    requestAddresses: (() => Promise<RequestAddressesReturnType>);
    requestPermissions: ((args) => Promise<RequestPermissionsReturnType>);
    sendRawTransaction: ((args) => Promise<`0x${string}`>);
    sendTransaction: (<TChainOverride>(args) => Promise<`0x${string}`>);
    signMessage: ((args) => Promise<`0x${string}`>);
    signTransaction: (<TChainOverride>(args) => Promise<`0x${string}`>);
    signTypedData: (<const TTypedData, TPrimaryType>(args) => Promise<`0x${string}`>);
    switchChain: ((args) => Promise<void>);
    transport: TransportConfig<string, EIP1193RequestFn> & Record<string, any>;
    type: string;
    uid: string;
    watchAsset: ((args) => Promise<boolean>);
    writeContract: (<const TAbi, TFunctionName, TChainOverride>(args) => Promise<`0x${string}`>);
}

Type declaration

  • account: Account

    The Account of the Client.

  • addChain: ((args) => Promise<void>)
      • (args): Promise<void>
      • Adds an EVM chain to the wallet.

        Parameters

        • args: AddChainParameters

          AddChainParameters

        Returns Promise<void>

        Example

        import { createWalletClient, custom } from 'viem'
        import { optimism } from 'viem/chains'

        const client = createWalletClient({
        transport: custom(window.ethereum),
        })
        await client.addChain({ chain: optimism })
  • Optional batch?: {
        multicall?: boolean | ({ batchSize?: number; wait?: number; });
    }

    Flags for batch settings.

    • Optional multicall?: boolean | ({ batchSize?: number; wait?: number; })

      Toggle to enable eth_call multicall aggregation.

  • cacheTime: number

    Time (in ms) that cached data will remain in memory.

  • chain: Chain

    Chain for the client.

  • deployContract: (<const TAbi, TChainOverride>(args) => Promise<`0x${string}`>)
      • <const TAbi, TChainOverride>(args): Promise<`0x${string}`>
      • Deploys a contract to the network, given bytecode and constructor arguments.

        Type Parameters

        • const TAbi extends Abi | readonly unknown[]

        • TChainOverride extends Chain = undefined

        Parameters

        • args: DeployContractParameters<TAbi, Chain, Account, TChainOverride>

          DeployContractParameters

        Returns Promise<`0x${string}`>

        The Transaction hash. DeployContractReturnType

        Example

        import { createWalletClient, http } from 'viem'
        import { privateKeyToAccount } from 'viem/accounts'
        import { mainnet } from 'viem/chains'

        const client = createWalletClient({
        account: privateKeyToAccount('0x…'),
        chain: mainnet,
        transport: http(),
        })
        const hash = await client.deployContract({
        abi: [],
        account: '0x…,
        bytecode: '0x608060405260405161083e38038061083e833981016040819052610...',
        })
  • extend: (<const client>(fn) => Client<Transport, Chain, Account, WalletRpcSchema, ({ [K in keyof client]: client[K]; }) & WalletActions<Chain, Account>>)
      • <const client>(fn): Client<Transport, Chain, Account, WalletRpcSchema, ({ [K in keyof client]: client[K]; }) & WalletActions<Chain, Account>>
      • Type Parameters

        • const client extends ({ [x: string]: unknown; account?: undefined; batch?: undefined; cacheTime?: undefined; chain?: undefined; key?: undefined; name?: undefined; pollingInterval?: undefined; request?: undefined; transport?: undefined; type?: undefined; uid?: undefined; }) & Partial<ExtendableProtectedActions>

        Parameters

        • fn: ((client) => client)
            • (client): client
            • Parameters

              • client: Client<Transport, Chain, Account, WalletRpcSchema, WalletActions<Chain, Account>>

              Returns client

        Returns Client<Transport, Chain, Account, WalletRpcSchema, ({ [K in keyof client]: client[K]; }) & WalletActions<Chain, Account>>

  • getAddresses: (() => Promise<GetAddressesReturnType>)
      • (): Promise<GetAddressesReturnType>
      • Returns a list of account addresses owned by the wallet or client.

        Returns Promise<GetAddressesReturnType>

        List of account addresses owned by the wallet or client. GetAddressesReturnType

        Example

        import { createWalletClient, custom } from 'viem'
        import { mainnet } from 'viem/chains'

        const client = createWalletClient({
        chain: mainnet,
        transport: custom(window.ethereum),
        })
        const accounts = await client.getAddresses()
  • getChainId: (() => Promise<number>)
      • (): Promise<number>
      • Returns the chain ID associated with the current network.

        Returns Promise<number>

        The current chain ID. GetChainIdReturnType

        Example

        import { createWalletClient, http } from 'viem'
        import { mainnet } from 'viem/chains'

        const client = createWalletClient({
        chain: mainnet,
        transport: custom(window.ethereum),
        })
        const chainId = await client.getChainId()
        // 1
  • getPermissions: (() => Promise<GetPermissionsReturnType>)
      • (): Promise<GetPermissionsReturnType>
      • Gets the wallets current permissions.

        Returns Promise<GetPermissionsReturnType>

        The wallet permissions. GetPermissionsReturnType

        Example

        import { createWalletClient, custom } from 'viem'
        import { mainnet } from 'viem/chains'

        const client = createWalletClient({
        chain: mainnet,
        transport: custom(window.ethereum),
        })
        const permissions = await client.getPermissions()
  • key: string

    A key for the client.

  • name: string

    A name for the client.

  • pollingInterval: number

    Frequency (in ms) for polling enabled actions & events. Defaults to 4_000 milliseconds.

  • prepareTransactionRequest: (<TChainOverride>(args) => Promise<any>)
      • <TChainOverride>(args): Promise<any>
      • Prepares a transaction request for signing.

        Type Parameters

        • TChainOverride extends Chain = undefined

        Parameters

        • args: PrepareTransactionRequestParameters<Chain, Account, TChainOverride>

          PrepareTransactionRequestParameters

        Returns Promise<any>

        The transaction request. PrepareTransactionRequestReturnType

        Example

        import { createWalletClient, custom } from 'viem'
        import { mainnet } from 'viem/chains'

        const client = createWalletClient({
        chain: mainnet,
        transport: custom(window.ethereum),
        })
        const request = await client.prepareTransactionRequest({
        account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',
        to: '0x0000000000000000000000000000000000000000',
        value: 1n,
        })

        Example

        // Account Hoisting
        import { createWalletClient, http } from 'viem'
        import { privateKeyToAccount } from 'viem/accounts'
        import { mainnet } from 'viem/chains'

        const client = createWalletClient({
        account: privateKeyToAccount('0x…'),
        chain: mainnet,
        transport: custom(window.ethereum),
        })
        const request = await client.prepareTransactionRequest({
        to: '0x0000000000000000000000000000000000000000',
        value: 1n,
        })
  • request: EIP1193RequestFn<WalletRpcSchema>

    Request function wrapped with friendly error handling

  • requestAddresses: (() => Promise<RequestAddressesReturnType>)
      • (): Promise<RequestAddressesReturnType>
      • Requests a list of accounts managed by a wallet.

        Sends a request to the wallet, asking for permission to access the user's accounts. After the user accepts the request, it will return a list of accounts (addresses).

        This API can be useful for dapps that need to access the user's accounts in order to execute transactions or interact with smart contracts.

        Returns Promise<RequestAddressesReturnType>

        List of accounts managed by a wallet RequestAddressesReturnType

        Example

        import { createWalletClient, custom } from 'viem'
        import { mainnet } from 'viem/chains'

        const client = createWalletClient({
        chain: mainnet,
        transport: custom(window.ethereum),
        })
        const accounts = await client.requestAddresses()
  • requestPermissions: ((args) => Promise<RequestPermissionsReturnType>)
      • (args): Promise<RequestPermissionsReturnType>
      • Requests permissions for a wallet.

        Parameters

        • args: { [x: string]: Record<string, any>; eth_accounts: Record<string, any>; }

          RequestPermissionsParameters

        Returns Promise<RequestPermissionsReturnType>

        The wallet permissions. RequestPermissionsReturnType

        Example

        import { createWalletClient, custom } from 'viem'
        import { mainnet } from 'viem/chains'

        const client = createWalletClient({
        chain: mainnet,
        transport: custom(window.ethereum),
        })
        const permissions = await client.requestPermissions({
        eth_accounts: {}
        })
  • sendRawTransaction: ((args) => Promise<`0x${string}`>)
      • (args): Promise<`0x${string}`>
      • Sends a signed transaction to the network

        Parameters

        • args: SendRawTransactionParameters

        Returns Promise<`0x${string}`>

        The transaction hash. SendRawTransactionReturnType

        Example

        import { createWalletClient, custom } from 'viem'
        import { mainnet } from 'viem/chains'
        import { sendRawTransaction } from 'viem/wallet'

        const client = createWalletClient({
        chain: mainnet,
        transport: custom(window.ethereum),
        })

        const hash = await client.sendRawTransaction({
        serializedTransaction: '0x02f850018203118080825208808080c080a04012522854168b27e5dc3d5839bab5e6b39e1a0ffd343901ce1622e3d64b48f1a04e00902ae0502c4728cbf12156290df99c3ed7de85b1dbfe20b5c36931733a33'
        })
  • sendTransaction: (<TChainOverride>(args) => Promise<`0x${string}`>)
      • <TChainOverride>(args): Promise<`0x${string}`>
      • Creates, signs, and sends a new transaction to the network.

        Type Parameters

        • TChainOverride extends Chain = undefined

        Parameters

        • args: SendTransactionParameters<Chain, Account, TChainOverride>

          SendTransactionParameters

        Returns Promise<`0x${string}`>

        The Transaction hash. SendTransactionReturnType

        Example

        import { createWalletClient, custom } from 'viem'
        import { mainnet } from 'viem/chains'

        const client = createWalletClient({
        chain: mainnet,
        transport: custom(window.ethereum),
        })
        const hash = await client.sendTransaction({
        account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',
        to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',
        value: 1000000000000000000n,
        })

        Example

        // Account Hoisting
        import { createWalletClient, http } from 'viem'
        import { privateKeyToAccount } from 'viem/accounts'
        import { mainnet } from 'viem/chains'

        const client = createWalletClient({
        account: privateKeyToAccount('0x…'),
        chain: mainnet,
        transport: http(),
        })
        const hash = await client.sendTransaction({
        to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',
        value: 1000000000000000000n,
        })
  • signMessage: ((args) => Promise<`0x${string}`>)
      • (args): Promise<`0x${string}`>
      • Calculates an Ethereum-specific signature in EIP-191 format: keccak256("\x19Ethereum Signed Message:\n" + len(message) + message)).

        With the calculated signature, you can:

        Parameters

        • args: SignMessageParameters<Account>

          SignMessageParameters

        Returns Promise<`0x${string}`>

        The signed message. SignMessageReturnType

        Example

        import { createWalletClient, custom } from 'viem'
        import { mainnet } from 'viem/chains'

        const client = createWalletClient({
        chain: mainnet,
        transport: custom(window.ethereum),
        })
        const signature = await client.signMessage({
        account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',
        message: 'hello world',
        })

        Example

        // Account Hoisting
        import { createWalletClient, http } from 'viem'
        import { privateKeyToAccount } from 'viem/accounts'
        import { mainnet } from 'viem/chains'

        const client = createWalletClient({
        account: privateKeyToAccount('0x…'),
        chain: mainnet,
        transport: http(),
        })
        const signature = await client.signMessage({
        message: 'hello world',
        })
  • signTransaction: (<TChainOverride>(args) => Promise<`0x${string}`>)
      • <TChainOverride>(args): Promise<`0x${string}`>
      • Signs a transaction.

        Type Parameters

        • TChainOverride extends Chain = undefined

        Parameters

        • args: SignTransactionParameters<Chain, Account, TChainOverride>

          SignTransactionParameters

        Returns Promise<`0x${string}`>

        The signed message. SignTransactionReturnType

        Example

        import { createWalletClient, custom } from 'viem'
        import { mainnet } from 'viem/chains'

        const client = createWalletClient({
        chain: mainnet,
        transport: custom(window.ethereum),
        })
        const request = await client.prepareTransactionRequest({
        account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',
        to: '0x0000000000000000000000000000000000000000',
        value: 1n,
        })
        const signature = await client.signTransaction(request)

        Example

        // Account Hoisting
        import { createWalletClient, http } from 'viem'
        import { privateKeyToAccount } from 'viem/accounts'
        import { mainnet } from 'viem/chains'

        const client = createWalletClient({
        account: privateKeyToAccount('0x…'),
        chain: mainnet,
        transport: custom(window.ethereum),
        })
        const request = await client.prepareTransactionRequest({
        to: '0x0000000000000000000000000000000000000000',
        value: 1n,
        })
        const signature = await client.signTransaction(request)
  • signTypedData: (<const TTypedData, TPrimaryType>(args) => Promise<`0x${string}`>)
      • <const TTypedData, TPrimaryType>(args): Promise<`0x${string}`>
      • Signs typed data and calculates an Ethereum-specific signature in EIP-191 format: keccak256("\x19Ethereum Signed Message:\n" + len(message) + message)).

        Type Parameters

        • const TTypedData extends {
              [key: string]: unknown;
          } | {
              address: never;
              bool: never;
              bytes: never;
              bytes1: never;
              bytes10: never;
              bytes11: never;
              bytes12: never;
              bytes13: never;
              bytes14: never;
              bytes15: never;
              bytes16: never;
              bytes17: never;
              bytes18: never;
              bytes19: never;
              bytes2: never;
              bytes20: never;
              bytes21: never;
              bytes22: never;
              bytes23: never;
              bytes24: never;
              bytes25: never;
              bytes26: never;
              bytes27: never;
              bytes28: never;
              bytes29: never;
              bytes3: never;
              bytes30: never;
              bytes31: never;
              bytes32: never;
              bytes4: never;
              bytes5: never;
              bytes6: never;
              bytes7: never;
              bytes8: never;
              bytes9: never;
              int104: never;
              int112: never;
              int120: never;
              int128: never;
              int136: never;
              int144: never;
              int152: never;
              int16: never;
              int160: never;
              int168: never;
              int176: never;
              int184: never;
              int192: never;
              int200: never;
              int208: never;
              int216: never;
              int224: never;
              int232: never;
              int24: never;
              int240: never;
              int248: never;
              int256: never;
              int32: never;
              int40: never;
              int48: never;
              int56: never;
              int64: never;
              int72: never;
              int8: never;
              int80: never;
              int88: never;
              int96: never;
              string: never;
              uint104: never;
              uint112: never;
              uint120: never;
              uint128: never;
              uint136: never;
              uint144: never;
              uint152: never;
              uint16: never;
              uint160: never;
              uint168: never;
              uint176: never;
              uint184: never;
              uint192: never;
              uint200: never;
              uint208: never;
              uint216: never;
              uint224: never;
              uint232: never;
              uint24: never;
              uint240: never;
              uint248: never;
              uint256: never;
              uint32: never;
              uint40: never;
              uint48: never;
              uint56: never;
              uint64: never;
              uint72: never;
              uint8: never;
              uint80: never;
              uint88: never;
              uint96: never;
          }

        • TPrimaryType extends string

        Parameters

        • args: SignTypedDataParameters<TTypedData, TPrimaryType, Account>

          SignTypedDataParameters

        Returns Promise<`0x${string}`>

        The signed data. SignTypedDataReturnType

        Example

        import { createWalletClient, custom } from 'viem'
        import { mainnet } from 'viem/chains'

        const client = createWalletClient({
        chain: mainnet,
        transport: custom(window.ethereum),
        })
        const signature = await client.signTypedData({
        account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',
        domain: {
        name: 'Ether Mail',
        version: '1',
        chainId: 1,
        verifyingContract: '0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC',
        },
        types: {
        Person: [
        { name: 'name', type: 'string' },
        { name: 'wallet', type: 'address' },
        ],
        Mail: [
        { name: 'from', type: 'Person' },
        { name: 'to', type: 'Person' },
        { name: 'contents', type: 'string' },
        ],
        },
        primaryType: 'Mail',
        message: {
        from: {
        name: 'Cow',
        wallet: '0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826',
        },
        to: {
        name: 'Bob',
        wallet: '0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB',
        },
        contents: 'Hello, Bob!',
        },
        })

        Example

        // Account Hoisting
        import { createWalletClient, http } from 'viem'
        import { privateKeyToAccount } from 'viem/accounts'
        import { mainnet } from 'viem/chains'

        const client = createWalletClient({
        account: privateKeyToAccount('0x…'),
        chain: mainnet,
        transport: http(),
        })
        const signature = await client.signTypedData({
        domain: {
        name: 'Ether Mail',
        version: '1',
        chainId: 1,
        verifyingContract: '0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC',
        },
        types: {
        Person: [
        { name: 'name', type: 'string' },
        { name: 'wallet', type: 'address' },
        ],
        Mail: [
        { name: 'from', type: 'Person' },
        { name: 'to', type: 'Person' },
        { name: 'contents', type: 'string' },
        ],
        },
        primaryType: 'Mail',
        message: {
        from: {
        name: 'Cow',
        wallet: '0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826',
        },
        to: {
        name: 'Bob',
        wallet: '0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB',
        },
        contents: 'Hello, Bob!',
        },
        })
  • switchChain: ((args) => Promise<void>)
      • (args): Promise<void>
      • Switch the target chain in a wallet.

        Parameters

        • args: SwitchChainParameters

          SwitchChainParameters

        Returns Promise<void>

        Example

        import { createWalletClient, custom } from 'viem'
        import { mainnet, optimism } from 'viem/chains'

        const client = createWalletClient({
        chain: mainnet,
        transport: custom(window.ethereum),
        })
        await client.switchChain({ id: optimism.id })
  • transport: TransportConfig<string, EIP1193RequestFn> & Record<string, any>

    The RPC transport

  • type: string

    The type of client.

  • uid: string

    A unique ID for the client.

  • watchAsset: ((args) => Promise<boolean>)
      • (args): Promise<boolean>
      • Adds an EVM chain to the wallet.

        Parameters

        • args: WatchAssetParams

          WatchAssetParameters

        Returns Promise<boolean>

        Boolean indicating if the token was successfully added. WatchAssetReturnType

        Example

        import { createWalletClient, custom } from 'viem'
        import { mainnet } from 'viem/chains'

        const client = createWalletClient({
        chain: mainnet,
        transport: custom(window.ethereum),
        })
        const success = await client.watchAsset({
        type: 'ERC20',
        options: {
        address: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
        decimals: 18,
        symbol: 'WETH',
        },
        })
  • writeContract: (<const TAbi, TFunctionName, TChainOverride>(args) => Promise<`0x${string}`>)
      • <const TAbi, TFunctionName, TChainOverride>(args): Promise<`0x${string}`>
      • Executes a write function on a contract.

        A "write" function on a Solidity contract modifies the state of the blockchain. These types of functions require gas to be executed, and hence a Transaction is needed to be broadcast in order to change the state.

        Internally, uses a Wallet Client to call the sendTransaction action with ABI-encoded data.

        Warning: The write internally sends a transaction – it does not validate if the contract write will succeed (the contract may throw an error). It is highly recommended to simulate the contract write with contract.simulate before you execute it.

        Type Parameters

        • const TAbi extends Abi | readonly unknown[]

        • TFunctionName extends string

        • TChainOverride extends Chain = undefined

        Parameters

        • args: WriteContractParameters<TAbi, TFunctionName, Chain, Account, TChainOverride>

          WriteContractParameters

        Returns Promise<`0x${string}`>

        A Transaction Hash. WriteContractReturnType

        Example

        import { createWalletClient, custom, parseAbi } from 'viem'
        import { mainnet } from 'viem/chains'

        const client = createWalletClient({
        chain: mainnet,
        transport: custom(window.ethereum),
        })
        const hash = await client.writeContract({
        address: '0xFBA3912Ca04dd458c843e2EE08967fC04f3579c2',
        abi: parseAbi(['function mint(uint32 tokenId) nonpayable']),
        functionName: 'mint',
        args: [69420],
        })

        Example

        // With Validation
        import { createWalletClient, custom, parseAbi } from 'viem'
        import { mainnet } from 'viem/chains'

        const client = createWalletClient({
        chain: mainnet,
        transport: custom(window.ethereum),
        })
        const { request } = await client.simulateContract({
        address: '0xFBA3912Ca04dd458c843e2EE08967fC04f3579c2',
        abi: parseAbi(['function mint(uint32 tokenId) nonpayable']),
        functionName: 'mint',
        args: [69420],
        }
        const hash = await client.writeContract(request)
prefixed: string | boolean

Methods

  • Type Parameters

    • T extends string | symbol

    Parameters

    • event: T
    • fn: ((...args) => void)
        • (...args): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    • Optional context: any

    Returns CapsuleEIP1193Provider

  • Calls each of the listeners registered for a given event.

    Type Parameters

    • T extends string | symbol

    Parameters

    • event: T
    • Rest ...args: any[]

    Returns boolean

  • Return an array listing the events for which the emitter has registered listeners.

    Returns (string | symbol)[]

  • Return the number of listeners listening to a given event.

    Parameters

    • event: string | symbol

    Returns number

  • Return the listeners registered for a given event.

    Type Parameters

    • T extends string | symbol

    Parameters

    • event: T

    Returns ((...args) => void)[]

  • Type Parameters

    • T extends string | symbol

    Parameters

    • event: T
    • Optional fn: ((...args) => void)
        • (...args): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    • Optional context: any
    • Optional once: boolean

    Returns CapsuleEIP1193Provider

  • Add a listener for a given event.

    Type Parameters

    • T extends string | symbol

    Parameters

    • event: T
    • fn: ((...args) => void)
        • (...args): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    • Optional context: any

    Returns CapsuleEIP1193Provider

  • Add a one-time listener for a given event.

    Type Parameters

    • T extends string | symbol

    Parameters

    • event: T
    • fn: ((...args) => void)
        • (...args): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    • Optional context: any

    Returns CapsuleEIP1193Provider

  • Remove all listeners, or those of the specified event.

    Parameters

    • Optional event: string | symbol

    Returns CapsuleEIP1193Provider

  • Remove the listeners of a given event.

    Type Parameters

    • T extends string | symbol

    Parameters

    • event: T
    • Optional fn: ((...args) => void)
        • (...args): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    • Optional context: any
    • Optional once: boolean

    Returns CapsuleEIP1193Provider

Generated using TypeDoc