Defined in: aa-sdk/ethers/src/provider-adapter.ts:20
Lightweight Adapter for SmtAccountProvider to enable Signer Creation
JsonRpcProvider
new EthersProviderAdapter(opts): EthersProviderAdapter;Defined in: aa-sdk/ethers/src/provider-adapter.ts:48
Configures and initializes the account provider based on the given options.
Example
import { AccountSigner, EthersProviderAdapter } from "@aa-sdk/ethers";
import { LocalAccountSigner } from "@aa-sdk/core";
import { sepolia } from "@account-kit/infra";
import { createLightAccount } from "@account-kit/smart-contracts";
const account = await createLightAccount({
transport: http("https://rpc.testnet.aepps.com"),
chain: sepolia,
signer: LocalAccountSigner.privateKeyToAccountSigner(generatePrivateKey()),
});
const provider = new EthersProviderAdapter({
account,
chain: sepolia,
rpcProvider: "https://eth-sepolia.g.alchemy.com/v2/your-api-key",
});Parameters
| Parameter | Type | Description |
|---|---|---|
|
| The options for setting up the ethers provider adapter |
Returns
EthersProviderAdapter
Overrides
JsonRpcProvider.constructor;| Property | Type |
|---|---|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
Get Signature
get _cache(): Record<string, Promise<any>>;Defined in: node_modules/@ethersproject/providers/lib/json-rpc-provider.d.ts:33
Returns
Record<string, Promise<any>>
Inherited from
JsonRpcProvider._cache;Get Signature
get blockNumber(): number;Defined in: node_modules/@ethersproject/providers/lib/base-provider.d.ts:101
Returns
number
Inherited from
JsonRpcProvider.blockNumber;Get Signature
get network(): Network;Defined in: node_modules/@ethersproject/providers/lib/base-provider.d.ts:98
Returns
Network
Inherited from
JsonRpcProvider.network;Get Signature
get polling(): boolean;Defined in: node_modules/@ethersproject/providers/lib/base-provider.d.ts:102
Returns
boolean
Set Signature
set polling(value): void;Defined in: node_modules/@ethersproject/providers/lib/base-provider.d.ts:103
Parameters
| Parameter | Type |
|---|---|
|
|
Returns
void
Inherited from
JsonRpcProvider.polling;Get Signature
get pollingInterval(): number;Defined in: node_modules/@ethersproject/providers/lib/base-provider.d.ts:104
Returns
number
Set Signature
set pollingInterval(value): void;Defined in: node_modules/@ethersproject/providers/lib/base-provider.d.ts:105
Parameters
| Parameter | Type |
|---|---|
|
|
Returns
void
Inherited from
JsonRpcProvider.pollingInterval;Get Signature
get ready(): Promise<Network>;Defined in: node_modules/@ethersproject/providers/lib/base-provider.d.ts:91
Returns
Promise<Network>
Inherited from
JsonRpcProvider.ready;_addEventListener(
eventName,
listener,
once): this;Defined in: node_modules/@ethersproject/providers/lib/base-provider.d.ts:147
Parameters
| Parameter | Type |
|---|---|
|
|
|
|
|
|
Returns
this
Inherited from
JsonRpcProvider._addEventListener;_call(
transaction,
blockTag,
attempt): Promise<string>;Defined in: node_modules/@ethersproject/providers/lib/base-provider.d.ts:127
Parameters
| Parameter | Type |
|---|---|
|
|
|
|
|
|
Returns
Promise<string>
Inherited from
JsonRpcProvider._call;_getAddress(addressOrName): Promise<string>;Defined in: node_modules/@ethersproject/providers/lib/base-provider.d.ts:130
Parameters
| Parameter | Type |
|---|---|
|
|
Returns
Promise<string>
Inherited from
JsonRpcProvider._getAddress;_getBlock(blockHashOrBlockTag, includeTransactions?): Promise<Block | BlockWithTransactions>;Defined in: node_modules/@ethersproject/providers/lib/base-provider.d.ts:131
Parameters
| Parameter | Type |
|---|---|
|
|
|
|
Returns
Promise<Block | BlockWithTransactions>
Inherited from
JsonRpcProvider._getBlock;_getBlockTag(blockTag): Promise<BlockTag>;Defined in: node_modules/@ethersproject/providers/lib/base-provider.d.ts:138
Parameters
| Parameter | Type |
|---|---|
|
|
Returns
Promise<BlockTag>
Inherited from
JsonRpcProvider._getBlockTag;_getFastBlockNumber(): Promise<number>;Defined in: node_modules/@ethersproject/providers/lib/base-provider.d.ts:106
Returns
Promise<number>
Inherited from
JsonRpcProvider._getFastBlockNumber;_getFilter(filter): Promise<Filter | FilterByBlockHash>;Defined in: node_modules/@ethersproject/providers/lib/base-provider.d.ts:126
Parameters
| Parameter | Type |
|---|---|
| | |
Returns
Promise<Filter | FilterByBlockHash>
Inherited from
JsonRpcProvider._getFilter;_getInternalBlockNumber(maxAge): Promise<number>;Defined in: node_modules/@ethersproject/providers/lib/base-provider.d.ts:95
Parameters
| Parameter | Type |
|---|---|
|
|
Returns
Promise<number>
Inherited from
JsonRpcProvider._getInternalBlockNumber;_getResolver(name, operation?): Promise<string>;Defined in: node_modules/@ethersproject/providers/lib/base-provider.d.ts:140
Parameters
| Parameter | Type |
|---|---|
|
|
|
|
Returns
Promise<string>
Inherited from
JsonRpcProvider._getResolver;_getTransactionRequest(transaction): Promise<Transaction>;Defined in: node_modules/@ethersproject/providers/lib/base-provider.d.ts:125
Parameters
| Parameter | Type |
|---|---|
|
|
Returns
Promise<Transaction>
Inherited from
JsonRpcProvider._getTransactionRequest;_ready(): Promise<Network>;Defined in: node_modules/@ethersproject/providers/lib/base-provider.d.ts:90
Returns
Promise<Network>
Inherited from
JsonRpcProvider._ready;_setFastBlockNumber(blockNumber): void;Defined in: node_modules/@ethersproject/providers/lib/base-provider.d.ts:107
Parameters
| Parameter | Type |
|---|---|
|
|
Returns
void
Inherited from
JsonRpcProvider._setFastBlockNumber;_startEvent(event): void;Defined in: node_modules/@ethersproject/providers/lib/json-rpc-provider.d.ts:44
Parameters
| Parameter | Type |
|---|---|
|
|
Returns
void
Inherited from
JsonRpcProvider._startEvent;_startPending(): void;Defined in: node_modules/@ethersproject/providers/lib/json-rpc-provider.d.ts:45
Returns
void
Inherited from
JsonRpcProvider._startPending;_stopEvent(event): void;Defined in: node_modules/@ethersproject/providers/lib/json-rpc-provider.d.ts:46
Parameters
| Parameter | Type |
|---|---|
|
|
Returns
void
Inherited from
JsonRpcProvider._stopEvent;_uncachedDetectNetwork(): Promise<Network>;Defined in: node_modules/@ethersproject/providers/lib/json-rpc-provider.d.ts:37
Returns
Promise<Network>
Inherited from
JsonRpcProvider._uncachedDetectNetwork;_waitForTransaction(
transactionHash,
confirmations,
timeout,
replaceable): Promise<TransactionReceipt>;Defined in: node_modules/@ethersproject/providers/lib/base-provider.d.ts:109
Parameters
| Parameter | Type |
|---|---|
|
|
|
|
|
|
| { |
|
|
|
|
|
|
|
|
|
|
|
|
Returns
Promise<TransactionReceipt>
Inherited from
JsonRpcProvider._waitForTransaction;_wrapTransaction(
tx,
hash?,
startBlock?): TransactionResponse;Defined in: node_modules/@ethersproject/providers/lib/base-provider.d.ts:123
Parameters
| Parameter | Type |
|---|---|
|
|
|
|
|
|
Returns
TransactionResponse
Inherited from
JsonRpcProvider._wrapTransaction;addListener(eventName, listener): Provider;Defined in: node_modules/@ethersproject/abstract-provider/lib/index.d.ts:149
Parameters
| Parameter | Type |
|---|---|
|
|
|
|
Returns
Provider
Inherited from
JsonRpcProvider.addListener;call(transaction, blockTag?): Promise<string>;Defined in: node_modules/@ethersproject/providers/lib/base-provider.d.ts:128
Parameters
| Parameter | Type |
|---|---|
|
|
|
|
Returns
Promise<string>
Inherited from
JsonRpcProvider.call;ccipReadFetch(
tx,
calldata,
urls): Promise<null | string>;Defined in: node_modules/@ethersproject/providers/lib/base-provider.d.ts:94
Parameters
| Parameter | Type |
|---|---|
|
|
|
|
|
|
Returns
Promise<null | string>
Inherited from
JsonRpcProvider.ccipReadFetch;connectToAccount<TAccount>(account): AccountSigner<TAccount>;Defined in: aa-sdk/ethers/src/provider-adapter.ts:90
Connects the Provider to an Account and returns a Signer
Type Parameters
| Type Parameter |
|---|
|
Parameters
| Parameter | Type | Description |
|---|---|---|
|
| the account to connect to |
Returns
AccountSigner<TAccount>
an AccountSigner that can be used to sign and send user operations
detectNetwork(): Promise<Network>;Defined in: node_modules/@ethersproject/providers/lib/json-rpc-provider.d.ts:36
Returns
Promise<Network>
Inherited from
JsonRpcProvider.detectNetwork;emit(eventName, ...args): boolean;Defined in: node_modules/@ethersproject/providers/lib/base-provider.d.ts:150
Parameters
| Parameter | Type |
|---|---|
|
|
... |
|
Returns
boolean
Inherited from
JsonRpcProvider.emit;estimateGas(transaction): Promise<BigNumber>;Defined in: node_modules/@ethersproject/providers/lib/base-provider.d.ts:129
Parameters
| Parameter | Type |
|---|---|
|
|
Returns
Promise<BigNumber>
Inherited from
JsonRpcProvider.estimateGas;getAvatar(nameOrAddress): Promise<null | string>;Defined in: node_modules/@ethersproject/providers/lib/base-provider.d.ts:143
Parameters
| Parameter | Type |
|---|---|
|
|
Returns
Promise<null | string>
Inherited from
JsonRpcProvider.getAvatar;getBalance(addressOrName, blockTag?): Promise<BigNumber>;Defined in: node_modules/@ethersproject/providers/lib/base-provider.d.ts:119
Parameters
| Parameter | Type |
|---|---|
|
|
|
|
Returns
Promise<BigNumber>
Inherited from
JsonRpcProvider.getBalance;getBlock(blockHashOrBlockTag): Promise<Block>;Defined in: node_modules/@ethersproject/providers/lib/base-provider.d.ts:132
Parameters
| Parameter | Type |
|---|---|
|
|
Returns
Promise<Block>
Inherited from
JsonRpcProvider.getBlock;getBlockNumber(): Promise<number>;Defined in: node_modules/@ethersproject/providers/lib/base-provider.d.ts:117
Returns
Promise<number>
Inherited from
JsonRpcProvider.getBlockNumber;getBlockWithTransactions(blockHashOrBlockTag): Promise<BlockWithTransactions>;Defined in: node_modules/@ethersproject/providers/lib/base-provider.d.ts:133
Parameters
| Parameter | Type |
|---|---|
|
|
Returns
Promise<BlockWithTransactions>
Inherited from
JsonRpcProvider.getBlockWithTransactions;getBundlerClient(): BundlerClient<Transport>;Defined in: aa-sdk/ethers/src/provider-adapter.ts:123
Creates and returns a BundlerClient using the existing account provider's transport and chain.
Example
import { AccountSigner, EthersProviderAdapter } from "@aa-sdk/ethers";
import { LocalAccountSigner } from "@aa-sdk/core";
import { sepolia } from "@account-kit/infra";
import { createLightAccount } from "@account-kit/smart-contracts";
const account = await createLightAccount({
transport: http("https://rpc.testnet.aepps.com"),
chain: sepolia,
signer: LocalAccountSigner.privateKeyToAccountSigner(generatePrivateKey()),
});
const provider = new EthersProviderAdapter({
account,
chain: sepolia,
rpcProvider: "https://eth-sepolia.g.alchemy.com/v2/your-api-key",
});
const bundlerClient = provider.getBundlerClient();Returns
BundlerClient<Transport>
A bundler client configured with the existing account provider.
getCode(addressOrName, blockTag?): Promise<string>;Defined in: node_modules/@ethersproject/providers/lib/base-provider.d.ts:121
Parameters
| Parameter | Type |
|---|---|
|
|
|
|
Returns
Promise<string>
Inherited from
JsonRpcProvider.getCode;getEtherPrice(): Promise<number>;Defined in: node_modules/@ethersproject/providers/lib/base-provider.d.ts:137
Returns
Promise<number>
Inherited from
JsonRpcProvider.getEtherPrice;getFeeData(): Promise<FeeData>;Defined in: node_modules/@ethersproject/abstract-provider/lib/index.d.ts:127
Returns
Promise<FeeData>
Inherited from
JsonRpcProvider.getFeeData;getGasPrice(): Promise<BigNumber>;Defined in: node_modules/@ethersproject/providers/lib/base-provider.d.ts:118
Returns
Promise<BigNumber>
Inherited from
JsonRpcProvider.getGasPrice;getLogs(filter): Promise<Log[]>;Defined in: node_modules/@ethersproject/providers/lib/base-provider.d.ts:136
Parameters
| Parameter | Type |
|---|---|
| | |
Returns
Promise<Log[]>
Inherited from
JsonRpcProvider.getLogs;getNetwork(): Promise<Network>;Defined in: node_modules/@ethersproject/providers/lib/base-provider.d.ts:100
Returns
Promise<Network>
Inherited from
JsonRpcProvider.getNetwork;getResolver(name): Promise<null | Resolver>;Defined in: node_modules/@ethersproject/providers/lib/base-provider.d.ts:139
Parameters
| Parameter | Type |
|---|---|
|
|
Returns
Promise<null | Resolver>
Inherited from
JsonRpcProvider.getResolver;getSigner(addressOrIndex?): JsonRpcSigner;Defined in: node_modules/@ethersproject/providers/lib/json-rpc-provider.d.ts:38
Parameters
| Parameter | Type |
|---|---|
|
|
Returns
JsonRpcSigner
Inherited from
JsonRpcProvider.getSigner;getStorageAt(
addressOrName,
position,
blockTag?): Promise<string>;Defined in: node_modules/@ethersproject/providers/lib/base-provider.d.ts:122
Parameters
| Parameter | Type |
|---|---|
|
|
|
|
|
|
Returns
Promise<string>
Inherited from
JsonRpcProvider.getStorageAt;getTransaction(transactionHash): Promise<TransactionResponse>;Defined in: node_modules/@ethersproject/providers/lib/base-provider.d.ts:134
Parameters
| Parameter | Type |
|---|---|
|
|
Returns
Promise<TransactionResponse>
Inherited from
JsonRpcProvider.getTransaction;getTransactionCount(addressOrName, blockTag?): Promise<number>;Defined in: node_modules/@ethersproject/providers/lib/base-provider.d.ts:120
Parameters
| Parameter | Type |
|---|---|
|
|
|
|
Returns
Promise<number>
Inherited from
JsonRpcProvider.getTransactionCount;getTransactionReceipt(transactionHash): Promise<TransactionReceipt>;Defined in: node_modules/@ethersproject/providers/lib/base-provider.d.ts:135
Parameters
| Parameter | Type |
|---|---|
|
|
Returns
Promise<TransactionReceipt>
Inherited from
JsonRpcProvider.getTransactionReceipt;getUncheckedSigner(addressOrIndex?): UncheckedJsonRpcSigner;Defined in: node_modules/@ethersproject/providers/lib/json-rpc-provider.d.ts:39
Parameters
| Parameter | Type |
|---|---|
|
|
Returns
UncheckedJsonRpcSigner
Inherited from
JsonRpcProvider.getUncheckedSigner;listAccounts(): Promise<string[]>;Defined in: node_modules/@ethersproject/providers/lib/json-rpc-provider.d.ts:40
Returns
Promise<string[]>
Inherited from
JsonRpcProvider.listAccounts;listenerCount(eventName?): number;Defined in: node_modules/@ethersproject/providers/lib/base-provider.d.ts:151
Parameters
| Parameter | Type |
|---|---|
|
|
Returns
number
Inherited from
JsonRpcProvider.listenerCount;listeners(eventName?): Listener[];Defined in: node_modules/@ethersproject/providers/lib/base-provider.d.ts:152
Parameters
| Parameter | Type |
|---|---|
|
|
Returns
Listener[]
Inherited from
JsonRpcProvider.listeners;lookupAddress(address): Promise<null | string>;Defined in: node_modules/@ethersproject/providers/lib/base-provider.d.ts:142
Parameters
| Parameter | Type |
|---|---|
|
|
Returns
Promise<null | string>
Inherited from
JsonRpcProvider.lookupAddress;off(eventName, listener?): this;Defined in: node_modules/@ethersproject/providers/lib/base-provider.d.ts:153
Parameters
| Parameter | Type |
|---|---|
|
|
|
|
Returns
this
Inherited from
JsonRpcProvider.off;on(eventName, listener): this;Defined in: node_modules/@ethersproject/providers/lib/base-provider.d.ts:148
Parameters
| Parameter | Type |
|---|---|
|
|
|
|
Returns
this
Inherited from
JsonRpcProvider.on;once(eventName, listener): this;Defined in: node_modules/@ethersproject/providers/lib/base-provider.d.ts:149
Parameters
| Parameter | Type |
|---|---|
|
|
|
|
Returns
this
Inherited from
JsonRpcProvider.once;perform(method, params): Promise<any>;Defined in: node_modules/@ethersproject/providers/lib/json-rpc-provider.d.ts:43
Parameters
| Parameter | Type |
|---|---|
|
|
|
|
Returns
Promise<any>
Inherited from
JsonRpcProvider.perform;poll(): Promise<void>;Defined in: node_modules/@ethersproject/providers/lib/base-provider.d.ts:96
Returns
Promise<void>
Inherited from
JsonRpcProvider.poll;prepareRequest(method, params): [string, any[]];Defined in: node_modules/@ethersproject/providers/lib/json-rpc-provider.d.ts:42
Parameters
| Parameter | Type |
|---|---|
|
|
|
|
Returns
[string, any[]]
Inherited from
JsonRpcProvider.prepareRequest;removeAllListeners(eventName?): this;Defined in: node_modules/@ethersproject/providers/lib/base-provider.d.ts:154
Parameters
| Parameter | Type |
|---|---|
|
|
Returns
this
Inherited from
JsonRpcProvider.removeAllListeners;removeListener(eventName, listener): Provider;Defined in: node_modules/@ethersproject/abstract-provider/lib/index.d.ts:150
Parameters
| Parameter | Type |
|---|---|
|
|
|
|
Returns
Provider
Inherited from
JsonRpcProvider.removeListener;resetEventsBlock(blockNumber): void;Defined in: node_modules/@ethersproject/providers/lib/base-provider.d.ts:97
Parameters
| Parameter | Type |
|---|---|
|
|
Returns
void
Inherited from
JsonRpcProvider.resetEventsBlock;resolveName(name): Promise<null | string>;Defined in: node_modules/@ethersproject/providers/lib/base-provider.d.ts:141
Parameters
| Parameter | Type |
|---|---|
|
|
Returns
Promise<null | string>
Inherited from
JsonRpcProvider.resolveName;send(method, params): Promise<any>;Defined in: aa-sdk/ethers/src/provider-adapter.ts:79
Rewrites the send method to use the account provider's EIP-1193 compliant request method
Parameters
| Parameter | Type | Description |
|---|---|---|
|
| the RPC method to call |
|
| the params required by the RPC method |
Returns
Promise<any>
the result of the RPC call
Overrides
JsonRpcProvider.send;sendTransaction(signedTransaction): Promise<TransactionResponse>;Defined in: node_modules/@ethersproject/providers/lib/base-provider.d.ts:124
Parameters
| Parameter | Type |
|---|---|
|
|
Returns
Promise<TransactionResponse>
Inherited from
JsonRpcProvider.sendTransaction;waitForTransaction(
transactionHash,
confirmations?,
timeout?): Promise<TransactionReceipt>;Defined in: node_modules/@ethersproject/providers/lib/base-provider.d.ts:108
Parameters
| Parameter | Type |
|---|---|
|
|
|
|
|
|
Returns
Promise<TransactionReceipt>
Inherited from
JsonRpcProvider.waitForTransaction;static defaultUrl(): string;Defined in: node_modules/@ethersproject/providers/lib/json-rpc-provider.d.ts:35
Returns
string
Inherited from
JsonRpcProvider.defaultUrl;static fromEthersProvider(provider, chain): EthersProviderAdapter;Defined in: aa-sdk/ethers/src/provider-adapter.ts:139
Creates an instance of EthersProviderAdapter from an ethers.js JsonRpcProvider.
Parameters
| Parameter | Type | Description |
|---|---|---|
|
| the ethers JSON RPC provider to convert |
|
| the chain to connect to |
Returns
EthersProviderAdapter
an instance of EthersProviderAdapter
static getFormatter(): Formatter;Defined in: node_modules/@ethersproject/providers/lib/base-provider.d.ts:92
Returns
Formatter
Inherited from
JsonRpcProvider.getFormatter;static getNetwork(network): Network;Defined in: node_modules/@ethersproject/providers/lib/base-provider.d.ts:93
Parameters
| Parameter | Type |
|---|---|
|
|
Returns
Network
Inherited from
JsonRpcProvider.getNetwork;static hexlifyTransaction(transaction, allowExtra?): object;Defined in: node_modules/@ethersproject/providers/lib/json-rpc-provider.d.ts:47
Parameters
| Parameter | Type |
|---|---|
|
|
| { [ |
Returns
object
Inherited from
JsonRpcProvider.hexlifyTransaction;static isProvider(value): value is Provider;Defined in: node_modules/@ethersproject/abstract-provider/lib/index.d.ts:154
Parameters
| Parameter | Type |
|---|---|
|
|
Returns
value is Provider
Inherited from
JsonRpcProvider.isProvider;