Returns Promise<{
address: `0x${string}`;
attesters: `0x${string}`[];
client: Client;
encodeCalls: ((calls) => Promise<`0x${string}`>);
encodeExecute: ((call) => Promise<`0x${string}`>);
encodeExecuteBatch: ((calls) => Promise<`0x${string}`>);
entryPoint: {
abi: readonly [{
inputs: readonly [{
internalType: "bool";
name: "success";
type: "bool";
}, {
internalType: "bytes";
name: "ret";
type: "bytes";
}];
name: "DelegateAndRevert";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "opIndex";
type: "uint256";
}, {
internalType: "string";
name: "reason";
type: "string";
}];
name: "FailedOp";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "opIndex";
type: "uint256";
}, {
internalType: "string";
name: "reason";
type: "string";
}, {
internalType: "bytes";
name: "inner";
type: "bytes";
}];
name: "FailedOpWithRevert";
type: "error";
}, {
inputs: readonly [{
internalType: "bytes";
name: "returnData";
type: "bytes";
}];
name: "PostOpReverted";
type: "error";
}, {
inputs: readonly [];
name: "ReentrancyGuardReentrantCall";
type: "error";
}, {
inputs: readonly [{
internalType: "address";
name: "sender";
type: "address";
}];
name: "SenderAddressResult";
type: "error";
}, {
inputs: readonly [{
internalType: "address";
name: "aggregator";
type: "address";
}];
name: "SignatureValidationFailed";
type: "error";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "bytes32";
name: "userOpHash";
type: "bytes32";
}, {
indexed: true;
internalType: "address";
name: "sender";
type: "address";
}, {
indexed: false;
internalType: "address";
name: "factory";
type: "address";
}, {
indexed: false;
internalType: "address";
name: "paymaster";
type: "address";
}];
name: "AccountDeployed";
type: "event";
}, {
anonymous: false;
inputs: readonly [];
name: "BeforeExecution";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "account";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "totalDeposit";
type: "uint256";
}];
name: "Deposited";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "bytes32";
name: "userOpHash";
type: "bytes32";
}, {
indexed: true;
internalType: "address";
name: "sender";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "nonce";
type: "uint256";
}, {
indexed: false;
internalType: "bytes";
name: "revertReason";
type: "bytes";
}];
name: "PostOpRevertReason";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "aggregator";
type: "address";
}];
name: "SignatureAggregatorChanged";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "account";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "totalStaked";
type: "uint256";
}, {
indexed: false;
internalType: "uint256";
name: "unstakeDelaySec";
type: "uint256";
}];
name: "StakeLocked";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "account";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "withdrawTime";
type: "uint256";
}];
name: "StakeUnlocked";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "account";
type: "address";
}, {
indexed: false;
internalType: "address";
name: "withdrawAddress";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "amount";
type: "uint256";
}];
name: "StakeWithdrawn";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "bytes32";
name: "userOpHash";
type: "bytes32";
}, {
indexed: true;
internalType: "address";
name: "sender";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "paymaster";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "nonce";
type: "uint256";
}, {
indexed: false;
internalType: "bool";
name: "success";
type: "bool";
}, {
indexed: false;
internalType: "uint256";
name: "actualGasCost";
type: "uint256";
}, {
indexed: false;
internalType: "uint256";
name: "actualGasUsed";
type: "uint256";
}];
name: "UserOperationEvent";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "bytes32";
name: "userOpHash";
type: "bytes32";
}, {
indexed: true;
internalType: "address";
name: "sender";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "nonce";
type: "uint256";
}];
name: "UserOperationPrefundTooLow";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "bytes32";
name: "userOpHash";
type: "bytes32";
}, {
indexed: true;
internalType: "address";
name: "sender";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "nonce";
type: "uint256";
}, {
indexed: false;
internalType: "bytes";
name: "revertReason";
type: "bytes";
}];
name: "UserOperationRevertReason";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "account";
type: "address";
}, {
indexed: false;
internalType: "address";
name: "withdrawAddress";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "amount";
type: "uint256";
}];
name: "Withdrawn";
type: "event";
}, {
inputs: readonly [{
internalType: "uint32";
name: "unstakeDelaySec";
type: "uint32";
}];
name: "addStake";
outputs: readonly [];
stateMutability: "payable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "account";
type: "address";
}];
name: "balanceOf";
outputs: readonly [{
internalType: "uint256";
name: "";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "target";
type: "address";
}, {
internalType: "bytes";
name: "data";
type: "bytes";
}];
name: "delegateAndRevert";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "account";
type: "address";
}];
name: "depositTo";
outputs: readonly [];
stateMutability: "payable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "";
type: "address";
}];
name: "deposits";
outputs: readonly [{
internalType: "uint256";
name: "deposit";
type: "uint256";
}, {
internalType: "bool";
name: "staked";
type: "bool";
}, {
internalType: "uint112";
name: "stake";
type: "uint112";
}, {
internalType: "uint32";
name: "unstakeDelaySec";
type: "uint32";
}, {
internalType: "uint48";
name: "withdrawTime";
type: "uint48";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "account";
type: "address";
}];
name: "getDepositInfo";
outputs: readonly [{
components: readonly [{
internalType: "uint256";
name: "deposit";
type: "uint256";
}, {
internalType: "bool";
name: "staked";
type: "bool";
}, {
internalType: "uint112";
name: "stake";
type: "uint112";
}, {
internalType: "uint32";
name: "unstakeDelaySec";
type: "uint32";
}, {
internalType: "uint48";
name: "withdrawTime";
type: "uint48";
}];
internalType: "struct IStakeManager.DepositInfo";
name: "info";
type: "tuple";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "sender";
type: "address";
}, {
internalType: "uint192";
name: "key";
type: "uint192";
}];
name: "getNonce";
outputs: readonly [{
internalType: "uint256";
name: "nonce";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "bytes";
name: "initCode";
type: "bytes";
}];
name: "getSenderAddress";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
components: readonly [{
internalType: "address";
name: "sender";
type: "address";
}, {
internalType: "uint256";
name: "nonce";
type: "uint256";
}, {
internalType: "bytes";
name: "initCode";
type: "bytes";
}, {
internalType: "bytes";
name: "callData";
type: "bytes";
}, {
internalType: "bytes32";
name: "accountGasLimits";
type: "bytes32";
}, {
internalType: "uint256";
name: "preVerificationGas";
type: "uint256";
}, {
internalType: "bytes32";
name: "gasFees";
type: "bytes32";
}, {
internalType: "bytes";
name: "paymasterAndData";
type: "bytes";
}, {
internalType: "bytes";
name: "signature";
type: "bytes";
}];
internalType: "struct PackedUserOperation";
name: "userOp";
type: "tuple";
}];
name: "getUserOpHash";
outputs: readonly [{
internalType: "bytes32";
name: "";
type: "bytes32";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
components: readonly [{
components: readonly [{
internalType: ...;
name: ...;
type: ...;
}, {
internalType: ...;
name: ...;
type: ...;
}, {
internalType: ...;
name: ...;
type: ...;
}, {
internalType: ...;
name: ...;
type: ...;
}, {
internalType: ...;
name: ...;
type: ...;
}, {
internalType: ...;
name: ...;
type: ...;
}, {
internalType: ...;
name: ...;
type: ...;
}, {
internalType: ...;
name: ...;
type: ...;
}, {
internalType: ...;
name: ...;
type: ...;
}];
internalType: "struct PackedUserOperation[]";
name: "userOps";
type: "tuple[]";
}, {
internalType: "contract IAggregator";
name: "aggregator";
type: "address";
}, {
internalType: "bytes";
name: "signature";
type: "bytes";
}];
internalType: "struct IEntryPoint.UserOpsPerAggregator[]";
name: "opsPerAggregator";
type: "tuple[]";
}, {
internalType: "address payable";
name: "beneficiary";
type: "address";
}];
name: "handleAggregatedOps";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
components: readonly [{
internalType: "address";
name: "sender";
type: "address";
}, {
internalType: "uint256";
name: "nonce";
type: "uint256";
}, {
internalType: "bytes";
name: "initCode";
type: "bytes";
}, {
internalType: "bytes";
name: "callData";
type: "bytes";
}, {
internalType: "bytes32";
name: "accountGasLimits";
type: "bytes32";
}, {
internalType: "uint256";
name: "preVerificationGas";
type: "uint256";
}, {
internalType: "bytes32";
name: "gasFees";
type: "bytes32";
}, {
internalType: "bytes";
name: "paymasterAndData";
type: "bytes";
}, {
internalType: "bytes";
name: "signature";
type: "bytes";
}];
internalType: "struct PackedUserOperation[]";
name: "ops";
type: "tuple[]";
}, {
internalType: "address payable";
name: "beneficiary";
type: "address";
}];
name: "handleOps";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "uint192";
name: "key";
type: "uint192";
}];
name: "incrementNonce";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "bytes";
name: "callData";
type: "bytes";
}, {
components: readonly [{
components: readonly [{
internalType: ...;
name: ...;
type: ...;
}, {
internalType: ...;
name: ...;
type: ...;
}, {
internalType: ...;
name: ...;
type: ...;
}, {
internalType: ...;
name: ...;
type: ...;
}, {
internalType: ...;
name: ...;
type: ...;
}, {
internalType: ...;
name: ...;
type: ...;
}, {
internalType: ...;
name: ...;
type: ...;
}, {
internalType: ...;
name: ...;
type: ...;
}, {
internalType: ...;
name: ...;
type: ...;
}, {
internalType: ...;
name: ...;
type: ...;
}];
internalType: "struct EntryPoint.MemoryUserOp";
name: "mUserOp";
type: "tuple";
}, {
internalType: "bytes32";
name: "userOpHash";
type: "bytes32";
}, {
internalType: "uint256";
name: "prefund";
type: "uint256";
}, {
internalType: "uint256";
name: "contextOffset";
type: "uint256";
}, {
internalType: "uint256";
name: "preOpGas";
type: "uint256";
}];
internalType: "struct EntryPoint.UserOpInfo";
name: "opInfo";
type: "tuple";
}, {
internalType: "bytes";
name: "context";
type: "bytes";
}];
name: "innerHandleOp";
outputs: readonly [{
internalType: "uint256";
name: "actualGasCost";
type: "uint256";
}];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "";
type: "address";
}, {
internalType: "uint192";
name: "";
type: "uint192";
}];
name: "nonceSequenceNumber";
outputs: readonly [{
internalType: "uint256";
name: "";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "bytes4";
name: "interfaceId";
type: "bytes4";
}];
name: "supportsInterface";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "unlockStake";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address payable";
name: "withdrawAddress";
type: "address";
}];
name: "withdrawStake";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address payable";
name: "withdrawAddress";
type: "address";
}, {
internalType: "uint256";
name: "withdrawAmount";
type: "uint256";
}];
name: "withdrawTo";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
stateMutability: "payable";
type: "receive";
}];
address: `0x${string}`;
version: "0.7";
};
extend?: {
attesters: `0x${string}`[];
encodeExecute: ((call) => Promise<`0x${string}`>);
encodeExecuteBatch: ((calls) => Promise<`0x${string}`>);
factoryAddress: `0x${string}`;
factoryData: `0x${string}`;
getCounterFactualAddress: (() => Promise<`0x${string}`>);
getInitCode: (() => `0x${string}`);
getModule: (() => Assign_<BaseModule, undefined | object> & object);
getUserOpHash: ((userOp) => `0x${string}`);
isDeployed: (() => Promise<boolean>);
publicClient: {
account: undefined;
batch?: {
multicall?: boolean | {
batchSize?: number;
wait?: number;
};
};
cacheTime: number;
call: ((parameters) => Promise<CallReturnType>);
ccipRead?: false | {
request?: ((parameters) => Promise<`0x${(...)}`>);
};
chain: undefined | Chain;
createBlockFilter: (() => Promise<{
id: `0x${string}`;
request: EIP1193RequestFn<readonly [{
Method: ...;
Parameters: ...;
ReturnType: ...;
}, {
Method: ...;
Parameters: ...;
ReturnType: ...;
}, {
Method: ...;
Parameters: ...;
ReturnType: ...;
}]>;
type: "block";
}>);
createContractEventFilter: (<const abi, eventName, args, strict, fromBlock, toBlock>(args) => Promise<CreateContractEventFilterReturnType<abi, eventName, args, strict, fromBlock, toBlock>>);
createEventFilter: (<const abiEvent, const abiEvents, strict, fromBlock, toBlock, _EventName, _Args>(args?) => Promise<{
[K in string | number | symbol]: Filter<"event", abiEvents, _EventName, _Args, strict, fromBlock, toBlock>[K]
}>);
createPendingTransactionFilter: (() => Promise<{
id: `0x${string}`;
request: EIP1193RequestFn<readonly [{
Method: ...;
Parameters: ...;
ReturnType: ...;
}, {
Method: ...;
Parameters: ...;
ReturnType: ...;
}, {
Method: ...;
Parameters: ...;
ReturnType: ...;
}]>;
type: "transaction";
}>);
estimateContractGas: (<chain, const abi, functionName, args>(args) => Promise<bigint>);
estimateFeesPerGas: (<chainOverride, type>(args?) => Promise<EstimateFeesPerGasReturnType<type>>);
estimateGas: ((args) => Promise<bigint>);
estimateMaxPriorityFeePerGas: (<chainOverride>(args?) => Promise<bigint>);
extend: (<const client>(fn) => Client<Transport, undefined | Chain, undefined, PublicRpcSchema, {
[K in string | number | symbol]: client[K]
} & PublicActions<Transport, undefined | Chain>>);
getBalance: ((args) => Promise<bigint>);
getBlobBaseFee: (() => Promise<bigint>);
getBlock: (<includeTransactions, blockTag>(args?) => Promise<{
baseFeePerGas: null | bigint;
blobGasUsed: bigint;
difficulty: bigint;
excessBlobGas: bigint;
extraData: `0x${string}`;
gasLimit: bigint;
gasUsed: bigint;
hash: blockTag extends "pending"
? null
: `0x${string}`;
logsBloom: blockTag extends "pending"
? null
: `0x${string}`;
miner: `0x${string}`;
mixHash: `0x${string}`;
nonce: blockTag extends "pending"
? null
: `0x${string}`;
number: blockTag extends "pending"
? null
: bigint;
parentHash: `0x${string}`;
receiptsRoot: `0x${string}`;
sealFields: `0x${string}`[];
sha3Uncles: `0x${string}`;
size: bigint;
stateRoot: `0x${string}`;
timestamp: bigint;
totalDifficulty: null | bigint;
transactions: includeTransactions extends true
? ((...) | (...) | (...) | (...) | (...))[]
: `0x${(...)}`[];
transactionsRoot: `0x${string}`;
uncles: `0x${string}`[];
withdrawals?: Withdrawal[];
withdrawalsRoot?: `0x${string}`;
}>);
getBlockNumber: ((args?) => Promise<bigint>);
getBlockTransactionCount: ((args?) => Promise<number>);
getBytecode: ((args) => Promise<GetCodeReturnType>);
getChainId: (() => Promise<number>);
getCode: ((args) => Promise<GetCodeReturnType>);
getContractEvents: (<const abi, eventName, strict, fromBlock, toBlock>(args) => Promise<GetContractEventsReturnType<abi, eventName, strict, fromBlock, toBlock>>);
getEip712Domain: ((args) => Promise<GetEip712DomainReturnType>);
getEnsAddress: ((args) => Promise<GetEnsAddressReturnType>);
getEnsAvatar: ((args) => Promise<GetEnsAvatarReturnType>);
getEnsName: ((args) => Promise<GetEnsNameReturnType>);
getEnsResolver: ((args) => Promise<`0x${string}`>);
getEnsText: ((args) => Promise<GetEnsTextReturnType>);
getFeeHistory: ((args) => Promise<GetFeeHistoryReturnType>);
getFilterChanges: (<filterType, const abi, eventName, strict, fromBlock, toBlock>(args) => Promise<GetFilterChangesReturnType<filterType, abi, eventName, strict, fromBlock, toBlock>>);
getFilterLogs: (<const abi, eventName, strict, fromBlock, toBlock>(args) => Promise<GetFilterLogsReturnType<abi, eventName, strict, fromBlock, toBlock>>);
getGasPrice: (() => Promise<bigint>);
getLogs: (<const abiEvent, const abiEvents, strict, fromBlock, toBlock>(args?) => Promise<GetLogsReturnType<abiEvent, abiEvents, strict, fromBlock, toBlock>>);
getProof: ((args) => Promise<GetProofReturnType>);
getStorageAt: ((args) => Promise<GetStorageAtReturnType>);
getTransaction: (<blockTag>(args) => Promise<{
accessList?: undefined;
authorizationList?: undefined;
blobVersionedHashes?: undefined;
blockHash: ((...) extends (...)
? (...)
: (...)) extends true
? null
: `0x${(...)}`;
blockNumber: ((...) extends (...)
? (...)
: (...)) extends true
? null
: bigint;
chainId?: number;
from: `0x${string}`;
gas: bigint;
gasPrice: bigint;
hash: `0x${string}`;
input: `0x${string}`;
maxFeePerBlobGas?: undefined;
maxFeePerGas?: undefined;
maxPriorityFeePerGas?: undefined;
nonce: number;
r: `0x${string}`;
s: `0x${string}`;
to: null | `0x${(...)}`;
transactionIndex: ((...) extends (...)
? (...)
: (...)) extends true
? null
: number;
type: "legacy";
typeHex: null | `0x${(...)}`;
v: bigint;
value: bigint;
yParity?: undefined;
} | {
accessList: AccessList;
authorizationList?: undefined;
blobVersionedHashes?: undefined;
blockHash: ((...) extends (...)
? (...)
: (...)) extends true
? null
: `0x${(...)}`;
blockNumber: ((...) extends (...)
? (...)
: (...)) extends true
? null
: bigint;
chainId: number;
from: `0x${string}`;
gas: bigint;
gasPrice: bigint;
hash: `0x${string}`;
input: `0x${string}`;
maxFeePerBlobGas?: undefined;
maxFeePerGas?: undefined;
maxPriorityFeePerGas?: undefined;
nonce: number;
r: `0x${string}`;
s: `0x${string}`;
to: null | `0x${(...)}`;
transactionIndex: ((...) extends (...)
? (...)
: (...)) extends true
? null
: number;
type: "eip2930";
typeHex: null | `0x${(...)}`;
v: bigint;
value: bigint;
yParity: number;
} | {
accessList: AccessList;
authorizationList?: undefined;
blobVersionedHashes?: undefined;
blockHash: ((...) extends (...)
? (...)
: (...)) extends true
? null
: `0x${(...)}`;
blockNumber: ((...) extends (...)
? (...)
: (...)) extends true
? null
: bigint;
chainId: number;
from: `0x${string}`;
gas: bigint;
gasPrice?: undefined;
hash: `0x${string}`;
input: `0x${string}`;
maxFeePerBlobGas?: undefined;
maxFeePerGas: bigint;
maxPriorityFeePerGas: bigint;
nonce: number;
r: `0x${string}`;
s: `0x${string}`;
to: null | `0x${(...)}`;
transactionIndex: ((...) extends (...)
? (...)
: (...)) extends true
? null
: number;
type: "eip1559";
typeHex: null | `0x${(...)}`;
v: bigint;
value: bigint;
yParity: number;
} | {
accessList: AccessList;
authorizationList?: undefined;
blobVersionedHashes: readonly `0x${(...)}`[];
blockHash: ((...) extends (...)
? (...)
: (...)) extends true
? null
: `0x${(...)}`;
blockNumber: ((...) extends (...)
? (...)
: (...)) extends true
? null
: bigint;
chainId: number;
from: `0x${string}`;
gas: bigint;
gasPrice?: undefined;
hash: `0x${string}`;
input: `0x${string}`;
maxFeePerBlobGas: bigint;
maxFeePerGas: bigint;
maxPriorityFeePerGas: bigint;
nonce: number;
r: `0x${string}`;
s: `0x${string}`;
to: null | `0x${(...)}`;
transactionIndex: ((...) extends (...)
? (...)
: (...)) extends true
? null
: number;
type: "eip4844";
typeHex: null | `0x${(...)}`;
v: bigint;
value: bigint;
yParity: number;
} | {
accessList: AccessList;
authorizationList: SignedAuthorizationList;
blobVersionedHashes?: undefined;
blockHash: ((...) extends (...)
? (...)
: (...)) extends true
? null
: `0x${(...)}`;
blockNumber: ((...) extends (...)
? (...)
: (...)) extends true
? null
: bigint;
chainId: number;
from: `0x${string}`;
gas: bigint;
gasPrice?: undefined;
hash: `0x${string}`;
input: `0x${string}`;
maxFeePerBlobGas?: undefined;
maxFeePerGas: bigint;
maxPriorityFeePerGas: bigint;
nonce: number;
r: `0x${string}`;
s: `0x${string}`;
to: null | `0x${(...)}`;
transactionIndex: ((...) extends (...)
? (...)
: (...)) extends true
? null
: number;
type: "eip7702";
typeHex: null | `0x${(...)}`;
v: bigint;
value: bigint;
yParity: number;
}>);
getTransactionConfirmations: ((args) => Promise<bigint>);
getTransactionCount: ((args) => Promise<number>);
getTransactionReceipt: ((args) => Promise<TransactionReceipt>);
key: string;
multicall: (<const contracts, allowFailure>(args) => Promise<MulticallReturnType<contracts, allowFailure>>);
name: string;
pollingInterval: number;
prepareTransactionRequest: (<const request, chainOverride, accountOverride>(args) => Promise<{
[K in string | number | symbol]: (UnionRequiredBy<(...), (...)> & ((...) extends (...)
? (...)
: (...)))[K]
}>);
readContract: (<const abi, functionName, args>(args) => Promise<ReadContractReturnType<abi, functionName, args>>);
request: EIP1193RequestFn<PublicRpcSchema>;
sendRawTransaction: ((args) => Promise<`0x${string}`>);
simulateContract: (<const abi, functionName, args, chainOverride, accountOverride>(args) => Promise<SimulateContractReturnType<abi, functionName, args, undefined | Chain, undefined | Account, chainOverride, accountOverride>>);
transport: TransportConfig<string, EIP1193RequestFn> & Record<string, any>;
type: string;
uid: string;
uninstallFilter: ((args) => Promise<boolean>);
verifyMessage: ((args) => Promise<boolean>);
verifySiweMessage: ((args) => Promise<boolean>);
verifyTypedData: ((args) => Promise<boolean>);
waitForTransactionReceipt: ((args) => Promise<TransactionReceipt>);
watchBlockNumber: ((args) => WatchBlockNumberReturnType);
watchBlocks: (<includeTransactions, blockTag>(args) => WatchBlocksReturnType);
watchContractEvent: (<const abi, eventName, strict>(args) => WatchContractEventReturnType);
watchEvent: (<const abiEvent, const abiEvents, strict>(args) => WatchEventReturnType);
watchPendingTransactions: ((args) => WatchPendingTransactionsReturnType);
};
setModule: ((validationModule) => void);
signer: {
address: `0x${string}`;
experimental_signAuthorization?: ((parameters) => Promise<SignAuthorizationReturnType>);
nonceManager?: NonceManager;
publicKey: `0x${string}`;
sign?: ((parameters) => Promise<`0x${string}`>);
signMessage: ((__namedParameters) => Promise<`0x${string}`>);
signTransaction: (<serializer, transaction>(transaction, options?) => Promise<IsNarrowable<TransactionSerialized<GetTransactionType<(...)>>, `0x${string}`> extends true
? TransactionSerialized<GetTransactionType<transaction>>
: `0x${string}`>);
signTypedData: (<const typedData, primaryType>(parameters) => Promise<`0x${string}`>);
source: string;
type: "local";
};
useTestBundler: boolean;
validatorAddress: `0x${string}`;
walletClient: {
account: undefined | Account;
addChain: ((args) => Promise<void>);
batch?: {
multicall?: boolean | {
batchSize?: number;
wait?: number;
};
};
cacheTime: number;
ccipRead?: false | {
request?: ((parameters) => Promise<`0x${(...)}`>);
};
chain: undefined | Chain;
deployContract: (<const abi, chainOverride>(args) => Promise<`0x${string}`>);
extend: (<const client>(fn) => Client<Transport, undefined | Chain, undefined | Account, WalletRpcSchema, {
[K in string | number | symbol]: client[K]
} & WalletActions<undefined | Chain, undefined | Account>>);
getAddresses: (() => Promise<GetAddressesReturnType>);
getChainId: (() => Promise<number>);
getPermissions: (() => Promise<GetPermissionsReturnType>);
key: string;
name: string;
pollingInterval: number;
prepareTransactionRequest: (<const request, chainOverride, accountOverride>(args) => Promise<{
[K in string | number | symbol]: (UnionRequiredBy<(...), (...)> & ((...) extends (...)
? (...)
: (...)))[K]
}>);
request: EIP1193RequestFn<WalletRpcSchema>;
requestAddresses: (() => Promise<RequestAddressesReturnType>);
requestPermissions: ((args) => Promise<RequestPermissionsReturnType>);
sendRawTransaction: ((args) => Promise<`0x${string}`>);
sendTransaction: (<const request, chainOverride>(args) => Promise<`0x${string}`>);
signMessage: ((args) => Promise<`0x${string}`>);
signTransaction: (<chainOverride>(args) => Promise<`0x02${string}` | `0x01${string}` | `0x03${string}` | `0x04${string}` | TransactionSerializedLegacy>);
signTypedData: (<const typedData, primaryType>(args) => Promise<`0x${string}`>);
switchChain: ((args) => Promise<void>);
transport: TransportConfig<string, EIP1193RequestFn> & Record<string, any>;
type: string;
uid: string;
watchAsset: ((args) => Promise<boolean>);
writeContract: (<const abi, functionName, args, chainOverride>(args) => Promise<`0x${string}`>);
};
};
factoryAddress: `0x${string}`;
factoryData: `0x${string}`;
getAddress: (() => Promise<`0x${string}`>);
getCounterFactualAddress: (() => Promise<`0x${string}`>);
getFactoryArgs: (() => Promise<{
factory?: `0x${string}`;
factoryData?: `0x${string}`;
}>);
getInitCode: (() => `0x${string}`);
getModule: (() => Assign_<BaseModule, undefined | object> & object);
getNonce: ((parameters?) => Promise<bigint>);
getStubSignature: (() => Promise<`0x${string}`>);
getUserOpHash: ((userOp) => `0x${string}`);
isDeployed: (() => Promise<boolean>);
nonceKeyManager?: NonceManager;
publicClient: {
account: undefined;
batch?: {
multicall?: boolean | {
batchSize?: number;
wait?: number;
};
};
cacheTime: number;
call: ((parameters) => Promise<CallReturnType>);
ccipRead?: false | {
request?: ((parameters) => Promise<`0x${string}`>);
};
chain: undefined | Chain;
createBlockFilter: (() => Promise<{
id: `0x${string}`;
request: EIP1193RequestFn<readonly [{
Method: "eth_getFilterChanges";
Parameters: [filterId: `0x${(...)}`];
ReturnType: (...)[] | (...)[];
}, {
Method: "eth_getFilterLogs";
Parameters: [filterId: `0x${(...)}`];
ReturnType: RpcLog[];
}, {
Method: "eth_uninstallFilter";
Parameters: [filterId: `0x${(...)}`];
ReturnType: boolean;
}]>;
type: "block";
}>);
createContractEventFilter: (<const abi, eventName, args, strict, fromBlock, toBlock>(args) => Promise<CreateContractEventFilterReturnType<abi, eventName, args, strict, fromBlock, toBlock>>);
createEventFilter: (<const abiEvent, const abiEvents, strict, fromBlock, toBlock, _EventName, _Args>(args?) => Promise<{
[K in string | number | symbol]: Filter<"event", abiEvents, _EventName, _Args, strict, fromBlock, toBlock>[K]
}>);
createPendingTransactionFilter: (() => Promise<{
id: `0x${string}`;
request: EIP1193RequestFn<readonly [{
Method: "eth_getFilterChanges";
Parameters: [filterId: `0x${(...)}`];
ReturnType: (...)[] | (...)[];
}, {
Method: "eth_getFilterLogs";
Parameters: [filterId: `0x${(...)}`];
ReturnType: RpcLog[];
}, {
Method: "eth_uninstallFilter";
Parameters: [filterId: `0x${(...)}`];
ReturnType: boolean;
}]>;
type: "transaction";
}>);
estimateContractGas: (<chain, const abi, functionName, args>(args) => Promise<bigint>);
estimateFeesPerGas: (<chainOverride, type>(args?) => Promise<EstimateFeesPerGasReturnType<type>>);
estimateGas: ((args) => Promise<bigint>);
estimateMaxPriorityFeePerGas: (<chainOverride>(args?) => Promise<bigint>);
extend: (<const client>(fn) => Client<Transport, undefined | Chain, undefined, PublicRpcSchema, {
[K in string | number | symbol]: client[K]
} & PublicActions<Transport, undefined | Chain>>);
getBalance: ((args) => Promise<bigint>);
getBlobBaseFee: (() => Promise<bigint>);
getBlock: (<includeTransactions, blockTag>(args?) => Promise<{
baseFeePerGas: null | bigint;
blobGasUsed: bigint;
difficulty: bigint;
excessBlobGas: bigint;
extraData: `0x${string}`;
gasLimit: bigint;
gasUsed: bigint;
hash: blockTag extends "pending"
? null
: `0x${string}`;
logsBloom: blockTag extends "pending"
? null
: `0x${string}`;
miner: `0x${string}`;
mixHash: `0x${string}`;
nonce: blockTag extends "pending"
? null
: `0x${string}`;
number: blockTag extends "pending"
? null
: bigint;
parentHash: `0x${string}`;
receiptsRoot: `0x${string}`;
sealFields: `0x${string}`[];
sha3Uncles: `0x${string}`;
size: bigint;
stateRoot: `0x${string}`;
timestamp: bigint;
totalDifficulty: null | bigint;
transactions: includeTransactions extends true
? ({
accessList?: undefined;
authorizationList?: undefined;
blobVersionedHashes?: undefined;
blockHash: (...) extends (...)
? (...)
: (...);
blockNumber: (...) extends (...)
? (...)
: (...);
chainId?: (...) | (...);
from: `0x${(...)}`;
gas: bigint;
gasPrice: bigint;
hash: `0x${(...)}`;
input: `0x${(...)}`;
maxFeePerBlobGas?: undefined;
maxFeePerGas?: undefined;
maxPriorityFeePerGas?: undefined;
nonce: number;
r: `0x${(...)}`;
s: `0x${(...)}`;
to: (...) | (...);
transactionIndex: (...) extends (...)
? (...)
: (...);
type: "legacy";
typeHex: (...) | (...);
v: bigint;
value: bigint;
yParity?: undefined;
} | {
accessList: AccessList;
authorizationList?: undefined;
blobVersionedHashes?: undefined;
blockHash: (...) extends (...)
? (...)
: (...);
blockNumber: (...) extends (...)
? (...)
: (...);
chainId: number;
from: `0x${(...)}`;
gas: bigint;
gasPrice: bigint;
hash: `0x${(...)}`;
input: `0x${(...)}`;
maxFeePerBlobGas?: undefined;
maxFeePerGas?: undefined;
maxPriorityFeePerGas?: undefined;
nonce: number;
r: `0x${(...)}`;
s: `0x${(...)}`;
to: (...) | (...);
transactionIndex: (...) extends (...)
? (...)
: (...);
type: "eip2930";
typeHex: (...) | (...);
v: bigint;
value: bigint;
yParity: number;
} | {
accessList: AccessList;
authorizationList?: undefined;
blobVersionedHashes?: undefined;
blockHash: (...) extends (...)
? (...)
: (...);
blockNumber: (...) extends (...)
? (...)
: (...);
chainId: number;
from: `0x${(...)}`;
gas: bigint;
gasPrice?: undefined;
hash: `0x${(...)}`;
input: `0x${(...)}`;
maxFeePerBlobGas?: undefined;
maxFeePerGas: bigint;
maxPriorityFeePerGas: bigint;
nonce: number;
r: `0x${(...)}`;
s: `0x${(...)}`;
to: (...) | (...);
transactionIndex: (...) extends (...)
? (...)
: (...);
type: "eip1559";
typeHex: (...) | (...);
v: bigint;
value: bigint;
yParity: number;
} | {
accessList: AccessList;
authorizationList?: undefined;
blobVersionedHashes: readonly (...)[];
blockHash: (...) extends (...)
? (...)
: (...);
blockNumber: (...) extends (...)
? (...)
: (...);
chainId: number;
from: `0x${(...)}`;
gas: bigint;
gasPrice?: undefined;
hash: `0x${(...)}`;
input: `0x${(...)}`;
maxFeePerBlobGas: bigint;
maxFeePerGas: bigint;
maxPriorityFeePerGas: bigint;
nonce: number;
r: `0x${(...)}`;
s: `0x${(...)}`;
to: (...) | (...);
transactionIndex: (...) extends (...)
? (...)
: (...);
type: "eip4844";
typeHex: (...) | (...);
v: bigint;
value: bigint;
yParity: number;
} | {
accessList: AccessList;
authorizationList: SignedAuthorizationList;
blobVersionedHashes?: undefined;
blockHash: (...) extends (...)
? (...)
: (...);
blockNumber: (...) extends (...)
? (...)
: (...);
chainId: number;
from: `0x${(...)}`;
gas: bigint;
gasPrice?: undefined;
hash: `0x${(...)}`;
input: `0x${(...)}`;
maxFeePerBlobGas?: undefined;
maxFeePerGas: bigint;
maxPriorityFeePerGas: bigint;
nonce: number;
r: `0x${(...)}`;
s: `0x${(...)}`;
to: (...) | (...);
transactionIndex: (...) extends (...)
? (...)
: (...);
type: "eip7702";
typeHex: (...) | (...);
v: bigint;
value: bigint;
yParity: number;
})[]
: `0x${string}`[];
transactionsRoot: `0x${string}`;
uncles: `0x${string}`[];
withdrawals?: Withdrawal[];
withdrawalsRoot?: `0x${string}`;
}>);
getBlockNumber: ((args?) => Promise<bigint>);
getBlockTransactionCount: ((args?) => Promise<number>);
getBytecode: ((args) => Promise<GetCodeReturnType>);
getChainId: (() => Promise<number>);
getCode: ((args) => Promise<GetCodeReturnType>);
getContractEvents: (<const abi, eventName, strict, fromBlock, toBlock>(args) => Promise<GetContractEventsReturnType<abi, eventName, strict, fromBlock, toBlock>>);
getEip712Domain: ((args) => Promise<GetEip712DomainReturnType>);
getEnsAddress: ((args) => Promise<GetEnsAddressReturnType>);
getEnsAvatar: ((args) => Promise<GetEnsAvatarReturnType>);
getEnsName: ((args) => Promise<GetEnsNameReturnType>);
getEnsResolver: ((args) => Promise<`0x${string}`>);
getEnsText: ((args) => Promise<GetEnsTextReturnType>);
getFeeHistory: ((args) => Promise<GetFeeHistoryReturnType>);
getFilterChanges: (<filterType, const abi, eventName, strict, fromBlock, toBlock>(args) => Promise<GetFilterChangesReturnType<filterType, abi, eventName, strict, fromBlock, toBlock>>);
getFilterLogs: (<const abi, eventName, strict, fromBlock, toBlock>(args) => Promise<GetFilterLogsReturnType<abi, eventName, strict, fromBlock, toBlock>>);
getGasPrice: (() => Promise<bigint>);
getLogs: (<const abiEvent, const abiEvents, strict, fromBlock, toBlock>(args?) => Promise<GetLogsReturnType<abiEvent, abiEvents, strict, fromBlock, toBlock>>);
getProof: ((args) => Promise<GetProofReturnType>);
getStorageAt: ((args) => Promise<GetStorageAtReturnType>);
getTransaction: (<blockTag>(args) => Promise<{
accessList?: undefined;
authorizationList?: undefined;
blobVersionedHashes?: undefined;
blockHash: (blockTag extends "pending"
? true
: false) extends true
? null
: `0x${string}`;
blockNumber: (blockTag extends "pending"
? true
: false) extends true
? null
: bigint;
chainId?: number;
from: `0x${string}`;
gas: bigint;
gasPrice: bigint;
hash: `0x${string}`;
input: `0x${string}`;
maxFeePerBlobGas?: undefined;
maxFeePerGas?: undefined;
maxPriorityFeePerGas?: undefined;
nonce: number;
r: `0x${string}`;
s: `0x${string}`;
to: null | `0x${string}`;
transactionIndex: (blockTag extends "pending"
? true
: false) extends true
? null
: number;
type: "legacy";
typeHex: null | `0x${string}`;
v: bigint;
value: bigint;
yParity?: undefined;
} | {
accessList: AccessList;
authorizationList?: undefined;
blobVersionedHashes?: undefined;
blockHash: (blockTag extends "pending"
? true
: false) extends true
? null
: `0x${string}`;
blockNumber: (blockTag extends "pending"
? true
: false) extends true
? null
: bigint;
chainId: number;
from: `0x${string}`;
gas: bigint;
gasPrice: bigint;
hash: `0x${string}`;
input: `0x${string}`;
maxFeePerBlobGas?: undefined;
maxFeePerGas?: undefined;
maxPriorityFeePerGas?: undefined;
nonce: number;
r: `0x${string}`;
s: `0x${string}`;
to: null | `0x${string}`;
transactionIndex: (blockTag extends "pending"
? true
: false) extends true
? null
: number;
type: "eip2930";
typeHex: null | `0x${string}`;
v: bigint;
value: bigint;
yParity: number;
} | {
accessList: AccessList;
authorizationList?: undefined;
blobVersionedHashes?: undefined;
blockHash: (blockTag extends "pending"
? true
: false) extends true
? null
: `0x${string}`;
blockNumber: (blockTag extends "pending"
? true
: false) extends true
? null
: bigint;
chainId: number;
from: `0x${string}`;
gas: bigint;
gasPrice?: undefined;
hash: `0x${string}`;
input: `0x${string}`;
maxFeePerBlobGas?: undefined;
maxFeePerGas: bigint;
maxPriorityFeePerGas: bigint;
nonce: number;
r: `0x${string}`;
s: `0x${string}`;
to: null | `0x${string}`;
transactionIndex: (blockTag extends "pending"
? true
: false) extends true
? null
: number;
type: "eip1559";
typeHex: null | `0x${string}`;
v: bigint;
value: bigint;
yParity: number;
} | {
accessList: AccessList;
authorizationList?: undefined;
blobVersionedHashes: readonly `0x${string}`[];
blockHash: (blockTag extends "pending"
? true
: false) extends true
? null
: `0x${string}`;
blockNumber: (blockTag extends "pending"
? true
: false) extends true
? null
: bigint;
chainId: number;
from: `0x${string}`;
gas: bigint;
gasPrice?: undefined;
hash: `0x${string}`;
input: `0x${string}`;
maxFeePerBlobGas: bigint;
maxFeePerGas: bigint;
maxPriorityFeePerGas: bigint;
nonce: number;
r: `0x${string}`;
s: `0x${string}`;
to: null | `0x${string}`;
transactionIndex: (blockTag extends "pending"
? true
: false) extends true
? null
: number;
type: "eip4844";
typeHex: null | `0x${string}`;
v: bigint;
value: bigint;
yParity: number;
} | {
accessList: AccessList;
authorizationList: SignedAuthorizationList;
blobVersionedHashes?: undefined;
blockHash: (blockTag extends "pending"
? true
: false) extends true
? null
: `0x${string}`;
blockNumber: (blockTag extends "pending"
? true
: false) extends true
? null
: bigint;
chainId: number;
from: `0x${string}`;
gas: bigint;
gasPrice?: undefined;
hash: `0x${string}`;
input: `0x${string}`;
maxFeePerBlobGas?: undefined;
maxFeePerGas: bigint;
maxPriorityFeePerGas: bigint;
nonce: number;
r: `0x${string}`;
s: `0x${string}`;
to: null | `0x${string}`;
transactionIndex: (blockTag extends "pending"
? true
: false) extends true
? null
: number;
type: "eip7702";
typeHex: null | `0x${string}`;
v: bigint;
value: bigint;
yParity: number;
}>);
getTransactionConfirmations: ((args) => Promise<bigint>);
getTransactionCount: ((args) => Promise<number>);
getTransactionReceipt: ((args) => Promise<TransactionReceipt>);
key: string;
multicall: (<const contracts, allowFailure>(args) => Promise<MulticallReturnType<contracts, allowFailure>>);
name: string;
pollingInterval: number;
prepareTransactionRequest: (<const request, chainOverride, accountOverride>(args) => Promise<{
[K in string | number | symbol]: (UnionRequiredBy<Extract<(...), (...)> & {
chainId?: ...;
}, ParameterTypeToParameters<(...) extends (...)
? (...)
: (...)>> & (unknown extends request["kzg"]
? {}
: Pick<request, "kzg">))[K]
}>);
readContract: (<const abi, functionName, args>(args) => Promise<ReadContractReturnType<abi, functionName, args>>);
request: EIP1193RequestFn<PublicRpcSchema>;
sendRawTransaction: ((args) => Promise<`0x${string}`>);
simulateContract: (<const abi, functionName, args, chainOverride, accountOverride>(args) => Promise<SimulateContractReturnType<abi, functionName, args, undefined | Chain, undefined | Account, chainOverride, accountOverride>>);
transport: TransportConfig<string, EIP1193RequestFn> & Record<string, any>;
type: string;
uid: string;
uninstallFilter: ((args) => Promise<boolean>);
verifyMessage: ((args) => Promise<boolean>);
verifySiweMessage: ((args) => Promise<boolean>);
verifyTypedData: ((args) => Promise<boolean>);
waitForTransactionReceipt: ((args) => Promise<TransactionReceipt>);
watchBlockNumber: ((args) => WatchBlockNumberReturnType);
watchBlocks: (<includeTransactions, blockTag>(args) => WatchBlocksReturnType);
watchContractEvent: (<const abi, eventName, strict>(args) => WatchContractEventReturnType);
watchEvent: (<const abiEvent, const abiEvents, strict>(args) => WatchEventReturnType);
watchPendingTransactions: ((args) => WatchPendingTransactionsReturnType);
};
setModule: ((validationModule) => void);
sign?: ((parameters) => Promise<`0x${string}`>);
signMessage: ((parameters) => Promise<`0x${string}`>);
signTypedData: (<const typedData, primaryType>(parameters) => Promise<`0x${string}`>);
signUserOperation: ((parameters) => Promise<`0x${string}`>);
signer: {
address: `0x${string}`;
experimental_signAuthorization?: ((parameters) => Promise<SignAuthorizationReturnType>);
nonceManager?: NonceManager;
publicKey: `0x${string}`;
sign?: ((parameters) => Promise<`0x${string}`>);
signMessage: ((__namedParameters) => Promise<`0x${string}`>);
signTransaction: (<serializer, transaction>(transaction, options?) => Promise<IsNarrowable<TransactionSerialized<GetTransactionType<transaction>>, `0x${string}`> extends true
? TransactionSerialized<GetTransactionType<transaction>>
: `0x${string}`>);
signTypedData: (<const typedData, primaryType>(parameters) => Promise<`0x${string}`>);
source: string;
type: "local";
};
type: "smart";
useTestBundler: boolean;
userOperation?: {
estimateGas?: ((userOperation) => Promise<undefined | ExactPartial<EstimateUserOperationGasReturnType>>);
};
validatorAddress: `0x${string}`;
walletClient: {
account: undefined | Account;
addChain: ((args) => Promise<void>);
batch?: {
multicall?: boolean | {
batchSize?: number;
wait?: number;
};
};
cacheTime: number;
ccipRead?: false | {
request?: ((parameters) => Promise<`0x${string}`>);
};
chain: undefined | Chain;
deployContract: (<const abi, chainOverride>(args) => Promise<`0x${string}`>);
extend: (<const client>(fn) => Client<Transport, undefined | Chain, undefined | Account, WalletRpcSchema, {
[K in string | number | symbol]: client[K]
} & WalletActions<undefined | Chain, undefined | Account>>);
getAddresses: (() => Promise<GetAddressesReturnType>);
getChainId: (() => Promise<number>);
getPermissions: (() => Promise<GetPermissionsReturnType>);
key: string;
name: string;
pollingInterval: number;
prepareTransactionRequest: (<const request, chainOverride, accountOverride>(args) => Promise<{
[K in string | number | symbol]: (UnionRequiredBy<Extract<(...), (...)> & {
chainId?: ...;
}, ParameterTypeToParameters<(...) extends (...)
? (...)
: (...)>> & (unknown extends request["kzg"]
? {}
: Pick<request, "kzg">))[K]
}>);
request: EIP1193RequestFn<WalletRpcSchema>;
requestAddresses: (() => Promise<RequestAddressesReturnType>);
requestPermissions: ((args) => Promise<RequestPermissionsReturnType>);
sendRawTransaction: ((args) => Promise<`0x${string}`>);
sendTransaction: (<const request, chainOverride>(args) => Promise<`0x${string}`>);
signMessage: ((args) => Promise<`0x${string}`>);
signTransaction: (<chainOverride>(args) => Promise<`0x02${string}` | `0x01${string}` | `0x03${string}` | `0x04${string}` | TransactionSerializedLegacy>);
signTypedData: (<const typedData, primaryType>(args) => Promise<`0x${string}`>);
switchChain: ((args) => Promise<void>);
transport: TransportConfig<string, EIP1193RequestFn> & Record<string, any>;
type: string;
uid: string;
watchAsset: ((args) => Promise<boolean>);
writeContract: (<const abi, functionName, args, chainOverride>(args) => Promise<`0x${string}`>);
};
}>
Nexus Smart Account. NexusAccount
ToNexusSmartAccountParameters