create7702Context function
Eip7702Context
create7702Context({
- required String rpcUrl,
- required HexString delegateAddress,
- GasTransformFn? transformer,
Creates an Eip7702Context with a managed Web3Client instance.
This factory function is the recommended way to instantiate an Eip7702Context for most applications. It handles:
- Converting the hex-formatted
delegateAddressto anEthereumAddress - Creating a
Web3Clientwith the providedrpcUrl - Optionally applying a
transformerfor gas estimation adjustments
The created Web3Client uses a default HTTP client internally.
Parameters:
rpcUrl— the Ethereum JSON-RPC endpoint URL.delegateAddress— the implementation contract address as a hex string.transformer— optional function to modify gas estimates before transaction submission (e.g., multiplying by 1.2 for a 20% buffer).
Returns a fully configured Eip7702Context ready for use with builders.
Example
final context = create7702Context(
rpcUrl: 'https://mainnet.infura.io/v3/YOUR_KEY',
delegateAddress: '0x1234...',
transformer: (gas) => gas * BigInt.from(12) ~/ BigInt.from(10), // 20% buffer
);
Implementation
Eip7702Context create7702Context({
required String rpcUrl,
required HexString delegateAddress,
GasTransformFn? transformer,
}) => Eip7702Context(
delegateAddress: delegateAddress.ethAddress,
web3Client: Web3Client(rpcUrl, http.Client()),
transformer: transformer,
);