UNPKG

@oasisprotocol/sapphire-wagmi-v2

Version:
63 lines 2.35 kB
/** * @license Apache-2.0 */ import { type SapphireWrapConfig } from "@oasisprotocol/sapphire-paratime"; import { type Config, type CreateConfigParameters, type CreateConnectorFn, type Transport, injected } from "@wagmi/core"; import type { Chain } from "viem"; import type { CreateSapphireConfigParameters } from "./types.js"; export * from "@oasisprotocol/sapphire-viem-v2"; /** * Wrap the `window.ethereum` with the Sapphire encryption layer. * Used to provide encrypted transactions and calldata to Wagmi browser dApps. * * ``` * import { injectedWithSapphire } from '@oasisprotocol/sapphire-wagmi-v2'; * * export const config = createConfig({ * connectors: [ * injectedWithSapphire() * ], * ... * }); * ``` * * @returns Same as injected() */ export declare function injectedWithSapphire(options?: SapphireWrapConfig): ReturnType<typeof injected>; /** * Creates a wagmi configuration with wrapped EIP-6963 Sapphire encryption layer. * * In case you are only using Sapphire chain: * * ```typescript * import { createSapphireConfig } from '@oasisprotocol/sapphire-wagmi-v2'; * * export const config = createSapphireConfig({ * sapphireConfig: { * replaceProviders: true, * } * ... * }); * ``` * * In case your dApp is multichain, the below example will create duplicate connectors for Sapphire: * * ```typescript * import { createSapphireConfig } from '@oasisprotocol/sapphire-wagmi-v2'; * * export const config = createSapphireConfig({ * sapphireConfig: { * replaceProviders: false, * // Define which providers you want to wrap via RDNS * wrappedProvidersFilter: (rdns) => ['io.metamask'].includes(rdns) * } * ... * }); * ``` * * @param {CreateConfigParameters<chains, transports, connectorFns> & CreateSapphireConfigParameters} parameters - Extended wagmi parameters, * with sapphireConfig * @return {Config<chains, transports, connectorFns>} Wagmi config */ export declare function createSapphireConfig<chains extends readonly [Chain, ...Chain[]], transports extends Record<chains[number]["id"], Transport>, connectorFns extends readonly CreateConnectorFn[]>(parameters: CreateConfigParameters<chains, transports, connectorFns> & CreateSapphireConfigParameters): Config<chains, transports, connectorFns>; //# sourceMappingURL=index.d.ts.map