UNPKG

@oasisprotocol/sapphire-wagmi-v2

Version:
61 lines 2.04 kB
/** * @license Apache-2.0 */ import { type SapphireWrapConfig } from "@oasisprotocol/sapphire-paratime"; import { injected } from "@wagmi/core"; 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>; interface BaseConnector { getProvider?(): Promise<unknown> | unknown; name?: string; id?: string; } type ConnectorFactoryReturn<C extends BaseConnector = BaseConnector> = C; /** * Wrap any Wagmi connector with the Sapphire encryption layer. * Used to provide encrypted transactions and calldata to any connector type (WalletConnect, MetaMask, etc.). * * ```typescript * import { wrapConnectorWithSapphire } from '@oasisprotocol/sapphire-wagmi-v2'; * import { walletConnect } from '@wagmi/connectors'; * * export const config = createConfig({ * connectors: [ * wrapConnectorWithSapphire( * walletConnect({ projectId: 'your-project-id' }), * { * id: 'walletconnect-sapphire', * name: 'WalletConnect (Sapphire)', * } * ) * ], * ... * }); * ``` * * @returns A wrapped connector factory that provides Sapphire encryption */ export declare function wrapConnectorWithSapphire<T extends any[], C extends BaseConnector = BaseConnector>(connectorFactory: (...args: T) => ConnectorFactoryReturn<C>, options?: { customWrapper?: <TConnector extends C>(connector: TConnector) => TConnector; sapphireWrapConfig?: SapphireWrapConfig; name?: string; id?: string; }): (...args: T) => ConnectorFactoryReturn<C>; //# sourceMappingURL=index.d.ts.map