agw-client
transformEIP1193Provider
Function to transform an EIP1193 provider into an Abstract Global Wallet client.
The transformEIP1193Provider
function transforms a standard EIP1193 provider
into an Abstract Global Wallet (AGW) compatible provider.
This allows you to use existing wallet providers with Abstract Global Wallet.
Import
import { transformEIP1193Provider } from "@abstract-foundation/agw-client";
Usage
import { transformEIP1193Provider } from "@abstract-foundation/agw-client";
import { abstractTestnet } from "viem/chains";
import { getDefaultProvider } from "ethers";
// Assume we have an EIP1193 provider
const originalProvider = getDefaultProvider();
const agwProvider = transformEIP1193Provider({
provider: originalProvider,
chain: abstractTestnet,
});
// Now you can use agwProvider as a drop-in replacement
Parameters
options
TransformEIP1193ProviderOptions
requiredAn object containing the following properties:
Returns
An EIP1193Provider
instance with modified behavior for specific JSON-RPC methods to be compatible with the Abstract Global Wallet.
How it works
The transformEIP1193Provider
function wraps the original provider and intercepts specific Ethereum JSON-RPC methods:
eth_accounts
: Returns the smart account address along with the original signer address.eth_signTransaction
andeth_sendTransaction
:- If the transaction is from the original signer, it passes through to the original provider.
- If it’s from the smart account, it uses the AGW client to handle the transaction.
For all other methods, it passes the request through to the original provider.
Was this page helpful?