Function createBicoBundlerClient
- createBicoBundlerClient(parameters): {
account: undefined | object & Assign_<SmartAccountImplementation<Abi, EntryPointVersion, object>, {
address: `0x${string}`;
getNonce: ((parameters?) => Promise<bigint>);
isDeployed: (() => Promise<boolean>);
type: "smart";
}> & {
address: `0x${string}`;
getNonce: ((parameters?) => Promise<bigint>);
isDeployed: (() => Promise<boolean>);
type: "smart";
};
batch?: {
multicall?: boolean | {
batchSize?: number;
wait?: number;
};
};
cacheTime: number;
ccipRead?: false | {
request?: ((parameters) => Promise<`0x${string}`>);
};
chain: undefined | Chain;
estimateUserOperationGas: (<const calls, accountOverride>(parameters) => Promise<EstimateUserOperationGasReturnType<undefined | object & Assign_<SmartAccountImplementation<Abi, EntryPointVersion, object>, {
address: `0x${string}`;
getNonce: ((parameters?) => Promise<bigint>);
isDeployed: (() => Promise<boolean>);
type: "smart";
}> & {
address: `0x${string}`;
getNonce: ((parameters?) => Promise<bigint>);
isDeployed: (() => Promise<boolean>);
type: "smart";
}, accountOverride>>);
extend: (<const client>(fn) => Client<Transport, undefined | Chain, undefined | object & Assign_<SmartAccountImplementation<Abi, EntryPointVersion, object>, {
address: `0x${string}`;
getNonce: ((parameters?) => Promise<bigint>);
isDeployed: (() => Promise<boolean>);
type: "smart";
}> & {
address: `0x${string}`;
getNonce: ((parameters?) => Promise<bigint>);
isDeployed: (() => Promise<boolean>);
type: "smart";
}, [{
Method: "eth_chainId";
Parameters?: undefined;
ReturnType: `0x${string}`;
}, {
Method: "eth_estimateUserOperationGas";
Parameters: [userOperation: RpcUserOperation, entrypoint: `0x${string}`] | [userOperation: RpcUserOperation, entrypoint: `0x${string}`, stateOverrideSet: RpcStateOverride];
ReturnType: RpcEstimateUserOperationGasReturnType;
}, {
Method: "eth_getUserOperationByHash";
Parameters: [hash: `0x${string}`];
ReturnType: null | RpcGetUserOperationByHashReturnType;
}, {
Method: "eth_getUserOperationReceipt";
Parameters: [hash: `0x${string}`];
ReturnType: null | RpcUserOperationReceipt;
}], {
[K in string | number | symbol]: client[K]
} & BundlerActions<undefined | object & Assign_<SmartAccountImplementation<Abi, EntryPointVersion, object>, {
address: `0x${string}`;
getNonce: ((parameters?) => Promise<(...)>);
isDeployed: (() => Promise<(...)>);
type: "smart";
}> & {
address: `0x${string}`;
getNonce: ((parameters?) => Promise<bigint>);
isDeployed: (() => Promise<boolean>);
type: "smart";
}> & PaymasterActions & BicoActions>);
getChainId: (() => Promise<number>);
getGasFeeValues: (() => Promise<{
fast: {
maxFeePerGas: bigint;
maxPriorityFeePerGas: bigint;
};
slow: {
maxFeePerGas: bigint;
maxPriorityFeePerGas: bigint;
};
standard: {
maxFeePerGas: bigint;
maxPriorityFeePerGas: bigint;
};
}>);
getPaymasterData: ((parameters) => Promise<GetPaymasterDataReturnType>);
getPaymasterStubData: ((parameters) => Promise<GetPaymasterStubDataReturnType>);
getSupportedEntryPoints: (() => Promise<GetSupportedEntryPointsReturnType>);
getUserOperation: ((parameters) => Promise<{
blockHash: `0x${string}`;
blockNumber: bigint;
entryPoint: `0x${string}`;
transactionHash: `0x${string}`;
userOperation: UserOperation;
}>);
getUserOperationReceipt: ((parameters) => Promise<{
actualGasCost: bigint;
actualGasUsed: bigint;
entryPoint: `0x${string}`;
logs: Log<bigint, number, false>[];
nonce: bigint;
paymaster?: `0x${string}`;
reason?: string;
receipt: TransactionReceipt<bigint, number, "success" | "reverted">;
sender: `0x${string}`;
success: boolean;
userOpHash: `0x${string}`;
}>);
key: string;
name: string;
pollingInterval: number;
prepareUserOperation: (<const calls, const request, accountOverride>(parameters) => Promise<{
[K in string | number | symbol]: (UnionOmit<request, "parameters" | "calls"> & {
callData: `0x${string}`;
paymasterAndData: DeriveEntryPointVersion<DeriveSmartAccount<(...) | (...), accountOverride>> extends "0.6"
? `0x${string}`
: undefined;
sender: `0x${string}`;
} & (Extract<request["parameters"] extends readonly PrepareUserOperationParameterType[]
? any[any][number]
: "signature" | "factory" | "paymaster" | "nonce" | "gas" | "fees", "factory"> extends never
? {}
: FactoryProperties<DeriveEntryPointVersion<DeriveSmartAccount<(...) | (...), accountOverride>>>) & (Extract<request["parameters"] extends readonly PrepareUserOperationParameterType[]
? any[any][number]
: "signature" | "factory" | "paymaster" | "nonce" | "gas" | "fees", "nonce"> extends never
? {}
: NonceProperties) & (Extract<request["parameters"] extends readonly PrepareUserOperationParameterType[]
? any[any][number]
: "signature" | "factory" | "paymaster" | "nonce" | "gas" | "fees", "fees"> extends never
? {}
: FeeProperties) & (Extract<request["parameters"] extends readonly PrepareUserOperationParameterType[]
? any[any][number]
: "signature" | "factory" | "paymaster" | "nonce" | "gas" | "fees", "gas"> extends never
? {}
: GasProperties<DeriveEntryPointVersion<DeriveSmartAccount<(...) | (...), accountOverride>>>) & (Extract<request["parameters"] extends readonly PrepareUserOperationParameterType[]
? any[any][number]
: "signature" | "factory" | "paymaster" | "nonce" | "gas" | "fees", "paymaster"> extends never
? {}
: PaymasterProperties<DeriveEntryPointVersion<DeriveSmartAccount<(...) | (...), accountOverride>>>) & (Extract<request["parameters"] extends readonly PrepareUserOperationParameterType[]
? any[any][number]
: "signature" | "factory" | "paymaster" | "nonce" | "gas" | "fees", "signature"> extends never
? {}
: SignatureProperties))[K]
}>);
request: EIP1193RequestFn<[{
Method: "eth_chainId";
Parameters?: undefined;
ReturnType: `0x${string}`;
}, {
Method: "eth_estimateUserOperationGas";
Parameters: [userOperation: RpcUserOperation, entrypoint: `0x${string}`] | [userOperation: RpcUserOperation, entrypoint: `0x${string}`, stateOverrideSet: RpcStateOverride];
ReturnType: RpcEstimateUserOperationGasReturnType;
}, {
Method: "eth_getUserOperationByHash";
Parameters: [hash: `0x${string}`];
ReturnType: null | RpcGetUserOperationByHashReturnType;
}, {
Method: "eth_getUserOperationReceipt";
Parameters: [hash: `0x${string}`];
ReturnType: null | RpcUserOperationReceipt;
}]>;
sendUserOperation: (<const calls, accountOverride>(parameters) => Promise<`0x${string}`>);
transport: TransportConfig<string, EIP1193RequestFn> & Record<string, any>;
type: string;
uid: string;
waitForUserOperationReceipt: ((parameters) => Promise<{
actualGasCost: bigint;
actualGasUsed: bigint;
entryPoint: `0x${string}`;
logs: Log<bigint, number, false>[];
nonce: bigint;
paymaster?: `0x${string}`;
reason?: string;
receipt: TransactionReceipt<bigint, number, "success" | "reverted">;
sender: `0x${string}`;
success: boolean;
userOpHash: `0x${string}`;
}>);
} Parameters
- parameters: BicoBundlerClientConfig
Returns {
account: undefined | object & Assign_<SmartAccountImplementation<Abi, EntryPointVersion, object>, {
address: `0x${string}`;
getNonce: ((parameters?) => Promise<bigint>);
isDeployed: (() => Promise<boolean>);
type: "smart";
}> & {
address: `0x${string}`;
getNonce: ((parameters?) => Promise<bigint>);
isDeployed: (() => Promise<boolean>);
type: "smart";
};
batch?: {
multicall?: boolean | {
batchSize?: number;
wait?: number;
};
};
cacheTime: number;
ccipRead?: false | {
request?: ((parameters) => Promise<`0x${string}`>);
};
chain: undefined | Chain;
estimateUserOperationGas: (<const calls, accountOverride>(parameters) => Promise<EstimateUserOperationGasReturnType<undefined | object & Assign_<SmartAccountImplementation<Abi, EntryPointVersion, object>, {
address: `0x${string}`;
getNonce: ((parameters?) => Promise<bigint>);
isDeployed: (() => Promise<boolean>);
type: "smart";
}> & {
address: `0x${string}`;
getNonce: ((parameters?) => Promise<bigint>);
isDeployed: (() => Promise<boolean>);
type: "smart";
}, accountOverride>>);
extend: (<const client>(fn) => Client<Transport, undefined | Chain, undefined | object & Assign_<SmartAccountImplementation<Abi, EntryPointVersion, object>, {
address: `0x${string}`;
getNonce: ((parameters?) => Promise<bigint>);
isDeployed: (() => Promise<boolean>);
type: "smart";
}> & {
address: `0x${string}`;
getNonce: ((parameters?) => Promise<bigint>);
isDeployed: (() => Promise<boolean>);
type: "smart";
}, [{
Method: "eth_chainId";
Parameters?: undefined;
ReturnType: `0x${string}`;
}, {
Method: "eth_estimateUserOperationGas";
Parameters: [userOperation: RpcUserOperation, entrypoint: `0x${string}`] | [userOperation: RpcUserOperation, entrypoint: `0x${string}`, stateOverrideSet: RpcStateOverride];
ReturnType: RpcEstimateUserOperationGasReturnType;
}, {
Method: "eth_getUserOperationByHash";
Parameters: [hash: `0x${string}`];
ReturnType: null | RpcGetUserOperationByHashReturnType;
}, {
Method: "eth_getUserOperationReceipt";
Parameters: [hash: `0x${string}`];
ReturnType: null | RpcUserOperationReceipt;
}], {
[K in string | number | symbol]: client[K]
} & BundlerActions<undefined | object & Assign_<SmartAccountImplementation<Abi, EntryPointVersion, object>, {
address: `0x${string}`;
getNonce: ((parameters?) => Promise<(...)>);
isDeployed: (() => Promise<(...)>);
type: "smart";
}> & {
address: `0x${string}`;
getNonce: ((parameters?) => Promise<bigint>);
isDeployed: (() => Promise<boolean>);
type: "smart";
}> & PaymasterActions & BicoActions>);
getChainId: (() => Promise<number>);
getGasFeeValues: (() => Promise<{
fast: {
maxFeePerGas: bigint;
maxPriorityFeePerGas: bigint;
};
slow: {
maxFeePerGas: bigint;
maxPriorityFeePerGas: bigint;
};
standard: {
maxFeePerGas: bigint;
maxPriorityFeePerGas: bigint;
};
}>);
getPaymasterData: ((parameters) => Promise<GetPaymasterDataReturnType>);
getPaymasterStubData: ((parameters) => Promise<GetPaymasterStubDataReturnType>);
getSupportedEntryPoints: (() => Promise<GetSupportedEntryPointsReturnType>);
getUserOperation: ((parameters) => Promise<{
blockHash: `0x${string}`;
blockNumber: bigint;
entryPoint: `0x${string}`;
transactionHash: `0x${string}`;
userOperation: UserOperation;
}>);
getUserOperationReceipt: ((parameters) => Promise<{
actualGasCost: bigint;
actualGasUsed: bigint;
entryPoint: `0x${string}`;
logs: Log<bigint, number, false>[];
nonce: bigint;
paymaster?: `0x${string}`;
reason?: string;
receipt: TransactionReceipt<bigint, number, "success" | "reverted">;
sender: `0x${string}`;
success: boolean;
userOpHash: `0x${string}`;
}>);
key: string;
name: string;
pollingInterval: number;
prepareUserOperation: (<const calls, const request, accountOverride>(parameters) => Promise<{
[K in string | number | symbol]: (UnionOmit<request, "parameters" | "calls"> & {
callData: `0x${string}`;
paymasterAndData: DeriveEntryPointVersion<DeriveSmartAccount<(...) | (...), accountOverride>> extends "0.6"
? `0x${string}`
: undefined;
sender: `0x${string}`;
} & (Extract<request["parameters"] extends readonly PrepareUserOperationParameterType[]
? any[any][number]
: "signature" | "factory" | "paymaster" | "nonce" | "gas" | "fees", "factory"> extends never
? {}
: FactoryProperties<DeriveEntryPointVersion<DeriveSmartAccount<(...) | (...), accountOverride>>>) & (Extract<request["parameters"] extends readonly PrepareUserOperationParameterType[]
? any[any][number]
: "signature" | "factory" | "paymaster" | "nonce" | "gas" | "fees", "nonce"> extends never
? {}
: NonceProperties) & (Extract<request["parameters"] extends readonly PrepareUserOperationParameterType[]
? any[any][number]
: "signature" | "factory" | "paymaster" | "nonce" | "gas" | "fees", "fees"> extends never
? {}
: FeeProperties) & (Extract<request["parameters"] extends readonly PrepareUserOperationParameterType[]
? any[any][number]
: "signature" | "factory" | "paymaster" | "nonce" | "gas" | "fees", "gas"> extends never
? {}
: GasProperties<DeriveEntryPointVersion<DeriveSmartAccount<(...) | (...), accountOverride>>>) & (Extract<request["parameters"] extends readonly PrepareUserOperationParameterType[]
? any[any][number]
: "signature" | "factory" | "paymaster" | "nonce" | "gas" | "fees", "paymaster"> extends never
? {}
: PaymasterProperties<DeriveEntryPointVersion<DeriveSmartAccount<(...) | (...), accountOverride>>>) & (Extract<request["parameters"] extends readonly PrepareUserOperationParameterType[]
? any[any][number]
: "signature" | "factory" | "paymaster" | "nonce" | "gas" | "fees", "signature"> extends never
? {}
: SignatureProperties))[K]
}>);
request: EIP1193RequestFn<[{
Method: "eth_chainId";
Parameters?: undefined;
ReturnType: `0x${string}`;
}, {
Method: "eth_estimateUserOperationGas";
Parameters: [userOperation: RpcUserOperation, entrypoint: `0x${string}`] | [userOperation: RpcUserOperation, entrypoint: `0x${string}`, stateOverrideSet: RpcStateOverride];
ReturnType: RpcEstimateUserOperationGasReturnType;
}, {
Method: "eth_getUserOperationByHash";
Parameters: [hash: `0x${string}`];
ReturnType: null | RpcGetUserOperationByHashReturnType;
}, {
Method: "eth_getUserOperationReceipt";
Parameters: [hash: `0x${string}`];
ReturnType: null | RpcUserOperationReceipt;
}]>;
sendUserOperation: (<const calls, accountOverride>(parameters) => Promise<`0x${string}`>);
transport: TransportConfig<string, EIP1193RequestFn> & Record<string, any>;
type: string;
uid: string;
waitForUserOperationReceipt: ((parameters) => Promise<{
actualGasCost: bigint;
actualGasUsed: bigint;
entryPoint: `0x${string}`;
logs: Log<bigint, number, false>[];
nonce: bigint;
paymaster?: `0x${string}`;
reason?: string;
receipt: TransactionReceipt<bigint, number, "success" | "reverted">;
sender: `0x${string}`;
success: boolean;
userOpHash: `0x${string}`;
}>);
}
A Bico Bundler Client
account: undefined | object & Assign_<SmartAccountImplementation<Abi, EntryPointVersion, object>, {
address: `0x${string}`;
getNonce: ((parameters?) => Promise<bigint>);
isDeployed: (() => Promise<boolean>);
type: "smart";
}> & {
address: `0x${string}`;
getNonce: ((parameters?) => Promise<bigint>);
isDeployed: (() => Promise<boolean>);
type: "smart";
}
Optional
batch?: {
multicall?: boolean | {
batchSize?: number;
wait?: number;
};
}
Optional
multicall?: boolean | {
batchSize?: number;
wait?: number;
}
cacheTime: number
Optional
ccipRead?: false | {
request?: ((parameters) => Promise<`0x${string}`>);
}
chain: undefined | Chain
estimateUserOperationGas: (<const calls, accountOverride>(parameters) => Promise<EstimateUserOperationGasReturnType<undefined | object & Assign_<SmartAccountImplementation<Abi, EntryPointVersion, object>, {
address: `0x${string}`;
getNonce: ((parameters?) => Promise<bigint>);
isDeployed: (() => Promise<boolean>);
type: "smart";
}> & {
address: `0x${string}`;
getNonce: ((parameters?) => Promise<bigint>);
isDeployed: (() => Promise<boolean>);
type: "smart";
}, accountOverride>>)
- <const calls, accountOverride>(parameters): Promise<EstimateUserOperationGasReturnType<undefined | object & Assign_<SmartAccountImplementation<Abi, EntryPointVersion, object>, {
address: `0x${string}`;
getNonce: ((parameters?) => Promise<bigint>);
isDeployed: (() => Promise<boolean>);
type: "smart";
}> & {
address: `0x${string}`;
getNonce: ((parameters?) => Promise<bigint>);
isDeployed: (() => Promise<boolean>);
type: "smart";
}, accountOverride>> Type Parameters
- const calls extends readonly unknown[]
- accountOverride extends undefined | object & Assign_<SmartAccountImplementation<Abi, EntryPointVersion, object>, {
address: `0x${string}`;
getNonce: ((parameters?) => Promise<bigint>);
isDeployed: (() => Promise<boolean>);
type: "smart";
}> & {
address: `0x${string}`;
getNonce: ((parameters?) => Promise<bigint>);
isDeployed: (() => Promise<boolean>);
type: "smart";
} = undefined
Parameters
- parameters: EstimateUserOperationGasParameters<undefined | object & Assign_<SmartAccountImplementation<Abi, EntryPointVersion, object>, {
address: `0x${string}`;
getNonce: ((parameters?) => Promise<bigint>);
isDeployed: (() => Promise<boolean>);
type: "smart";
}> & {
address: `0x${string}`;
getNonce: ((parameters?) => Promise<bigint>);
isDeployed: (() => Promise<boolean>);
type: "smart";
}, accountOverride, calls>
Returns Promise<EstimateUserOperationGasReturnType<undefined | object & Assign_<SmartAccountImplementation<Abi, EntryPointVersion, object>, {
address: `0x${string}`;
getNonce: ((parameters?) => Promise<bigint>);
isDeployed: (() => Promise<boolean>);
type: "smart";
}> & {
address: `0x${string}`;
getNonce: ((parameters?) => Promise<bigint>);
isDeployed: (() => Promise<boolean>);
type: "smart";
}, accountOverride>>
extend: (<const client>(fn) => Client<Transport, undefined | Chain, undefined | object & Assign_<SmartAccountImplementation<Abi, EntryPointVersion, object>, {
address: `0x${string}`;
getNonce: ((parameters?) => Promise<bigint>);
isDeployed: (() => Promise<boolean>);
type: "smart";
}> & {
address: `0x${string}`;
getNonce: ((parameters?) => Promise<bigint>);
isDeployed: (() => Promise<boolean>);
type: "smart";
}, [{
Method: "eth_chainId";
Parameters?: undefined;
ReturnType: `0x${string}`;
}, {
Method: "eth_estimateUserOperationGas";
Parameters: [userOperation: RpcUserOperation, entrypoint: `0x${string}`] | [userOperation: RpcUserOperation, entrypoint: `0x${string}`, stateOverrideSet: RpcStateOverride];
ReturnType: RpcEstimateUserOperationGasReturnType;
}, {
Method: "eth_getUserOperationByHash";
Parameters: [hash: `0x${string}`];
ReturnType: null | RpcGetUserOperationByHashReturnType;
}, {
Method: "eth_getUserOperationReceipt";
Parameters: [hash: `0x${string}`];
ReturnType: null | RpcUserOperationReceipt;
}], {
[K in string | number | symbol]: client[K]
} & BundlerActions<undefined | object & Assign_<SmartAccountImplementation<Abi, EntryPointVersion, object>, {
address: `0x${string}`;
getNonce: ((parameters?) => Promise<(...)>);
isDeployed: (() => Promise<(...)>);
type: "smart";
}> & {
address: `0x${string}`;
getNonce: ((parameters?) => Promise<bigint>);
isDeployed: (() => Promise<boolean>);
type: "smart";
}> & PaymasterActions & BicoActions>)
- <const client>(fn): Client<Transport, undefined | Chain, undefined | object & Assign_<SmartAccountImplementation<Abi, EntryPointVersion, object>, {
address: `0x${string}`;
getNonce: ((parameters?) => Promise<bigint>);
isDeployed: (() => Promise<boolean>);
type: "smart";
}> & {
address: `0x${string}`;
getNonce: ((parameters?) => Promise<bigint>);
isDeployed: (() => Promise<boolean>);
type: "smart";
}, [{
Method: "eth_chainId";
Parameters?: undefined;
ReturnType: `0x${string}`;
}, {
Method: "eth_estimateUserOperationGas";
Parameters: [userOperation: RpcUserOperation, entrypoint: `0x${string}`] | [userOperation: RpcUserOperation, entrypoint: `0x${string}`, stateOverrideSet: RpcStateOverride];
ReturnType: RpcEstimateUserOperationGasReturnType;
}, {
Method: "eth_getUserOperationByHash";
Parameters: [hash: `0x${string}`];
ReturnType: null | RpcGetUserOperationByHashReturnType;
}, {
Method: "eth_getUserOperationReceipt";
Parameters: [hash: `0x${string}`];
ReturnType: null | RpcUserOperationReceipt;
}], {
[K in string | number | symbol]: client[K]
} & BundlerActions<undefined | object & Assign_<SmartAccountImplementation<Abi, EntryPointVersion, object>, {
address: `0x${string}`;
getNonce: ((parameters?) => Promise<(...)>);
isDeployed: (() => Promise<(...)>);
type: "smart";
}> & {
address: `0x${string}`;
getNonce: ((parameters?) => Promise<bigint>);
isDeployed: (() => Promise<boolean>);
type: "smart";
}> & PaymasterActions & BicoActions> Type Parameters
- const client extends {
account?: undefined;
batch?: undefined;
cacheTime?: undefined;
ccipRead?: undefined;
chain?: undefined;
key?: undefined;
name?: undefined;
pollingInterval?: undefined;
request?: undefined;
transport?: undefined;
type?: undefined;
uid?: undefined;
} & ExactPartial<ExtendableProtectedActions<Transport, undefined | Chain, undefined | object & Assign_<SmartAccountImplementation<Abi, EntryPointVersion, object>, {
address: `0x${string}`;
getNonce: ((parameters?) => Promise<(...)>);
isDeployed: (() => Promise<(...)>);
type: "smart";
}> & {
address: `0x${string}`;
getNonce: ((parameters?) => Promise<bigint>);
isDeployed: (() => Promise<boolean>);
type: "smart";
}>>
Parameters
- fn: ((client) => client)
- (client): client
Parameters
- client: Client<Transport, undefined | Chain, undefined | object & Assign_<SmartAccountImplementation<Abi, EntryPointVersion, object>, {
address: `0x${string}`;
getNonce: ((parameters?) => Promise<bigint>);
isDeployed: (() => Promise<boolean>);
type: "smart";
}> & {
address: `0x${string}`;
getNonce: ((parameters?) => Promise<bigint>);
isDeployed: (() => Promise<boolean>);
type: "smart";
}, [{
Method: "eth_chainId";
Parameters?: undefined;
ReturnType: `0x${string}`;
}, {
Method: "eth_estimateUserOperationGas";
Parameters: [userOperation: RpcUserOperation, entrypoint: `0x${string}`] | [userOperation: RpcUserOperation, entrypoint: `0x${string}`, stateOverrideSet: RpcStateOverride];
ReturnType: RpcEstimateUserOperationGasReturnType;
}, {
Method: "eth_getUserOperationByHash";
Parameters: [hash: `0x${string}`];
ReturnType: null | RpcGetUserOperationByHashReturnType;
}, {
Method: "eth_getUserOperationReceipt";
Parameters: [hash: `0x${string}`];
ReturnType: null | RpcUserOperationReceipt;
}], BundlerActions<undefined | object & Assign_<SmartAccountImplementation<Abi, EntryPointVersion, object>, {
address: `0x${(...)}`;
getNonce: ((parameters?) => ...);
isDeployed: (() => ...);
type: "smart";
}> & {
address: `0x${string}`;
getNonce: ((parameters?) => Promise<(...)>);
isDeployed: (() => Promise<(...)>);
type: "smart";
}> & PaymasterActions & BicoActions>
Returns Client<Transport, undefined | Chain, undefined | object & Assign_<SmartAccountImplementation<Abi, EntryPointVersion, object>, {
address: `0x${string}`;
getNonce: ((parameters?) => Promise<bigint>);
isDeployed: (() => Promise<boolean>);
type: "smart";
}> & {
address: `0x${string}`;
getNonce: ((parameters?) => Promise<bigint>);
isDeployed: (() => Promise<boolean>);
type: "smart";
}, [{
Method: "eth_chainId";
Parameters?: undefined;
ReturnType: `0x${string}`;
}, {
Method: "eth_estimateUserOperationGas";
Parameters: [userOperation: RpcUserOperation, entrypoint: `0x${string}`] | [userOperation: RpcUserOperation, entrypoint: `0x${string}`, stateOverrideSet: RpcStateOverride];
ReturnType: RpcEstimateUserOperationGasReturnType;
}, {
Method: "eth_getUserOperationByHash";
Parameters: [hash: `0x${string}`];
ReturnType: null | RpcGetUserOperationByHashReturnType;
}, {
Method: "eth_getUserOperationReceipt";
Parameters: [hash: `0x${string}`];
ReturnType: null | RpcUserOperationReceipt;
}], {
[K in string | number | symbol]: client[K]
} & BundlerActions<undefined | object & Assign_<SmartAccountImplementation<Abi, EntryPointVersion, object>, {
address: `0x${string}`;
getNonce: ((parameters?) => Promise<(...)>);
isDeployed: (() => Promise<(...)>);
type: "smart";
}> & {
address: `0x${string}`;
getNonce: ((parameters?) => Promise<bigint>);
isDeployed: (() => Promise<boolean>);
type: "smart";
}> & PaymasterActions & BicoActions>
getChainId: (() => Promise<number>)
- (): Promise<number>
Returns Promise<number>
getGasFeeValues: (() => Promise<{
fast: {
maxFeePerGas: bigint;
maxPriorityFeePerGas: bigint;
};
slow: {
maxFeePerGas: bigint;
maxPriorityFeePerGas: bigint;
};
standard: {
maxFeePerGas: bigint;
maxPriorityFeePerGas: bigint;
};
}>)
- (): Promise<{
fast: {
maxFeePerGas: bigint;
maxPriorityFeePerGas: bigint;
};
slow: {
maxFeePerGas: bigint;
maxPriorityFeePerGas: bigint;
};
standard: {
maxFeePerGas: bigint;
maxPriorityFeePerGas: bigint;
};
}> Returns Promise<{
fast: {
maxFeePerGas: bigint;
maxPriorityFeePerGas: bigint;
};
slow: {
maxFeePerGas: bigint;
maxPriorityFeePerGas: bigint;
};
standard: {
maxFeePerGas: bigint;
maxPriorityFeePerGas: bigint;
};
}>
getPaymasterData: ((parameters) => Promise<GetPaymasterDataReturnType>)
- (parameters): Promise<GetPaymasterDataReturnType>
Parameters
- parameters: GetPaymasterDataParameters
Returns Promise<GetPaymasterDataReturnType>
getPaymasterStubData: ((parameters) => Promise<GetPaymasterStubDataReturnType>)
- (parameters): Promise<GetPaymasterStubDataReturnType>
Parameters
- parameters: GetPaymasterStubDataParameters
Returns Promise<GetPaymasterStubDataReturnType>
getSupportedEntryPoints: (() => Promise<GetSupportedEntryPointsReturnType>)
- (): Promise<GetSupportedEntryPointsReturnType>
Returns Promise<GetSupportedEntryPointsReturnType>
getUserOperation: ((parameters) => Promise<{
blockHash: `0x${string}`;
blockNumber: bigint;
entryPoint: `0x${string}`;
transactionHash: `0x${string}`;
userOperation: UserOperation;
}>)
- (parameters): Promise<{
blockHash: `0x${string}`;
blockNumber: bigint;
entryPoint: `0x${string}`;
transactionHash: `0x${string}`;
userOperation: UserOperation;
}> Parameters
- parameters: GetUserOperationParameters
Returns Promise<{
blockHash: `0x${string}`;
blockNumber: bigint;
entryPoint: `0x${string}`;
transactionHash: `0x${string}`;
userOperation: UserOperation;
}>
getUserOperationReceipt: ((parameters) => Promise<{
actualGasCost: bigint;
actualGasUsed: bigint;
entryPoint: `0x${string}`;
logs: Log<bigint, number, false>[];
nonce: bigint;
paymaster?: `0x${string}`;
reason?: string;
receipt: TransactionReceipt<bigint, number, "success" | "reverted">;
sender: `0x${string}`;
success: boolean;
userOpHash: `0x${string}`;
}>)
- (parameters): Promise<{
actualGasCost: bigint;
actualGasUsed: bigint;
entryPoint: `0x${string}`;
logs: Log<bigint, number, false>[];
nonce: bigint;
paymaster?: `0x${string}`;
reason?: string;
receipt: TransactionReceipt<bigint, number, "success" | "reverted">;
sender: `0x${string}`;
success: boolean;
userOpHash: `0x${string}`;
}> Parameters
- parameters: GetUserOperationReceiptParameters
Returns Promise<{
actualGasCost: bigint;
actualGasUsed: bigint;
entryPoint: `0x${string}`;
logs: Log<bigint, number, false>[];
nonce: bigint;
paymaster?: `0x${string}`;
reason?: string;
receipt: TransactionReceipt<bigint, number, "success" | "reverted">;
sender: `0x${string}`;
success: boolean;
userOpHash: `0x${string}`;
}>
key: string
name: string
pollingInterval: number
prepareUserOperation: (<const calls, const request, accountOverride>(parameters) => Promise<{
[K in string | number | symbol]: (UnionOmit<request, "parameters" | "calls"> & {
callData: `0x${string}`;
paymasterAndData: DeriveEntryPointVersion<DeriveSmartAccount<(...) | (...), accountOverride>> extends "0.6"
? `0x${string}`
: undefined;
sender: `0x${string}`;
} & (Extract<request["parameters"] extends readonly PrepareUserOperationParameterType[]
? any[any][number]
: "signature" | "factory" | "paymaster" | "nonce" | "gas" | "fees", "factory"> extends never
? {}
: FactoryProperties<DeriveEntryPointVersion<DeriveSmartAccount<(...) | (...), accountOverride>>>) & (Extract<request["parameters"] extends readonly PrepareUserOperationParameterType[]
? any[any][number]
: "signature" | "factory" | "paymaster" | "nonce" | "gas" | "fees", "nonce"> extends never
? {}
: NonceProperties) & (Extract<request["parameters"] extends readonly PrepareUserOperationParameterType[]
? any[any][number]
: "signature" | "factory" | "paymaster" | "nonce" | "gas" | "fees", "fees"> extends never
? {}
: FeeProperties) & (Extract<request["parameters"] extends readonly PrepareUserOperationParameterType[]
? any[any][number]
: "signature" | "factory" | "paymaster" | "nonce" | "gas" | "fees", "gas"> extends never
? {}
: GasProperties<DeriveEntryPointVersion<DeriveSmartAccount<(...) | (...), accountOverride>>>) & (Extract<request["parameters"] extends readonly PrepareUserOperationParameterType[]
? any[any][number]
: "signature" | "factory" | "paymaster" | "nonce" | "gas" | "fees", "paymaster"> extends never
? {}
: PaymasterProperties<DeriveEntryPointVersion<DeriveSmartAccount<(...) | (...), accountOverride>>>) & (Extract<request["parameters"] extends readonly PrepareUserOperationParameterType[]
? any[any][number]
: "signature" | "factory" | "paymaster" | "nonce" | "gas" | "fees", "signature"> extends never
? {}
: SignatureProperties))[K]
}>)
- <const calls, const request, accountOverride>(parameters): Promise<{
[K in string | number | symbol]: (UnionOmit<request, "parameters" | "calls"> & {
callData: `0x${string}`;
paymasterAndData: DeriveEntryPointVersion<DeriveSmartAccount<(...) | (...), accountOverride>> extends "0.6"
? `0x${string}`
: undefined;
sender: `0x${string}`;
} & (Extract<request["parameters"] extends readonly PrepareUserOperationParameterType[]
? any[any][number]
: "signature" | "factory" | "paymaster" | "nonce" | "gas" | "fees", "factory"> extends never
? {}
: FactoryProperties<DeriveEntryPointVersion<DeriveSmartAccount<(...) | (...), accountOverride>>>) & (Extract<request["parameters"] extends readonly PrepareUserOperationParameterType[]
? any[any][number]
: "signature" | "factory" | "paymaster" | "nonce" | "gas" | "fees", "nonce"> extends never
? {}
: NonceProperties) & (Extract<request["parameters"] extends readonly PrepareUserOperationParameterType[]
? any[any][number]
: "signature" | "factory" | "paymaster" | "nonce" | "gas" | "fees", "fees"> extends never
? {}
: FeeProperties) & (Extract<request["parameters"] extends readonly PrepareUserOperationParameterType[]
? any[any][number]
: "signature" | "factory" | "paymaster" | "nonce" | "gas" | "fees", "gas"> extends never
? {}
: GasProperties<DeriveEntryPointVersion<DeriveSmartAccount<(...) | (...), accountOverride>>>) & (Extract<request["parameters"] extends readonly PrepareUserOperationParameterType[]
? any[any][number]
: "signature" | "factory" | "paymaster" | "nonce" | "gas" | "fees", "paymaster"> extends never
? {}
: PaymasterProperties<DeriveEntryPointVersion<DeriveSmartAccount<(...) | (...), accountOverride>>>) & (Extract<request["parameters"] extends readonly PrepareUserOperationParameterType[]
? any[any][number]
: "signature" | "factory" | "paymaster" | "nonce" | "gas" | "fees", "signature"> extends never
? {}
: SignatureProperties))[K]
}> Type Parameters
- const calls extends readonly unknown[]
- const request extends PrepareUserOperationRequest<undefined | object & Assign_<SmartAccountImplementation<Abi, EntryPointVersion, object>, {
address: `0x${string}`;
getNonce: ((parameters?) => Promise<bigint>);
isDeployed: (() => Promise<boolean>);
type: "smart";
}> & {
address: `0x${string}`;
getNonce: ((parameters?) => Promise<bigint>);
isDeployed: (() => Promise<boolean>);
type: "smart";
}, accountOverride, calls> - accountOverride extends undefined | object & Assign_<SmartAccountImplementation<Abi, EntryPointVersion, object>, {
address: `0x${string}`;
getNonce: ((parameters?) => Promise<bigint>);
isDeployed: (() => Promise<boolean>);
type: "smart";
}> & {
address: `0x${string}`;
getNonce: ((parameters?) => Promise<bigint>);
isDeployed: (() => Promise<boolean>);
type: "smart";
} = undefined
Parameters
- parameters: PrepareUserOperationParameters<undefined | object & Assign_<SmartAccountImplementation<Abi, EntryPointVersion, object>, {
address: `0x${string}`;
getNonce: ((parameters?) => Promise<bigint>);
isDeployed: (() => Promise<boolean>);
type: "smart";
}> & {
address: `0x${string}`;
getNonce: ((parameters?) => Promise<bigint>);
isDeployed: (() => Promise<boolean>);
type: "smart";
}, accountOverride, calls, request>
Returns Promise<{
[K in string | number | symbol]: (UnionOmit<request, "parameters" | "calls"> & {
callData: `0x${string}`;
paymasterAndData: DeriveEntryPointVersion<DeriveSmartAccount<(...) | (...), accountOverride>> extends "0.6"
? `0x${string}`
: undefined;
sender: `0x${string}`;
} & (Extract<request["parameters"] extends readonly PrepareUserOperationParameterType[]
? any[any][number]
: "signature" | "factory" | "paymaster" | "nonce" | "gas" | "fees", "factory"> extends never
? {}
: FactoryProperties<DeriveEntryPointVersion<DeriveSmartAccount<(...) | (...), accountOverride>>>) & (Extract<request["parameters"] extends readonly PrepareUserOperationParameterType[]
? any[any][number]
: "signature" | "factory" | "paymaster" | "nonce" | "gas" | "fees", "nonce"> extends never
? {}
: NonceProperties) & (Extract<request["parameters"] extends readonly PrepareUserOperationParameterType[]
? any[any][number]
: "signature" | "factory" | "paymaster" | "nonce" | "gas" | "fees", "fees"> extends never
? {}
: FeeProperties) & (Extract<request["parameters"] extends readonly PrepareUserOperationParameterType[]
? any[any][number]
: "signature" | "factory" | "paymaster" | "nonce" | "gas" | "fees", "gas"> extends never
? {}
: GasProperties<DeriveEntryPointVersion<DeriveSmartAccount<(...) | (...), accountOverride>>>) & (Extract<request["parameters"] extends readonly PrepareUserOperationParameterType[]
? any[any][number]
: "signature" | "factory" | "paymaster" | "nonce" | "gas" | "fees", "paymaster"> extends never
? {}
: PaymasterProperties<DeriveEntryPointVersion<DeriveSmartAccount<(...) | (...), accountOverride>>>) & (Extract<request["parameters"] extends readonly PrepareUserOperationParameterType[]
? any[any][number]
: "signature" | "factory" | "paymaster" | "nonce" | "gas" | "fees", "signature"> extends never
? {}
: SignatureProperties))[K]
}>
request: EIP1193RequestFn<[{
Method: "eth_chainId";
Parameters?: undefined;
ReturnType: `0x${string}`;
}, {
Method: "eth_estimateUserOperationGas";
Parameters: [userOperation: RpcUserOperation, entrypoint: `0x${string}`] | [userOperation: RpcUserOperation, entrypoint: `0x${string}`, stateOverrideSet: RpcStateOverride];
ReturnType: RpcEstimateUserOperationGasReturnType;
}, {
Method: "eth_getUserOperationByHash";
Parameters: [hash: `0x${string}`];
ReturnType: null | RpcGetUserOperationByHashReturnType;
}, {
Method: "eth_getUserOperationReceipt";
Parameters: [hash: `0x${string}`];
ReturnType: null | RpcUserOperationReceipt;
}]>
sendUserOperation: (<const calls, accountOverride>(parameters) => Promise<`0x${string}`>)
- <const calls, accountOverride>(parameters): Promise<`0x${string}`>
Type Parameters
- const calls extends readonly unknown[]
- accountOverride extends undefined | object & Assign_<SmartAccountImplementation<Abi, EntryPointVersion, object>, {
address: `0x${string}`;
getNonce: ((parameters?) => Promise<bigint>);
isDeployed: (() => Promise<boolean>);
type: "smart";
}> & {
address: `0x${string}`;
getNonce: ((parameters?) => Promise<bigint>);
isDeployed: (() => Promise<boolean>);
type: "smart";
} = undefined
Parameters
- parameters: SendUserOperationParameters<undefined | object & Assign_<SmartAccountImplementation<Abi, EntryPointVersion, object>, {
address: `0x${string}`;
getNonce: ((parameters?) => Promise<bigint>);
isDeployed: (() => Promise<boolean>);
type: "smart";
}> & {
address: `0x${string}`;
getNonce: ((parameters?) => Promise<bigint>);
isDeployed: (() => Promise<boolean>);
type: "smart";
}, accountOverride, calls>
Returns Promise<`0x${string}`>
transport: TransportConfig<string, EIP1193RequestFn> & Record<string, any>
type: string
uid: string
waitForUserOperationReceipt: ((parameters) => Promise<{
actualGasCost: bigint;
actualGasUsed: bigint;
entryPoint: `0x${string}`;
logs: Log<bigint, number, false>[];
nonce: bigint;
paymaster?: `0x${string}`;
reason?: string;
receipt: TransactionReceipt<bigint, number, "success" | "reverted">;
sender: `0x${string}`;
success: boolean;
userOpHash: `0x${string}`;
}>)
- (parameters): Promise<{
actualGasCost: bigint;
actualGasUsed: bigint;
entryPoint: `0x${string}`;
logs: Log<bigint, number, false>[];
nonce: bigint;
paymaster?: `0x${string}`;
reason?: string;
receipt: TransactionReceipt<bigint, number, "success" | "reverted">;
sender: `0x${string}`;
success: boolean;
userOpHash: `0x${string}`;
}> Parameters
- parameters: WaitForUserOperationReceiptParameters
Returns Promise<{
actualGasCost: bigint;
actualGasUsed: bigint;
entryPoint: `0x${string}`;
logs: Log<bigint, number, false>[];
nonce: bigint;
paymaster?: `0x${string}`;
reason?: string;
receipt: TransactionReceipt<bigint, number, "success" | "reverted">;
sender: `0x${string}`;
success: boolean;
userOpHash: `0x${string}`;
}>
Creates a Bico Bundler Client with a given Transport configured for a Chain.