@oasisprotocol/sapphire-wagmi-v2
Version:
Wagmi & Viem support for the Oasis Sapphire ParaTime.
63 lines • 2.35 kB
TypeScript
/**
* @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