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