|
1 | | -- `userOperation`: (object) - The user operation object containing the following fields: |
| 1 | +import Tabs from "@theme/Tabs" |
| 2 | +import TabItem from "@theme/TabItem" |
| 3 | + |
| 4 | +<Tabs> |
| 5 | +<TabItem value="v0.7" label="v0.7 and v0.8 user operation"> |
| 6 | + |
| 7 | +- `userOperation`: The user operation object containing the following fields: |
| 8 | + |
2 | 9 | - `sender`: (string) - The address of the account making the operation. |
3 | | - - `nonce`: (string) - The account nonce. |
4 | | - - `factory`: (string) [_optional_] - The factory contract address that will deploy the smart account |
5 | | - if it doesn't exist yet. |
| 10 | + - `nonce`: (string) - Unique identifier for the request from this sender. This includes the key and sequence number. |
| 11 | + - `factory`: (string) [_optional_] - The factory contract address that will deploy the smart account if it doesn't exist yet. |
6 | 12 | - `factoryData`: (string) [_optional_] - The data passed to the factory contract to deploy the smart account. |
7 | | - - `callData`: (string) - The data to pass to the sender during the main execution call. |
| 13 | + - `callData`: (string) [_optional_] - The data to pass to the sender during the main execution call. |
8 | 14 | - `callGasLimit`: (string) - The amount of gas to allocate the main execution call. |
9 | 15 | - `verificationGasLimit`: (string) - The amount of gas to allocate for the verification step. |
10 | | - - `preVerificationGas`: (string) - The amount of gas to pay for to compensate the bundler for |
11 | | - pre-verification execution and `calldata`. |
| 16 | + - `preVerificationGas`: (string) - The amount of gas to pay for to compensate the bundler for pre-verification execution and `calldata`. |
12 | 17 | - `maxFeePerGas`: (string) - Maximum fee per gas, in wei, the sender is willing to pay per gas. |
13 | | - - `maxPriorityFeePerGas`: (string) - Maximum fee, in wei, the sender is willing to pay per gas above |
14 | | - the base fee. |
| 18 | + - `maxPriorityFeePerGas`: (string) - Maximum fee, in wei, the sender is willing to pay per gas above the base fee. |
15 | 19 | - `paymaster`: (string) [_optional_] - Address of paymaster sponsoring the transaction, or `null` if none. |
16 | | - - `paymasterVerificationGasLimit`: (string) [_optional_] - The amount of gas to allocate for the |
17 | | - verification step of the paymaster, or `null` if no paymaster. |
18 | | - - `paymasterPostOpGasLimit`: (string) [_optional_] - The amount of gas to allocate for the |
19 | | - post-operation step of the paymaster, or `null` if no paymaster. |
20 | | - - `paymasterData`: (string) [_optional_] - The data to pass to the paymaster during the verification |
21 | | - step, or `null` if no paymaster. |
22 | | - - `signature`: (string) - The signature data. For gas estimation, this can be a dummy signature. For example, |
23 | | - `0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c` |
24 | | - - `eip7702Auth`: (object) [_optional_] - The EIP-7702 authorization data. This can be a dummy authorization |
25 | | - for estimations: |
| 20 | + - `paymasterVerificationGasLimit`: (string) [_optional_] - The amount of gas to allocate for the verification step of the paymaster, or `null` if no paymaster. |
| 21 | + - `paymasterPostOpGasLimit`: (string) [_optional_] - The amount of gas to allocate for the post-operation step of the paymaster, or `null` if no paymaster. |
| 22 | + - `paymasterData`: (string) [_optional_] - The data to pass to the paymaster during the verification step, or `null` if no paymaster. |
| 23 | + - `signature`: (string) - The signature data. For gas estimation, this can be a dummy signature. |
| 24 | + - `eip7702Auth`: (object) [_optional_] - The EIP-7702 authorization data. This can be a dummy authorization for estimations. `SignedAuthorization Type`: |
26 | 25 | - `address`: (string) - The contract address for the authorization. |
27 | 26 | - `chainId`: (string) - The chain ID. |
28 | 27 | - `nonce`: (string) - The nonce. |
|
31 | 30 | - `v`: (string) - The v component of the signature. |
32 | 31 | - `yParity`: (string) - The y-parity value. |
33 | 32 |
|
34 | | -- `entryPoint`: (string) - The entry point contract address (`0x0000000071727De22E5E9d8BAf0edAc6f37da032`). |
35 | | - |
36 | | -- `stateOverrides`: (object) [_optional_] - State overrides to apply for the simulation: |
37 | | - - Each key is an address. |
38 | | - - Each value is an object that can contain: |
39 | | - - `balance`: (string) [_optional_] - The balance to set for the address. |
40 | | - - `nonce`: (string) [_optional_] - The nonce to set for the address. |
41 | | - - `code`: (string) [_optional_] - The code to set for the address. |
42 | | - - `state`: (object) [_optional_] - Complete state to set, where each key is a 32-byte hex storage |
43 | | - slot and each value is a 32-byte hex value. |
44 | | - - `stateDiff`: (object) [_optional_] - State differences to apply, where each key is a 32-byte hex |
45 | | - storage slot and each value is a 32-byte hex value. |
| 33 | +- `entryPoint`: (string) - The EntryPoint contract address (`0x0000000071727De22E5E9d8BAf0edAc6f37da032`). |
| 34 | + |
| 35 | +- `stateOverrides`: (object) [_optional_] - State overrides to apply for the simulation. Each key is an address, and each value is an object that can contain: |
| 36 | + - `balance`: (string) [_optional_] - The balance to set for the address. |
| 37 | + - `nonce`: (string) [_optional_] - The nonce to set for the address. |
| 38 | + - `code`: (string) [_optional_] - The code to set for the address. |
| 39 | + - `state`: (object) [_optional_] - Complete state to set, where each key is a 32-byte hex storage slot and each value is a 32-byte hex value. |
| 40 | + - `stateDiff`: (object) [_optional_] - State differences to apply, where each key is a 32-byte hex storage slot and each value is a 32-byte hex value. |
| 41 | + |
| 42 | +</TabItem> |
| 43 | +<TabItem value="v0.6" label="v0.6 user operation"> |
| 44 | + |
| 45 | +- `userOperation`: The user operation object containing the following fields: |
| 46 | + |
| 47 | + - `sender`: (string) - The address of the account making the operation. |
| 48 | + - `nonce`: (string) - Unique identifier for the request from this sender. |
| 49 | + - `initCode`: (string) - The initialization code for the smart account if it doesn't exist yet. |
| 50 | + - `callData`: (string) [_optional_] - The data to pass to the sender during the main execution call. |
| 51 | + - `callGasLimit`: (string) - The amount of gas to allocate the main execution call. |
| 52 | + - `verificationGasLimit`: (string) - The amount of gas to allocate for the verification step. |
| 53 | + - `preVerificationGas`: (string) - The amount of gas to pay for to compensate the bundler for pre-verification execution and `calldata`. |
| 54 | + - `maxFeePerGas`: (string) - Maximum fee per gas, in wei, the sender is willing to pay per gas. |
| 55 | + - `maxPriorityFeePerGas`: (string) - Maximum fee, in wei, the sender is willing to pay per gas above the base fee. |
| 56 | + - `paymasterAndData`: (string) - The address of the paymaster contract and the data that will be passed to it. |
| 57 | + - `signature`: (string) - The signature data. For gas estimation, this can be a dummy signature. |
| 58 | + - `eip7702Auth`: (object) [_optional_] - The EIP-7702 authorization data. This can be a dummy authorization for estimations. `SignedAuthorization Type`: |
| 59 | + - `address`: (string) - The contract address for the authorization. |
| 60 | + - `chainId`: (string) - The chain ID. |
| 61 | + - `nonce`: (string) - The nonce. |
| 62 | + - `r`: (string) - The r component of the signature. |
| 63 | + - `s`: (string) - The s component of the signature. |
| 64 | + - `v`: (string) - The v component of the signature. |
| 65 | + - `yParity`: (string) - The y-parity value. |
| 66 | + |
| 67 | +- `entryPoint`: (string) - The EntryPoint contract address (`0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789`). |
| 68 | + |
| 69 | +- `stateOverrides`: (object) [_optional_] - State overrides to apply for the simulation. Each key is an address, and each value is an object that can contain: |
| 70 | + - `balance`: (string) [_optional_] - The balance to set for the address. |
| 71 | + - `nonce`: (string) [_optional_] - The nonce to set for the address. |
| 72 | + - `code`: (string) [_optional_] - The code to set for the address. |
| 73 | + - `state`: (object) [_optional_] - Complete state to set, where each key is a 32-byte hex storage slot and each value is a 32-byte hex value. |
| 74 | + - `stateDiff`: (object) [_optional_] - State differences to apply, where each key is a 32-byte hex storage slot and each value is a 32-byte hex value. |
| 75 | + |
| 76 | +</TabItem> |
| 77 | +</Tabs> |
0 commit comments