diff --git a/services/concepts/bundler.md b/services/concepts/bundler.md new file mode 100644 index 00000000000..dfb7949db68 --- /dev/null +++ b/services/concepts/bundler.md @@ -0,0 +1,96 @@ +--- +description: Infura supports ERC-4337 bundler methods. +sidebar_label: Bundler methods +--- + +# Bundler methods (ERC-4337) + +Infura supports [ERC-4337](https://docs.erc4337.io/) bundler JSON-RPC methods that enable you to build +account abstraction (AA) experiences like gas sponsorship (paymasters), ERC-20 gas payment, session keys, or +batched actions using smart accounts. + +If your dapp or wallet uses smart accounts, use the bundler JSON-RPC methods. If you use externally +owned accounts (EOAs) only, use standard Ethereum JSON-RPC methods. + +:::info +AA moves validation and fee-payment logic into smart contracts. Instead of sending raw transactions +from an EOA, clients submit [user operations (UserOps)](#user-operations) to a bundler. The +bundler collects and simulates these operations, then executes them through a +[shared coordination contract (EntryPoint)](#entrypoint-contracts) on the network. + +Smart accounts are smart contract-based wallets that serve as the foundation of AA. They embed custom +logic for authentication, authorization, network fee payment, nonce management and execution. +::: + +:::info +Refer to the [official Pimlico documentation](https://docs.pimlico.io/references/bundler) +for more about the bundler methods and +[EntryPoint errors](https://docs.pimlico.io/references/bundler/entrypoint-errors#entrypoint-errors). +::: + +## User operations + +A user operation (UserOp) is an is an off-chain request that a bundler later includes onchain by +calling the EntryPoint. UserOps go to a dedicated mempool watched by bundlers instead of being broadcast +as raw L1/L2 transactions. + +## EntryPoint contract + +The EntryPoint contract is the shared coordination contract defined by ERC-4337. Bundlers call them to +validate and execute user operations (UserOps) from smart accounts. At a high level, an EntryPoint: + +- Runs the ERC-4337 validation and execution. +- Enforces nonce and signature checks exposed by each smart account. +- Coordinates fee payment (including paymasters). +- Executes the requested calls onchain. + +The bundler supports calling multiple EntryPoint versions (v0.6 and v0.7/v0.8) through the same set +of RPC methods, allowing it to handle both older and modern smart account schemes. + +Use the [`eth_supportedEntryPoints`](../reference/ethereum/json-rpc-methods/bundler/eth_supportedentrypoints) +method to fetch the EntryPoint addresses supported by the bundler. + +## Supported methods + +The following bundler methods are available on the [supported networks](#supported-networks): + +- [`eth_sendUserOperation`](../reference/ethereum/json-rpc-methods/bundler/eth_senduseroperation.mdx): + Submits a user operation to be included onchain. +- [`eth_estimateUserOperationGas`](../reference/ethereum/json-rpc-methods/bundler/eth_estimateuseroperationgas): + Simulates the user operation and estimates the appropriate gas limits. +- [`eth_getUserOperationReceipt`](../reference/ethereum/json-rpc-methods/bundler/eth_getuseroperationreceipt): + Fetches the receipt of a user operation. +- [`eth_getUserOperationByHash`](../reference/ethereum/json-rpc-methods/bundler/eth_getuseroperationbyhash): + Fetches the user operation by hash. +- [`eth_supportedEntryPoints`](../reference/ethereum/json-rpc-methods/bundler/eth_supportedentrypoints): + Fetches the EntryPoint addresses supported by the bundler. +- [`pimlico_getUserOperationGasPrice`](../reference/ethereum/json-rpc-methods/bundler/pimlico_getuseroperationgasprice): + Returns the gas prices that must be used for the user operation. +- [`pimlico_getUserOperationStatus`](../reference/ethereum/json-rpc-methods/bundler/pimlico_getuseroperationstatus): + Returns the user operation status. +- [`pimlico_simulateAssetChanges`](../reference/ethereum/json-rpc-methods/bundler/pimlico_simulateassetchanges): + Simulates a user operation to predict the asset changes it will cause. + +## Supported networks + +Bundler methods are active on the following networks: + +- [Arbitrum](../reference/arbitrum/json-rpc-methods/bundler/index.md) (mainnet and Sepolia) +- [Avalanche](../reference/avalanche-c-chain/json-rpc-methods/bundler/index.md) (mainnet and Fuji) +- [Base](../reference/base/json-rpc-methods/bundler/index.md) (mainnet and Sepolia) +- [Blast](../reference/blast/json-rpc-methods/bundler/index.md) (mainnet and Sepolia) +- [BNB Smart Chain](../reference/bnb-smart-chain/json-rpc-methods/bundler/index.md) (mainnet and testnet) +- [Celo](../reference/celo/json-rpc-methods/bundler/index.md) (mainnet and Alfajores) +- [Ethereum](../reference/ethereum/json-rpc-methods/bundler/index.md) (mainnet and Sepolia) +- [Linea](../reference/linea/json-rpc-methods/bundler/index.md) (mainnet and Sepolia) +- [Mantle](../reference/mantle/json-rpc-methods/bundler/index.md) (mainnet and Sepolia) +- [opBNB](../reference/opbnb/json-rpc-methods/bundler/index.md) (mainnet) +- [Optimism](../reference/optimism/json-rpc-methods/bundler/index.md) (mainnet and Sepolia) +- [Polygon](../reference/polygon-pos/json-rpc-methods/bundler/index.md) (mainnet and Amoy) +- [Scroll](../reference/scroll/json-rpc-methods/bundler/index.md) (mainnet and Sepolia) +- [Sei](../reference/sei/json-rpc-methods/bundler/index.md) (mainnet and testnet) +- [Unichain](../reference/unichain/json-rpc-methods/bundler/index.md) (mainnet and Sepolia) + +:::info +[Contact support](https://support.infura.io/) if you require bundler method activation on a network not listed here that’s currently supported by Pimlico. +::: \ No newline at end of file diff --git a/services/get-started/pricing/credit-cost.mdx b/services/get-started/pricing/credit-cost.mdx index dda4b0a267a..efc25450390 100644 --- a/services/get-started/pricing/credit-cost.mdx +++ b/services/get-started/pricing/credit-cost.mdx @@ -46,22 +46,18 @@ a specific network, then use the default Ethereum method's credit cost. - ### Trace methods - ### Filter methods ### Debug methods - - ### Subscription events You can subscribe and unsubscribe to events using [`eth_subscribe`](../../reference/ethereum/json-rpc-methods/subscription-methods/eth_subscribe.mdx) and [`eth_unsubscribe`](../../reference/ethereum/json-rpc-methods/subscription-methods/eth_unsubscribe.mdx). @@ -75,7 +71,6 @@ are charged at approximately one second intervals. - ## Polygon @@ -95,3 +90,11 @@ All Solana methods are charged at 160 credits per request. ## Gas API + +## Bundler API + +:::info +The Bundler API methods are currently only available on Ethereum Mainnet and Sepolia. +::: + + diff --git a/services/reference/_partials/bundler/_eth_estimateuseroperationgas-description.mdx b/services/reference/_partials/bundler/_eth_estimateuseroperationgas-description.mdx new file mode 100644 index 00000000000..9703aced87d --- /dev/null +++ b/services/reference/_partials/bundler/_eth_estimateuseroperationgas-description.mdx @@ -0,0 +1,13 @@ +import CreditCost from '@site/src/components/CreditCost/CreditCostPrice.js' + +Simulates the user operation and estimates the appropriate gas limits. Returns an error if the operation +is unsuccessful. + +:::tip +- You can use `stateOverrides` to estimate the gas cost even if the sender has no funds. + However, if the operation is sent onchain when the sender has no balance, it will revert during + the call phase due to lack of funds. + +- You can include a dummy signature for the `signature` field to estimate the gas cost. For example: + `0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c` +::: diff --git a/services/reference/_partials/bundler/_eth_estimateuseroperationgas-example.mdx b/services/reference/_partials/bundler/_eth_estimateuseroperationgas-example.mdx new file mode 100644 index 00000000000..7411f170544 --- /dev/null +++ b/services/reference/_partials/bundler/_eth_estimateuseroperationgas-example.mdx @@ -0,0 +1 @@ +Replace `` with an API key from your [MetaMask Developer dashboard](https://developer.metamask.io/). \ No newline at end of file diff --git a/services/reference/_partials/bundler/_eth_estimateuseroperationgas-parameters.mdx b/services/reference/_partials/bundler/_eth_estimateuseroperationgas-parameters.mdx new file mode 100644 index 00000000000..9a691028187 --- /dev/null +++ b/services/reference/_partials/bundler/_eth_estimateuseroperationgas-parameters.mdx @@ -0,0 +1,79 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +- `userOperation`: The user operation object containing the following fields: + + - `sender`: (string) - The address of the account making the operation. + - `nonce`: (string) - Unique identifier for the request from this sender. This includes the key and sequence number. + - `factory`: (string) [_optional_] - The factory contract address that will deploy the smart account if it doesn't exist yet. + - `factoryData`: (string) [_optional_] - The data passed to the factory contract to deploy the smart account. + - `callData`: (string) [_optional_] - The data to pass to the sender during the main execution call. + - `callGasLimit`: (string) - The amount of gas to allocate the main execution call. + - `verificationGasLimit`: (string) - The amount of gas to allocate for the verification step. + - `preVerificationGas`: (string) - The amount of gas to pay for to compensate the bundler for pre-verification execution and `calldata`. + - `maxFeePerGas`: (string) - Maximum fee per gas, in wei, the sender is willing to pay per gas. + - `maxPriorityFeePerGas`: (string) - Maximum fee, in wei, the sender is willing to pay per gas above the base fee. + - `paymaster`: (string) [_optional_] - Address of paymaster sponsoring the transaction, or `null` if none. + - `paymasterVerificationGasLimit`: (string) [_optional_] - The amount of gas to allocate for the verification step of the paymaster, or `null` if no paymaster. + - `paymasterPostOpGasLimit`: (string) [_optional_] - The amount of gas to allocate for the post-operation step of the paymaster, or `null` if no paymaster. + - `paymasterData`: (string) [_optional_] - The data to pass to the paymaster during the verification step, or `null` if no paymaster. + - `signature`: (string) - The signature data. For gas estimation, this can be a dummy signature. + - `eip7702Auth`: (object) [_optional_] - The EIP-7702 authorization data. This can be a dummy authorization + for estimations: + - `address`: (string) - The contract address for the authorization. + - `chainId`: (string) - The chain ID. + - `nonce`: (string) - The nonce. + - `r`: (string) - The r component of the signature. + - `s`: (string) - The s component of the signature. + - `v`: (string) - The v component of the signature. + - `yParity`: (string) - The y-parity value. + +- `entryPoint`: (string) - The EntryPoint contract address (`0x0000000071727De22E5E9d8BAf0edAc6f37da032`). + +- `stateOverrides`: (object) [_optional_] - State overrides to apply for the simulation. Each key is an address, and each value is an object that can contain: + - `balance`: (string) [_optional_] - The balance to set for the address. + - `nonce`: (string) [_optional_] - The nonce to set for the address. + - `code`: (string) [_optional_] - The code to set for the address. + - `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. + - `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. + + + + +- `userOperation`: The user operation object containing the following fields: + + - `sender`: (string) - The address of the account making the operation. + - `nonce`: (string) - Unique identifier for the request from this sender. + - `initCode`: (string) - The initialization code for the smart account if it doesn't exist yet. + - `callData`: (string) [_optional_] - The data to pass to the sender during the main execution call. + - `callGasLimit`: (string) - The amount of gas to allocate the main execution call. + - `verificationGasLimit`: (string) - The amount of gas to allocate for the verification step. + - `preVerificationGas`: (string) - The amount of gas to pay for to compensate the bundler for pre-verification execution and `calldata`. + - `maxFeePerGas`: (string) - Maximum fee per gas, in wei, the sender is willing to pay per gas. + - `maxPriorityFeePerGas`: (string) - Maximum fee, in wei, the sender is willing to pay per gas above the base fee. + - `paymasterAndData`: (string) - The address of the paymaster contract and the data that will be passed to it. + - `signature`: (string) - The signature data. For gas estimation, this can be a dummy signature. + - `eip7702Auth`: (object) [_optional_] - The EIP-7702 authorization data. This can be a dummy authorization + for estimations: + - `address`: (string) - The contract address for the authorization. + - `chainId`: (string) - The chain ID. + - `nonce`: (string) - The nonce. + - `r`: (string) - The r component of the signature. + - `s`: (string) - The s component of the signature. + - `v`: (string) - The v component of the signature. + - `yParity`: (string) - The y-parity value. + +- `entryPoint`: (string) - The EntryPoint contract address (`0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789`). + +- `stateOverrides`: (object) [_optional_] - State overrides to apply for the simulation. Each key is an address, and each value is an object that can contain: + - `balance`: (string) [_optional_] - The balance to set for the address. + - `nonce`: (string) [_optional_] - The nonce to set for the address. + - `code`: (string) [_optional_] - The code to set for the address. + - `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. + - `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. + + + diff --git a/services/reference/_partials/bundler/_eth_estimateuseroperationgas-request.mdx b/services/reference/_partials/bundler/_eth_estimateuseroperationgas-request.mdx new file mode 100644 index 00000000000..510e4dc1079 --- /dev/null +++ b/services/reference/_partials/bundler/_eth_estimateuseroperationgas-request.mdx @@ -0,0 +1,82 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + + ```bash + curl https://mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_estimateUserOperationGas", + "params": [ + { + "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149", + "nonce": "0x845adb2c711129d4f3966735ed98a9f09fc4ce5700000000000000000000", + "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5", + "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419", + "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000", + "callGasLimit": "0x0", + "verificationGasLimit": "0x0", + "preVerificationGas": "0x0", + "maxFeePerGas": "0x7a5cf70d5", + "maxPriorityFeePerGas": "0x3b9aca00", + "paymaster": null, + "paymasterVerificationGasLimit": null, + "paymasterPostOpGasLimit": null, + "paymasterData": null, + "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032" + ], + "id": 1 + }' + ``` + + + + + ```bash + curl https://mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_estimateUserOperationGas", + "params": [ + { + "sender": "0xa203fDb8bC335F86016F635b85389B62B189E417", + "nonce": "0x35bf2a054f92f3730b87582ef223c8d663f9eb01158154750000000000000000", + "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5", + "callData": "0xb61d27f6000000000000000000000000530fff22987e137e7c8d2adcc4c15eb45b4fa752", + "callGasLimit": "0x0", + "verificationGasLimit": "0x0", + "preVerificationGas": "0x0", + "maxPriorityFeePerGas": "0x12a05f200", + "maxFeePerGas": "0x5b08082fa", + "paymaster": null, + "paymasterVerificationGasLimit": null, + "paymasterPostOpGasLimit": null, + "paymasterData": null, + "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032", + { + "0xd9c9cd5f6779558b6e0ed4e6acf6b1947e7fa1f3": { + "balance": "0xde0b6b3a7640000" + }, + "0xebe8efa441b9302a0d7eaecc277c09d20d684540": { + "stateDiff": { + "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80": "0x21" + } + } + } + ], + "id": 1 + }' + ``` + + + \ No newline at end of file diff --git a/services/reference/_partials/bundler/_eth_estimateuseroperationgas-response.mdx b/services/reference/_partials/bundler/_eth_estimateuseroperationgas-response.mdx new file mode 100644 index 00000000000..0567dbde663 --- /dev/null +++ b/services/reference/_partials/bundler/_eth_estimateuseroperationgas-response.mdx @@ -0,0 +1,22 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + + ```JSON + { + "jsonrpc": "2.0", + "id": 1, + "result": { + "preVerificationGas": "0xd3e3", + "verificationGasLimit": "0x60b01", + "callGasLimit": "0x13880", + "paymasterVerificationGasLimit": "0x0", + "paymasterPostOpGasLimit": "0x0" + } + } + ``` + + + \ No newline at end of file diff --git a/services/reference/_partials/bundler/_eth_estimateuseroperationgas-returns.mdx b/services/reference/_partials/bundler/_eth_estimateuseroperationgas-returns.mdx new file mode 100644 index 00000000000..0f24bed514e --- /dev/null +++ b/services/reference/_partials/bundler/_eth_estimateuseroperationgas-returns.mdx @@ -0,0 +1,30 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +**Type:** `Object` + +An object containing the estimated gas values for the user operation. + + + + +- `preVerificationGas`: (string) - The amount of gas to pay for to compensate the bundler for + pre-verification execution and `calldata`. +- `verificationGasLimit`: (string) - The amount of gas to allocate for the verification step. +- `callGasLimit`: (string) - The amount of gas to allocate the main execution call. +- `paymasterVerificationGasLimit`: (string) - The amount of gas to allocate for the verification step + of the paymaster, or `null` if no paymaster. +- `paymasterPostOpGasLimit`: (string) - The amount of gas to allocate for the post-operation step of + the paymaster, or `null` if no paymaster. + + + + +- `preVerificationGas`: (string) - The amount of gas to pay for to compensate the bundler for + pre-verification execution and `calldata`. +- `verificationGas`: (string) - The amount of gas used for verification (legacy field from v0.6). +- `verificationGasLimit`: (string) - The amount of gas to allocate for the verification step. +- `callGasLimit`: (string) - The amount of gas to allocate the main execution call. + + + diff --git a/services/reference/_partials/bundler/_eth_getuseroperationbyhash-description.mdx b/services/reference/_partials/bundler/_eth_getuseroperationbyhash-description.mdx new file mode 100644 index 00000000000..454b1480390 --- /dev/null +++ b/services/reference/_partials/bundler/_eth_getuseroperationbyhash-description.mdx @@ -0,0 +1,4 @@ +import CreditCost from '@site/src/components/CreditCost/CreditCostPrice.js' + +Fetches user operation details by providing its hash. If the user operation is not available, it +will return `null`. diff --git a/services/reference/_partials/bundler/_eth_getuseroperationbyhash-example.mdx b/services/reference/_partials/bundler/_eth_getuseroperationbyhash-example.mdx new file mode 100644 index 00000000000..061467dfe81 --- /dev/null +++ b/services/reference/_partials/bundler/_eth_getuseroperationbyhash-example.mdx @@ -0,0 +1 @@ +Replace `` with an API key from your [MetaMask Developer dashboard](https://developer.metamask.io/). diff --git a/services/reference/_partials/bundler/_eth_getuseroperationbyhash-parameters.mdx b/services/reference/_partials/bundler/_eth_getuseroperationbyhash-parameters.mdx new file mode 100644 index 00000000000..528680be2b2 --- /dev/null +++ b/services/reference/_partials/bundler/_eth_getuseroperationbyhash-parameters.mdx @@ -0,0 +1 @@ +- `userOpHash`: (string) - The 32-byte hash of the user operation to retrieve. diff --git a/services/reference/_partials/bundler/_eth_getuseroperationbyhash-request.mdx b/services/reference/_partials/bundler/_eth_getuseroperationbyhash-request.mdx new file mode 100644 index 00000000000..0fa6415f653 --- /dev/null +++ b/services/reference/_partials/bundler/_eth_getuseroperationbyhash-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_getUserOperationByHash", + "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/_eth_getuseroperationbyhash-response.mdx b/services/reference/_partials/bundler/_eth_getuseroperationbyhash-response.mdx new file mode 100644 index 00000000000..65b704badf9 --- /dev/null +++ b/services/reference/_partials/bundler/_eth_getuseroperationbyhash-response.mdx @@ -0,0 +1,34 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```JSON +{ + "jsonrpc": "2.0", + "id": 1, + "result": { + "userOperation": { + "sender": "0x8C6bdb488F664EB98E12cB2671fE2389Cc227D33", + "nonce": "0x18554d9a95404c5e8ac591f8608a18f80000000000000000", + "initCode": "0xaee9762ce625e0a8f7b184670fb57c37bfe1d0f1296601cd000000000000000000000000417f5a41305ddc99d18b5e176521b468b2a31b86000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014c982ab3499d854fca39ff8326b27d3b8a9463c5d000000000000000000000000", + "callData": "0x519454470000000000000000000000008eb187a55b701f8990539bf219b7921d5d3bdadd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001647c7efe6b0000000000000000000000000000000000000000000000000000000000000080bfa0715290784075e564f966fffd9898ace1d7814f833780f62e59b0791357460000000000000000000000008c6bdb488f664eb98e12cb2671fe2389cc227d3300000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000007677265676f7279000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000001b1ec8da9a52488e3f60b7b7af36c2e64f1873e03a047c2c2e9061bbef4d0a9d8f1332b32afb163075273cd462140c2a24b2c9e1276adfaae0b4cb84ef78b95e8a0000000000000000000000000000000000000000000000000000000065a32e4f00000000000000000000000000000000000000000000000000000000", + "callGasLimit": "0x39b2d", + "verificationGasLimit": "0x6fb14", + "preVerificationGas": "0xc6a0", + "maxFeePerGas": "0x974038caf", + "maxPriorityFeePerGas": "0x974038c95", + "paymasterAndData": "0xe3dc822d77f8ca7ac74c30b0dffea9fcdcaaa3210000000000000000000000000000000000000000000000000000000065a3229b00000000000000000000000000000000000000000000000000000000000000009c3e8f934f2ec99974fddae7d38107a6d899c236c1b127e97d3c074cea5bb328023e295bb95254be40c47b82633676f8716c43c81aca3f2e49c2944afd1326371b", + "signature": "0x000000003ea0a3434dfd35a9eb05c4605466a7e05a5c3fc8aaba066c83bf4b43300dfd930e2203725eafa2702f860e5b6c18b4402ffb86b0d9b9c1719f1692254039810b1b" + }, + "entryPoint": "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "transactionHash": "0x57465d20d634421008a167cfcfcde94847dba9d6b5d3652b071d4b84e5ce74ff", + "blockHash": "0xeaeec1eff4095bdcae44d86574cf1bf08b14b26be571b7c2290f32f9f250c103", + "blockNumber": "0x31de70e" + } +} +``` + + + diff --git a/services/reference/_partials/bundler/_eth_getuseroperationbyhash-returns.mdx b/services/reference/_partials/bundler/_eth_getuseroperationbyhash-returns.mdx new file mode 100644 index 00000000000..610fb4d10c4 --- /dev/null +++ b/services/reference/_partials/bundler/_eth_getuseroperationbyhash-returns.mdx @@ -0,0 +1,20 @@ +An object containing the user operation information and transaction details, or `null` if the user +operation is not available. When available, the response object contains: + +- `userOperation`: (object) - The user operation object containing: + - `sender`: (string) - The address of the account that initiated the user operation. + - `nonce`: (string) - The nonce used for the user operation. + - `initCode`: (string) - The initialization code for account creation. + - `callData`: (string) - The data to pass to the sender during the main execution call. + - `callGasLimit`: (string) - The amount of gas allocated for the main execution call. + - `verificationGasLimit`: (string) - The amount of gas allocated for the verification step. + - `preVerificationGas`: (string) - The amount of gas to compensate the bundler for pre-verification execution. + - `maxFeePerGas`: (string) - Maximum fee per gas, in wei, the sender is willing to pay per gas. + - `maxPriorityFeePerGas`: (string) - Maximum fee, in wei, the sender is willing to pay per gas above + the base fee. + - `paymasterAndData`: (string) - The paymaster address and data. + - `signature`: (string) - The signature data for the user operation. +- `entryPoint`: (string) - The EntryPoint contract address used. +- `transactionHash`: (string) - The hash of the transaction that included this user operation. +- `blockHash`: (string) - The hash of the block containing the transaction. +- `blockNumber`: (string) - The number of the block containing the transaction. diff --git a/services/reference/_partials/bundler/_eth_getuseroperationreceipt-description.mdx b/services/reference/_partials/bundler/_eth_getuseroperationreceipt-description.mdx new file mode 100644 index 00000000000..cf1c7bcf16f --- /dev/null +++ b/services/reference/_partials/bundler/_eth_getuseroperationreceipt-description.mdx @@ -0,0 +1,4 @@ +import CreditCost from '@site/src/components/CreditCost/CreditCostPrice.js' + +Fetches the receipt of a user operation by providing its hash. If the receipt is not available, it +will return `null`. diff --git a/services/reference/_partials/bundler/_eth_getuseroperationreceipt-example.mdx b/services/reference/_partials/bundler/_eth_getuseroperationreceipt-example.mdx new file mode 100644 index 00000000000..061467dfe81 --- /dev/null +++ b/services/reference/_partials/bundler/_eth_getuseroperationreceipt-example.mdx @@ -0,0 +1 @@ +Replace `` with an API key from your [MetaMask Developer dashboard](https://developer.metamask.io/). diff --git a/services/reference/_partials/bundler/_eth_getuseroperationreceipt-parameters.mdx b/services/reference/_partials/bundler/_eth_getuseroperationreceipt-parameters.mdx new file mode 100644 index 00000000000..dc088102182 --- /dev/null +++ b/services/reference/_partials/bundler/_eth_getuseroperationreceipt-parameters.mdx @@ -0,0 +1 @@ +- `userOpHash`: (string) - The 32-byte hash of the user operation for which to retrieve the receipt. diff --git a/services/reference/_partials/bundler/_eth_getuseroperationreceipt-request.mdx b/services/reference/_partials/bundler/_eth_getuseroperationreceipt-request.mdx new file mode 100644 index 00000000000..308423c40a1 --- /dev/null +++ b/services/reference/_partials/bundler/_eth_getuseroperationreceipt-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_getUserOperationReceipt", + "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/_eth_getuseroperationreceipt-response.mdx b/services/reference/_partials/bundler/_eth_getuseroperationreceipt-response.mdx new file mode 100644 index 00000000000..11c02b329e6 --- /dev/null +++ b/services/reference/_partials/bundler/_eth_getuseroperationreceipt-response.mdx @@ -0,0 +1,44 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```JSON +{ + "jsonrpc": "2.0", + "id": 1, + "result": { + "entryPoint": "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "userOpHash": "0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f", + "sender": "0x8C6bdb488F664EB98E12cB2671fE2389Cc227D33", + "nonce": "0x18554d9a95404c5e8ac591f8608a18f80000000000000000", + "actualGasUsed": "0x7f550", + "actualGasCost": "0x4b3b147f788710", + "success": true, + "logs": [ + // ... + ], + "receipt": { + "transactionHash": "0x57465d20d634421008a167cfcfcde94847dba9d6b5d3652b071d4b84e5ce74ff", + "transactionIndex": "0x20", + "blockHash": "0xeaeec1eff4095bdcae44d86574cf1bf08b14b26be571b7c2290f32f9f250c103", + "blockNumber": "0x31de70e", + "from": "0x43370996A3Aff7B66B3AC7676dD973d01Ecec039", + "to": "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "cumulativeGasUsed": "0x4724c3", + "gasUsed": "0x7ff5a", + "address": null, + "logs": [ + // ... + ], + "logsBloom": "0x010004000800020000000040000000000000040000000000000010000004000000080000001000000212841100000000041080000000000020000240000000000800000022001000400000080000028000040000000000200001000010000000000000000a0000000000000000800800000000004110004080800110282000000000000002000000000000000000000000000200000400000000000000240040200002000000000000400000000002000140000000000000000002200000004000000002000000000021000000000000000000000000800080108020000020000000080000000000000000000000000000000000000000000108000000102000", + "status": "0x1", + "effectiveGasPrice": "0x89b098f46" + } + } +} +``` + + + diff --git a/services/reference/_partials/bundler/_eth_getuseroperationreceipt-returns.mdx b/services/reference/_partials/bundler/_eth_getuseroperationreceipt-returns.mdx new file mode 100644 index 00000000000..7445c2870b0 --- /dev/null +++ b/services/reference/_partials/bundler/_eth_getuseroperationreceipt-returns.mdx @@ -0,0 +1,25 @@ +An object containing the user operation receipt information, or `null` if the receipt is not available. +When available, the receipt object contains: + +- `entryPoint`: (string) - The EntryPoint contract address. +- `userOpHash`: (string) - The hash of the user operation. +- `sender`: (string) - The address of the account that initiated the user operation. +- `nonce`: (string) - The nonce used for the user operation. +- `actualGasUsed`: (string) - The actual amount of gas used during execution. +- `actualGasCost`: (string) - The actual cost of gas in wei. +- `success`: (boolean) - Whether the user operation was successful. +- `logs`: (array) - Array of log entries generated during execution. +- `receipt`: (object) - The underlying transaction receipt containing: + - `transactionHash`: (string) - The hash of the transaction. + - `transactionIndex`: (string) - The index of the transaction in the block. + - `blockHash`: (string) - The hash of the block containing the transaction. + - `blockNumber`: (string) - The number of the block containing the transaction. + - `from`: (string) - The address that initiated the transaction. + - `to`: (string) - The address that received the transaction. + - `cumulativeGasUsed`: (string) - The total gas used by all transactions in the block up to this one. + - `gasUsed`: (string) - The amount of gas used by this transaction. + - `address`: (string) - The contract address created, if any. + - `logs`: (array) - Array of log entries for this transaction. + - `logsBloom`: (string) - The bloom filter for the logs. + - `status`: (string) - The status of the transaction (`0x1` for success, `0x0` for failure). + - `effectiveGasPrice`: (string) - The effective gas price used for the transaction. diff --git a/services/reference/_partials/bundler/_eth_senduseroperation-description.mdx b/services/reference/_partials/bundler/_eth_senduseroperation-description.mdx new file mode 100644 index 00000000000..acb3a8fb2f5 --- /dev/null +++ b/services/reference/_partials/bundler/_eth_senduseroperation-description.mdx @@ -0,0 +1,4 @@ +import CreditCost from '@site/src/components/CreditCost/CreditCostPrice.js' + +Submits a user operation to be included onchain and returns the user operation hash if successful (or queued). +If the operation is not successful, it will return an error. diff --git a/services/reference/_partials/bundler/_eth_senduseroperation-example.mdx b/services/reference/_partials/bundler/_eth_senduseroperation-example.mdx new file mode 100644 index 00000000000..7411f170544 --- /dev/null +++ b/services/reference/_partials/bundler/_eth_senduseroperation-example.mdx @@ -0,0 +1 @@ +Replace `` with an API key from your [MetaMask Developer dashboard](https://developer.metamask.io/). \ No newline at end of file diff --git a/services/reference/_partials/bundler/_eth_senduseroperation-parameters.mdx b/services/reference/_partials/bundler/_eth_senduseroperation-parameters.mdx new file mode 100644 index 00000000000..6e3c0dd8f2d --- /dev/null +++ b/services/reference/_partials/bundler/_eth_senduseroperation-parameters.mdx @@ -0,0 +1,63 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +- `userOperation`: The user operation object containing the following fields: + + - `sender`: (string) - The address of the account making the operation. + - `nonce`: (string) - Nonce for the request from this sender. This includes the key and sequence number. + - `factory`: (string) [_optional_] - The factory contract address that will deploy the smart account if it doesn't exist yet. + - `factoryData`: (string) [_optional_] - The data passed to the factory contract to deploy the smart account. + - `callData`: (string) [_optional_] - The data to pass to the sender during the main execution call. + - `callGasLimit`: (string) - The amount of gas to allocate the main execution call. + - `verificationGasLimit`: (string) - The amount of gas to allocate for the verification step. + - `preVerificationGas`: (string) - The amount of gas to pay for to compensate the bundler for pre-verification execution and `calldata`. + - `maxFeePerGas` : (string) - Maximum fee per gas, in wei, the sender is willing to pay per gas. + - `maxPriorityFeePerGas`: (string) - Maximum fee, in wei, the sender is willing to pay per gas above the base fee. + - `paymaster`: (string) [_optional_] - Address of paymaster sponsoring the transaction, or `null` if none. + - `paymasterVerificationGasLimit`: (string) [_optional_] - The amount of gas to allocate for the verification step of the paymaster, or `null` if no paymaster. + - `paymasterPostOpGasLimit`: (string) [_optional_] - The amount of gas to allocate for the post-operation step of the paymaster, or `null` if no paymaster. + - `paymasterData`: (string) [_optional_] - The data to pass to the paymaster during the verification step, or `null` if no paymaster. + - `signature`: (string) - The signature data. + - `eip7702Auth`: (object) [_optional_] - The EIP-7702 authorization data: + - `address`: (string) - The contract address for the authorization. + - `chainId`: (string) - The chain ID. + - `nonce`: (string) - The nonce. + - `r`: (string) - The r component of the signature. + - `s`: (string) - The s component of the signature. + - `v`: (string) - The v component of the signature. + - `yParity`: (string) - The y-parity value. + +- `entryPoint`: (string) - The EntryPoint contract address (`0x0000000071727De22E5E9d8BAf0edAc6f37da032`). + + + + +- `userOperation`: The user operation object containing the following fields: + + - `sender`: (string) - The address of the account making the operation. + - `nonce`: (string) - Nonce for the request from this sender. + - `initCode`: (string) - The initialization code for the smart account if it doesn't exist yet. + - `callData`: (string) [_optional_] - The data to pass to the sender during the main execution call. + - `callGasLimit`: (string) - The amount of gas to allocate the main execution call. + - `verificationGasLimit`: (string) - The amount of gas to allocate for the verification step. + - `preVerificationGas`: (string) - The amount of gas to pay for to compensate the bundler for pre-verification execution and `calldata`. + - `maxFeePerGas` : (string) - Maximum fee per gas, in wei, the sender is willing to pay per gas. + - `maxPriorityFeePerGas`: (string) - Maximum fee, in wei, the sender is willing to pay per gas above the base fee. + - `paymasterAndData`: (string) - The address of the paymaster contract and the data that will be passed to it. + - `signature`: (string) - The signature data. + - `eip7702Auth`: (object) [_optional_] - The EIP-7702 authorization data: + - `address`: (string) - The contract address for the authorization. + - `chainId`: (string) - The chain ID. + - `nonce`: (string) - The nonce. + - `r`: (string) - The r component of the signature. + - `s`: (string) - The s component of the signature. + - `v`: (string) - The v component of the signature. + - `yParity`: (string) - The y-parity value. + +- `entryPoint`: (string) - The EntryPoint contract address (`0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789`). + + + diff --git a/services/reference/_partials/bundler/_eth_senduseroperation-request.mdx b/services/reference/_partials/bundler/_eth_senduseroperation-request.mdx new file mode 100644 index 00000000000..4c60081a15b --- /dev/null +++ b/services/reference/_partials/bundler/_eth_senduseroperation-request.mdx @@ -0,0 +1,39 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_sendUserOperation", + "params": [ + { + "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149", + "nonce": "0x845ADB2C711129D4F3966735ED98A9F09FC4CE5700000000000000000000", + "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5", + "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419", + "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000", + "callGasLimit": "0x13880", + "verificationGasLimit": "0x60B01", + "preVerificationGas": "0xD3E3", + "maxPriorityFeePerGas": "0x3B9ACA00", + "maxFeePerGas": "0x7A5CF70D5", + "paymaster": "0x", + "paymasterVerificationGasLimit": "0x0", + "paymasterPostOpGasLimit": "0x0", + "paymasterData": null, + "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032" + ], + "id": 1 + }' +``` + + + \ No newline at end of file diff --git a/services/reference/_partials/bundler/_eth_senduseroperation-response.mdx b/services/reference/_partials/bundler/_eth_senduseroperation-response.mdx new file mode 100644 index 00000000000..1545dda6edc --- /dev/null +++ b/services/reference/_partials/bundler/_eth_senduseroperation-response.mdx @@ -0,0 +1,16 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```JSON +{ + "jsonrpc": "2.0", + "id": 1, + "result": "0x4c31ae84205a9c862dd8d0822f427fb516448451850ee6f65351951f6a2b2154" +} +``` + + + \ No newline at end of file diff --git a/services/reference/_partials/bundler/_eth_senduseroperation-returns.mdx b/services/reference/_partials/bundler/_eth_senduseroperation-returns.mdx new file mode 100644 index 00000000000..7d3b27e489f --- /dev/null +++ b/services/reference/_partials/bundler/_eth_senduseroperation-returns.mdx @@ -0,0 +1,2 @@ +The 32-byte hash of the user operation (`userOpHash`). This hash uniquely identifies the user operation +and can be used to track its status. \ No newline at end of file diff --git a/services/reference/_partials/bundler/_eth_supportedentrypoints-description.mdx b/services/reference/_partials/bundler/_eth_supportedentrypoints-description.mdx new file mode 100644 index 00000000000..3d974b4ce6e --- /dev/null +++ b/services/reference/_partials/bundler/_eth_supportedentrypoints-description.mdx @@ -0,0 +1,4 @@ +import CreditCost from '@site/src/components/CreditCost/CreditCostPrice.js' + +Fetches the EntryPoint addresses supported by the bundler. The first address is the one preferred by the +bundler to use. diff --git a/services/reference/_partials/bundler/_eth_supportedentrypoints-example.mdx b/services/reference/_partials/bundler/_eth_supportedentrypoints-example.mdx new file mode 100644 index 00000000000..061467dfe81 --- /dev/null +++ b/services/reference/_partials/bundler/_eth_supportedentrypoints-example.mdx @@ -0,0 +1 @@ +Replace `` with an API key from your [MetaMask Developer dashboard](https://developer.metamask.io/). diff --git a/services/reference/_partials/bundler/_eth_supportedentrypoints-parameters.mdx b/services/reference/_partials/bundler/_eth_supportedentrypoints-parameters.mdx new file mode 100644 index 00000000000..ed30b68824b --- /dev/null +++ b/services/reference/_partials/bundler/_eth_supportedentrypoints-parameters.mdx @@ -0,0 +1 @@ +None. diff --git a/services/reference/_partials/bundler/_eth_supportedentrypoints-request.mdx b/services/reference/_partials/bundler/_eth_supportedentrypoints-request.mdx new file mode 100644 index 00000000000..aea285e3179 --- /dev/null +++ b/services/reference/_partials/bundler/_eth_supportedentrypoints-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_supportedEntryPoints", + "params": [], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/_eth_supportedentrypoints-response.mdx b/services/reference/_partials/bundler/_eth_supportedentrypoints-response.mdx new file mode 100644 index 00000000000..9f8104deb81 --- /dev/null +++ b/services/reference/_partials/bundler/_eth_supportedentrypoints-response.mdx @@ -0,0 +1,16 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```JSON +{ + "jsonrpc": "2.0", + "id": 1, + "result": ["0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789"] +} +``` + + + diff --git a/services/reference/_partials/bundler/_eth_supportedentrypoints-returns.mdx b/services/reference/_partials/bundler/_eth_supportedentrypoints-returns.mdx new file mode 100644 index 00000000000..b212a20bcfb --- /dev/null +++ b/services/reference/_partials/bundler/_eth_supportedentrypoints-returns.mdx @@ -0,0 +1,2 @@ +An array of supported EntryPoint addresses. The first address in the array is the preferred EntryPoint +that the bundler recommends using. diff --git a/services/reference/_partials/bundler/_pimlico_gettokenquotes-description.mdx b/services/reference/_partials/bundler/_pimlico_gettokenquotes-description.mdx new file mode 100644 index 00000000000..b091b22ac5b --- /dev/null +++ b/services/reference/_partials/bundler/_pimlico_gettokenquotes-description.mdx @@ -0,0 +1,3 @@ +import CreditCost from '@site/src/components/CreditCost/CreditCostPrice.js' + +Returns the tentative token exchange rates used by the ERC-20 Paymaster. diff --git a/services/reference/_partials/bundler/_pimlico_gettokenquotes-example.mdx b/services/reference/_partials/bundler/_pimlico_gettokenquotes-example.mdx new file mode 100644 index 00000000000..c83b6c8bcad --- /dev/null +++ b/services/reference/_partials/bundler/_pimlico_gettokenquotes-example.mdx @@ -0,0 +1 @@ +Replace `` with an API key from your MetaMask Developer dashboard. diff --git a/services/reference/_partials/bundler/_pimlico_gettokenquotes-parameters.mdx b/services/reference/_partials/bundler/_pimlico_gettokenquotes-parameters.mdx new file mode 100644 index 00000000000..57a26efc62b --- /dev/null +++ b/services/reference/_partials/bundler/_pimlico_gettokenquotes-parameters.mdx @@ -0,0 +1,10 @@ +:::warning +If a token in the request input is not supported by the ERC-20 Paymaster, the request will still succeed but it will not be included in the `quotes` array in the response. +::: + +- `Object`: An object containing: + - `tokens`: (array) - An array of token addresses to get quotes for. + +- `entryPoint`: (string) - The EntryPoint contract address. + +- `chainId`: (string) - The chain ID in hexadecimal format. diff --git a/services/reference/_partials/bundler/_pimlico_gettokenquotes-request.mdx b/services/reference/_partials/bundler/_pimlico_gettokenquotes-request.mdx new file mode 100644 index 00000000000..f816ae54b8f --- /dev/null +++ b/services/reference/_partials/bundler/_pimlico_gettokenquotes-request.mdx @@ -0,0 +1,21 @@ +```bash +curl https://mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pimlico_getTokenQuotes", + "params": [ + { + "tokens": [ + "0x6b175474e89094c44da98b954eedeac495271d0f", + "0x2260fac5e5542a773aa44fbcfedf7c193bc2c599", + "0x514910771af9ca656af840dff83e8264ecf986ca" + ] + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032", + "0x1" + ], + "id": 1 + }' +``` diff --git a/services/reference/_partials/bundler/_pimlico_gettokenquotes-response.mdx b/services/reference/_partials/bundler/_pimlico_gettokenquotes-response.mdx new file mode 100644 index 00000000000..b0f8ab4544f --- /dev/null +++ b/services/reference/_partials/bundler/_pimlico_gettokenquotes-response.mdx @@ -0,0 +1,19 @@ +```json +{ + "jsonrpc": "2.0", + "id": 1, + "result": { + "quotes": [ + { + "paymaster": "0x0000000000000039cd5e8aE05257CE51C473ddd1", + "token": "0x6B175474E89094C44Da98b954EedeAC495271d0F", + "postOpGas": "0xa7f8", + "exchangeRate": "0xe9d61943a68eaf17e8", + "exchangeRateNativeToUsd": "0xe9e52828", + "balanceSlot": "0x2", + "allowanceSlot": "0x3" + } + ] + } +} +``` diff --git a/services/reference/_partials/bundler/_pimlico_gettokenquotes-returns.mdx b/services/reference/_partials/bundler/_pimlico_gettokenquotes-returns.mdx new file mode 100644 index 00000000000..45eeeaab4fe --- /dev/null +++ b/services/reference/_partials/bundler/_pimlico_gettokenquotes-returns.mdx @@ -0,0 +1,10 @@ +An object containing an array of token quotes. Each quote includes information about the token, exchange rates, and storage slots. + +- `quotes`: (array) - An array of quote objects, each containing: + - `paymaster`: (string) - The address of the paymaster contract. + - `token`: (string) - The address of the token. + - `postOpGas`: (string) - The amount of gas required for post-operation processing. + - `exchangeRate`: (string) - The exchange rate between the token and the native gas token. + - `exchangeRateNativeToUsd`: (string) - The exchange rate between the native gas token and USD with 6 decimals of precision. + - `balanceSlot`: (string) - The storage slot for the token balance. + - `allowanceSlot`: (string) - The storage slot for the token allowance. \ No newline at end of file diff --git a/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-description.mdx b/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-description.mdx new file mode 100644 index 00000000000..52c1c6d2c50 --- /dev/null +++ b/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-description.mdx @@ -0,0 +1,3 @@ +import CreditCost from '@site/src/components/CreditCost/CreditCostPrice.js' + +Returns the gas prices that must be used for the user operation you are bundling with Pimlico bundlers. diff --git a/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-example.mdx b/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-example.mdx new file mode 100644 index 00000000000..061467dfe81 --- /dev/null +++ b/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-example.mdx @@ -0,0 +1 @@ +Replace `` with an API key from your [MetaMask Developer dashboard](https://developer.metamask.io/). diff --git a/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-parameters.mdx b/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-parameters.mdx new file mode 100644 index 00000000000..ed30b68824b --- /dev/null +++ b/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-parameters.mdx @@ -0,0 +1 @@ +None. diff --git a/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-request.mdx b/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-request.mdx new file mode 100644 index 00000000000..4dc90c4b37e --- /dev/null +++ b/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pimlico_getUserOperationGasPrice", + "params": [], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-response.mdx b/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-response.mdx new file mode 100644 index 00000000000..1ddeaae613f --- /dev/null +++ b/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-response.mdx @@ -0,0 +1,29 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```JSON +{ + "jsonrpc": "2.0", + "id": 1, + "result": { + "slow": { + "maxFeePerGas": "0x829b42b5", + "maxPriorityFeePerGas": "0x829b42b5" + }, + "standard": { + "maxFeePerGas": "0x88d36a75", + "maxPriorityFeePerGas": "0x88d36a75" + }, + "fast": { + "maxFeePerGas": "0x8f0b9234", + "maxPriorityFeePerGas": "0x8f0b9234" + } + } +} +``` + + + diff --git a/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-returns.mdx b/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-returns.mdx new file mode 100644 index 00000000000..79f6932dc19 --- /dev/null +++ b/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-returns.mdx @@ -0,0 +1,11 @@ +An object containing gas price recommendations for different priority levels: + +- `slow`: (object) - Lower gas prices for non-urgent transactions: + - `maxFeePerGas`: (string) - Maximum fee per gas for slow priority. + - `maxPriorityFeePerGas`: (string) - Maximum priority fee per gas for slow priority. +- `standard`: (object) - Standard gas prices for normal transactions: + - `maxFeePerGas`: (string) - Maximum fee per gas for standard priority. + - `maxPriorityFeePerGas`: (string) - Maximum priority fee per gas for standard priority. +- `fast`: (object) - Higher gas prices for urgent transactions: + - `maxFeePerGas`: (string) - Maximum fee per gas for fast priority. + - `maxPriorityFeePerGas`: (string) - Maximum priority fee per gas for fast priority. diff --git a/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-description.mdx b/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-description.mdx new file mode 100644 index 00000000000..07074dacc8d --- /dev/null +++ b/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-description.mdx @@ -0,0 +1,10 @@ +import CreditCost from '@site/src/components/CreditCost/CreditCostPrice.js' + +Returns the user operation status and, optionally, the transaction hash that +the bundler is using to bundle the user operation onchain. + +:::info +The transaction hash returned when the result is `submitted` can change if the bundler resubmits the +user operation inside a different transaction. For this reason, when showing the pending transaction hash to +the user, it is recommended to keep calling this method in case the transaction hash changes. +::: diff --git a/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-example.mdx b/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-example.mdx new file mode 100644 index 00000000000..061467dfe81 --- /dev/null +++ b/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-example.mdx @@ -0,0 +1 @@ +Replace `` with an API key from your [MetaMask Developer dashboard](https://developer.metamask.io/). diff --git a/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-parameters.mdx b/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-parameters.mdx new file mode 100644 index 00000000000..81c016b2223 --- /dev/null +++ b/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-parameters.mdx @@ -0,0 +1 @@ +- `userOpHash`: (string) - The 32-byte hash of the user operation to check the status for. diff --git a/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-request.mdx b/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-request.mdx new file mode 100644 index 00000000000..bc66e5c2457 --- /dev/null +++ b/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pimlico_getUserOperationStatus", + "params": ["0x9bd004b8240da8eba3a02190a72be8a70ade8ef4c581b6e59789643c5e642ac3"], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-response.mdx b/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-response.mdx new file mode 100644 index 00000000000..d1515926499 --- /dev/null +++ b/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-response.mdx @@ -0,0 +1,47 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```JSON +{ + "jsonrpc": "2.0", + "id": 1, + "result": { + "status": "not_found", + "transactionHash": null + } +} +``` + + + + +```JSON +{ + "jsonrpc": "2.0", + "id": 1, + "result": { + "status": "submitted", + "transactionHash": "0x9bd004b8240da8eba3a02190a72be8a70ade8ef4c581b6e59789643c5e642ac3" + } +} +``` + + + + +```JSON +{ + "jsonrpc": "2.0", + "id": 1, + "result": { + "status": "included", + "transactionHash": "0x9bd004b8240da8eba3a02190a72be8a70ade8ef4c581b6e59789643c5e642ac3" + } +} +``` + + + diff --git a/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-returns.mdx b/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-returns.mdx new file mode 100644 index 00000000000..60a36e4a6b7 --- /dev/null +++ b/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-returns.mdx @@ -0,0 +1,16 @@ +An object containing the status information: + +- `status`: (string) - The current status of the user operation. Possible values: + + | Result | Response includes transaction hash | Description | + | :------- | :-------------------------------- | :---------- | + | `not_found` | false | The operation hash is not known to the bundler or has been rejected during validation and has never entered the mempool. | + | `not_submitted` | false | The operation hash is known to the bundler but is sitting in the mempool and has not been bundled into a transaction yet. | + | `submitted` | true | The operation hash is known to the bundler, has been bundled into a transaction which is currently pending in the mempool. | + | `rejected` | false | The operation hash has entered the mempool but as it was being bundled into a bundle transaction the re-simulation failed and it was never submitted. | + | `included` | true | The operation hash is known to the bundler and has been included onchain. | + | `failed` | true | The operation hash is known to the bundler and the transaction bundling it has been included onchain but the bundle transaction reverted. | + | `queued` | false | The operation hash is known to the bundler but is waiting in a queue before being sent to the mempool due to its nonce being too high. | + +- `transactionHash`: (string) - The transaction hash bundling the user operation, or `null` if + not applicable for the current status. diff --git a/services/reference/_partials/bundler/_pimlico_simulateassetchanges-description.mdx b/services/reference/_partials/bundler/_pimlico_simulateassetchanges-description.mdx new file mode 100644 index 00000000000..77b2869992e --- /dev/null +++ b/services/reference/_partials/bundler/_pimlico_simulateassetchanges-description.mdx @@ -0,0 +1,9 @@ +import CreditCost from '@site/src/components/CreditCost/CreditCostPrice.js' + +Simulates a user operation to predict the asset changes it will cause. Shows all balance changes +and shows all balance changes including native currency, ERC-20, ERC-1155, and ERC-721 tokens. + +:::info +This method does not support v0.6 user operations. +::: + diff --git a/services/reference/_partials/bundler/_pimlico_simulateassetchanges-errors.mdx b/services/reference/_partials/bundler/_pimlico_simulateassetchanges-errors.mdx new file mode 100644 index 00000000000..fa52af5c0c3 --- /dev/null +++ b/services/reference/_partials/bundler/_pimlico_simulateassetchanges-errors.mdx @@ -0,0 +1,7 @@ +Common error responses when simulation fails: + +| Error Code | Description | +| :------------------------| :------------------------------------------------- | +| `AA23` | User operation reverted during simulation. | +| `UserOperationReverted` | User operation execution failed during simulation. | +| `SimulateValidation` | Validation failed for the user operation. | \ No newline at end of file diff --git a/services/reference/_partials/bundler/_pimlico_simulateassetchanges-example.mdx b/services/reference/_partials/bundler/_pimlico_simulateassetchanges-example.mdx new file mode 100644 index 00000000000..061467dfe81 --- /dev/null +++ b/services/reference/_partials/bundler/_pimlico_simulateassetchanges-example.mdx @@ -0,0 +1 @@ +Replace `` with an API key from your [MetaMask Developer dashboard](https://developer.metamask.io/). diff --git a/services/reference/_partials/bundler/_pimlico_simulateassetchanges-parameters.mdx b/services/reference/_partials/bundler/_pimlico_simulateassetchanges-parameters.mdx new file mode 100644 index 00000000000..e5aedbbd61c --- /dev/null +++ b/services/reference/_partials/bundler/_pimlico_simulateassetchanges-parameters.mdx @@ -0,0 +1,16 @@ +- `userOperation`: (object) - The user operation object with the same format as `eth_estimateUserOperationGas`: + - `sender`: (string) - The address of the account making the operation. + - `nonce`: (string) - The account nonce. + - `callData`: (string) - The data to pass to the sender during the main execution call. + - `callGasLimit`: (string) [_optional_] - The amount of gas to allocate the main execution call. + - `verificationGasLimit`: (string) [_optional_] - The amount of gas to allocate for the verification step. + - `preVerificationGas`: (string) [_optional_] - The amount of gas to pay for to compensate the bundler. + - `maxFeePerGas`: (string) [_optional_] - Maximum fee per gas, in wei, the sender is willing to pay per gas. + - `maxPriorityFeePerGas`: (string) [_optional_] - Maximum priority fee per gas above the base fee. + - `paymasterVerificationGasLimit`: (string) [_optional_] - Gas for paymaster verification step. + - `paymasterPostOpGasLimit`: (string) [_optional_] - Gas for paymaster post-operation step. + - `signature`: (string) - Must be a valid dummy signature for simulation. + +- `entryPoint`: (string) - The EntryPoint contract address. + +- `blockNumber`: (string) [_optional_] - Hex encoded block number to run the simulation at (defaults to `latest`). diff --git a/services/reference/_partials/bundler/_pimlico_simulateassetchanges-request.mdx b/services/reference/_partials/bundler/_pimlico_simulateassetchanges-request.mdx new file mode 100644 index 00000000000..401dcc394c2 --- /dev/null +++ b/services/reference/_partials/bundler/_pimlico_simulateassetchanges-request.mdx @@ -0,0 +1,35 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + + ```bash + curl https://mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pimlico_simulateAssetChanges", + "id": 4337, + "params": [ + { + "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149", + "nonce": "0x1", + "callData": "0x9faf00f4d9c8df66a69fd6242d468aa8a31a439d14fc6c7af3868a06ed392233bc7e39475df25ad2b52bd5e19e1d438277207a415cb4d4ce8ad192464c55ddf1a9559ff900000000000000000000000073da77f0f2daaa88b908413495d3d0e37458212e00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000039946fd82c9c86c9a61bceed86fbdd284590bdd90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", + "callGasLimit": "0x0", + "verificationGasLimit": "0x0", + "preVerificationGas": "0x0", + "maxFeePerGas": "0x7a5cf70d5", + "maxPriorityFeePerGas": "0x3b9aca00", + "paymasterVerificationGasLimit": "0x0", + "paymasterPostOpGasLimit": "0x0", + "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032" + ] + }' + ``` + + + diff --git a/services/reference/_partials/bundler/_pimlico_simulateassetchanges-response.mdx b/services/reference/_partials/bundler/_pimlico_simulateassetchanges-response.mdx new file mode 100644 index 00000000000..03f2596ca76 --- /dev/null +++ b/services/reference/_partials/bundler/_pimlico_simulateassetchanges-response.mdx @@ -0,0 +1,165 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + + ```JSON + { + "jsonrpc": "2.0", + "id": 4337, + "result": { + "assetChanges": [ + { + "token": { + "tokenType": "NATIVE" + }, + "value": { + "diff": "-1000000000000000000", + "pre": "5000000000000000000", + "post": "4000000000000000000" + } + } + ] + } + } + ``` + + + + + ```JSON + { + "jsonrpc": "2.0", + "id": 4337, + "result": { + "assetChanges": [ + { + "token": { + "tokenType": "ERC-20", + "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", + "decimals": 6, + "name": "USD Coin", + "symbol": "USDC" + }, + "value": { + "diff": "-1000000", + "pre": "100000000", + "post": "99000000" + } + } + ] + } + } + ``` + + + + + ```JSON + { + "jsonrpc": "2.0", + "id": 4337, + "result": { + "assetChanges": [ + { + "token": { + "tokenType": "ERC-721", + "address": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D", + "tokenId": 1234, + "name": "Bored Ape Yacht Club", + "symbol": "BAYC" + }, + "value": { + "diff": "1", + "pre": "0", + "post": "1" + } + } + ] + } + } + ``` + + + + + ```JSON + { + "jsonrpc": "2.0", + "id": 4337, + "result": { + "assetChanges": [ + { + "token": { + "tokenType": "ERC-1155", + "address": "0x76BE3b62873462d2142405439777e971754E8E77", + "tokenId": 5678, + "name": "OpenSea Shared Storefront", + "symbol": "OPENSTORE" + }, + "value": { + "diff": "10", + "pre": "5", + "post": "15" + } + } + ] + } + } + ``` + + + + + ```JSON + { + "jsonrpc": "2.0", + "id": 4337, + "result": { + "assetChanges": [ + { + "token": { + "tokenType": "ERC-20", + "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", + "decimals": 6, + "name": "USD Coin", + "symbol": "USDC" + }, + "value": { + "diff": "-1000000", + "pre": "100000000", + "post": "99000000" + } + }, + { + "token": { + "tokenType": "ERC-20", + "address": "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599", + "decimals": 8, + "name": "Wrapped BTC", + "symbol": "WBTC" + }, + "value": { + "diff": "1196", + "pre": "0", + "post": "1196" + } + }, + { + "token": { + "tokenType": "NATIVE" + }, + "value": { + "diff": "-1000000000000000000", + "pre": "5000000000000000000", + "post": "4000000000000000000" + } + } + ] + } + } + ``` + + + diff --git a/services/reference/_partials/bundler/_pimlico_simulateassetchanges-returns.mdx b/services/reference/_partials/bundler/_pimlico_simulateassetchanges-returns.mdx new file mode 100644 index 00000000000..ff27148c951 --- /dev/null +++ b/services/reference/_partials/bundler/_pimlico_simulateassetchanges-returns.mdx @@ -0,0 +1,10 @@ +An object containing asset changes that would occur from executing the user operation: + +`assetChanges`: (array) - Array of asset change objects, each containing: + +- `token`: (object) - Token information (varies by token type). Token metadata fields (`name` and `symbol`) + are included when available but may be undefined as they are optional in token standards. +- `value`: (object) - Balance change information: + - `diff`: (string) - The balance difference. + - `pre`: (string) - Balance before the operation. + - `post`: (string) - Balance after the operation. diff --git a/services/reference/_partials/bundler/_pm_getpaymasterdata-description.mdx b/services/reference/_partials/bundler/_pm_getpaymasterdata-description.mdx new file mode 100644 index 00000000000..5cfceba5c39 --- /dev/null +++ b/services/reference/_partials/bundler/_pm_getpaymasterdata-description.mdx @@ -0,0 +1,4 @@ +import CreditCost from '@site/src/components/CreditCost/CreditCostPrice.js' + +Returns values to be used in paymaster-related fields of a signed user operation. + diff --git a/services/reference/_partials/bundler/_pm_getpaymasterdata-example.mdx b/services/reference/_partials/bundler/_pm_getpaymasterdata-example.mdx new file mode 100644 index 00000000000..c83b6c8bcad --- /dev/null +++ b/services/reference/_partials/bundler/_pm_getpaymasterdata-example.mdx @@ -0,0 +1 @@ +Replace `` with an API key from your MetaMask Developer dashboard. diff --git a/services/reference/_partials/bundler/_pm_getpaymasterdata-parameters.mdx b/services/reference/_partials/bundler/_pm_getpaymasterdata-parameters.mdx new file mode 100644 index 00000000000..ad72c9bce6b --- /dev/null +++ b/services/reference/_partials/bundler/_pm_getpaymasterdata-parameters.mdx @@ -0,0 +1,74 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +- `userOperation`: The user operation object containing the following fields: + + - `sender`: (string) - The address of the account making the operation. + - `nonce`: (string) - Unique identifier for the request from this sender. This includes the key and sequence number. + - `factory`: (string) [_optional_] - The factory contract address that will deploy the smart account if it doesn't exist yet. + - `factoryData`: (string) [_optional_] - The data passed to the factory contract to deploy the smart account. + - `callData`: (string) [_optional_] - The data to pass to the sender during the main execution call. + - `callGasLimit`: (string) - The amount of gas to allocate the main execution call. + - `verificationGasLimit`: (string) - The amount of gas to allocate for the verification step. + - `preVerificationGas`: (string) - The amount of gas to pay for to compensate the bundler for pre-verification execution and `calldata`. + - `maxFeePerGas`: (string) - Maximum fee per gas, in wei, the sender is willing to pay per gas. + - `maxPriorityFeePerGas`: (string) - Maximum fee, in wei, the sender is willing to pay per gas above the base fee. + - `paymaster`: (string) [_optional_] - Address of paymaster sponsoring the transaction, or `null` if none. + - `paymasterVerificationGasLimit`: (string) [_optional_] - The amount of gas to allocate for the verification step of the paymaster, or `null` if no paymaster. + - `paymasterPostOpGasLimit`: (string) [_optional_] - The amount of gas to allocate for the post-operation step of the paymaster, or `null` if no paymaster. + - `paymasterData`: (string) [_optional_] - The data to pass to the paymaster during the verification step, or `null` if no paymaster. + - `eip7702Auth`: (object) [_optional_] - The EIP-7702 authorization data. This can be a dummy authorization: + - `address`: (string) - The contract address for the authorization. + - `chainId`: (string) - The chain ID. + - `nonce`: (string) - The nonce. + - `r`: (string) - The r component of the signature. + - `s`: (string) - The s component of the signature. + - `v`: (string) - The v component of the signature. + - `yParity`: (string) - The y-parity value. + +- `entryPoint`: (string) - The EntryPoint contract address (`0x0000000071727De22E5E9d8BAf0edAc6f37da032`). + +- `chainId`: (string) - The chain ID in hexadecimal format. + +- `context`: (object) [_optional_] - Information about the specific paymaster implementation you are using. + If use paying gas in ERC-20 Tokens, pass the token address: + - An object with `token`: (string) - The ERC-20 token address to use for payment. + - An object with `sponsorshipPolicyId`: (string) - The ID of the sponsorship policy to use. + + + + +- `userOperation`: The user operation object containing the following fields: + + - `sender`: (string) - The address of the account making the operation. + - `nonce`: (string) - Unique identifier for the request from this sender. + - `initCode`: (string) - The initialization code for the smart account if it doesn't exist yet. + - `callData`: (string) [_optional_] - The data to pass to the sender during the main execution call. + - `callGasLimit`: (string) - The amount of gas to allocate the main execution call. + - `verificationGasLimit`: (string) - The amount of gas to allocate for the verification step. + - `preVerificationGas`: (string) - The amount of gas to pay for to compensate the bundler for pre-verification execution and `calldata`. + - `maxFeePerGas`: (string) - Maximum fee per gas, in wei, the sender is willing to pay per gas. + - `maxPriorityFeePerGas`: (string) - Maximum fee, in wei, the sender is willing to pay per gas above the base fee. + - `eip7702Auth`: (object) [_optional_] - The EIP-7702 authorization data. This can be a dummy authorization: + - `address`: (string) - The contract address for the authorization. + - `chainId`: (string) - The chain ID. + - `nonce`: (string) - The nonce. + - `r`: (string) - The r component of the signature. + - `s`: (string) - The s component of the signature. + - `v`: (string) - The v component of the signature. + - `yParity`: (string) - The y-parity value. + +- `entryPoint`: (string) - The EntryPoint contract address (`0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789`). + +- `chainId`: (string) - The chain ID in hexadecimal format. + +- `context`: (object) [_optional_] - Information about the specific paymaster implementation you are using. + If use paying gas in ERC-20 Tokens, pass the token address: + - An object with `token`: (string) - The ERC-20 token address to use for payment. + - An object with `sponsorshipPolicyId`: (string) - The ID of the sponsorship policy to use. + + + diff --git a/services/reference/_partials/bundler/_pm_getpaymasterdata-request.mdx b/services/reference/_partials/bundler/_pm_getpaymasterdata-request.mdx new file mode 100644 index 00000000000..3afb55cebbc --- /dev/null +++ b/services/reference/_partials/bundler/_pm_getpaymasterdata-request.mdx @@ -0,0 +1,129 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + + ```bash + curl https://mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pm_getPaymasterData", + "params": [ + { + "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149", + "nonce": "0x845ADB2C711129D4F3966735ED98A9F09FC4CE5700000000000000000000", + "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5", + "factoryData": "0xc5265d5d0000000000000000...", + "callData": "0xe9ae5c53", + "callGasLimit": "0x13880", + "verificationGasLimit": "0x60B01", + "preVerificationGas": "0xD3E3", + "maxPriorityFeePerGas": "0x3B9ACA00", + "maxFeePerGas": "0x7A5CF70D5", + "paymaster": null, + "paymasterVerificationGasLimit": null, + "paymasterPostOpGasLimit": null, + "paymasterData": null, + "eip7702Auth": { + "address": "0x1234567890123456789012345678901234567890", + "chainId": "0x1", + "nonce": "0x1", + "r": "0x1234567890123456789012345678901234567890123456789012345678901234", + "s": "0x1234567890123456789012345678901234567890123456789012345678901234", + "v": "0x1b", + "yParity": "0x1" + } + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032", + "0x1", + { + "token": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" + } + ], + "id": 4337 + }' + ``` + + + + + ```bash + curl https://mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pm_getPaymasterData", + "params": [ + { + "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149", + "nonce": "0x845ADB2C711129D4F3966735ED98A9F09FC4CE5700000000000000000000", + "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5", + "factoryData": "0xc5265d5d0000000000000000...", + "callData": "0xe9ae5c53", + "callGasLimit": "0x13880", + "verificationGasLimit": "0x60B01", + "preVerificationGas": "0xD3E3", + "maxPriorityFeePerGas": "0x3B9ACA00", + "maxFeePerGas": "0x7A5CF70D5", + "paymaster": null, + "paymasterVerificationGasLimit": null, + "paymasterPostOpGasLimit": null, + "paymasterData": null + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032", + "0x1", + { + "sponsorshipPolicyId": "policy-123456" + } + ], + "id": 4337 + }' + ``` + + + + + ```bash + curl https://mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pm_getPaymasterData", + "params": [ + { + "sender": "0xb341FEAFaF71b09089d03B7D114599f8F491EE45", + "nonce": "0x0", + "initCode": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3296601cd000000...", + "callData": "0x51945447", + "eip7702Auth": { + "address": "0x1234567890123456789012345678901234567890", + "chainId": "0x1", + "nonce": "0x1", + "r": "0x1234567890123456789012345678901234567890123456789012345678901234", + "s": "0x1234567890123456789012345678901234567890123456789012345678901234", + "v": "0x1b", + "yParity": "0x1" + }, + "callGasLimit": "0x115b5c0", + "verificationGasLimit": "0x249f0", + "preVerificationGas": "0xeb11", + "maxPriorityFeePerGas": "0x12a05f200", + "maxFeePerGas": "0x5b08082fa" + }, + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0x1", + { + "token": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" + } + ], + "id": 4337 + }' + ``` + + + diff --git a/services/reference/_partials/bundler/_pm_getpaymasterdata-response.mdx b/services/reference/_partials/bundler/_pm_getpaymasterdata-response.mdx new file mode 100644 index 00000000000..e74047e5e1f --- /dev/null +++ b/services/reference/_partials/bundler/_pm_getpaymasterdata-response.mdx @@ -0,0 +1,35 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + + ```json + { + "jsonrpc": "2.0", + "id": 4337, + "result": { + "paymaster": "0x0000000000000039cd5e8aE05257CE51C473ddd1", + "paymasterData": "0x01000066d1a1a4000000000000036cbd53842c5426634e7929541ec2318f3dcf7e0000000000000000000000000000c350000000000000000000000000000000000000000000000000000000009666598f0b846603deb0a8e59b78ba3dce9c3466394ccf07795d38ecf7925dfe12c07a022c27bb199099fa54de2f5e3e87dd9c581df52e9d3d199166a31124cc1227a9921b" + } + } + ``` + + + + + ```json + { + "jsonrpc": "2.0", + "id": 4337, + "result": { + "paymasterAndData": "0x0000000000000039cd5e8aE05257CE51C473ddd101000066d1a1a4000000000000036cbd53842c5426634e7929541ec2318f3dcf7e0000000000000000000000000000c350000000000000000000000000000000000000000000000000000000009666598f0b846603deb0a8e59b78ba3dce9c3466394ccf07795d38ecf7925dfe12c07a022c27bb199099fa54de2f5e3e87dd9c581df52e9d3d199166a31124cc1227a9921b", + "preVerificationGas": "0x350f7", + "verificationGasLimit": "0x501ab", + "callGasLimit": "0x212df" + } + } + ``` + + + diff --git a/services/reference/_partials/bundler/_pm_getpaymasterdata-returns.mdx b/services/reference/_partials/bundler/_pm_getpaymasterdata-returns.mdx new file mode 100644 index 00000000000..40d87fd8c4f --- /dev/null +++ b/services/reference/_partials/bundler/_pm_getpaymasterdata-returns.mdx @@ -0,0 +1,21 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +An object containing paymaster-related fields. + + + + +- `paymaster`: (string) - The address of the paymaster contract. +- `paymasterData`: (string) - The data to be used in the paymasterData field of the user operation. + + + + +- `paymasterAndData`: (string) - The combined paymaster address and data to be used in the user operation. +- `preVerificationGas`: (string) - The updated preVerificationGas value to use in the user operation. +- `verificationGasLimit`: (string) - The updated verificationGasLimit value to use in the user operation. +- `callGasLimit`: (string) - The updated callGasLimit value to use in the user operation. + + + diff --git a/services/reference/_partials/bundler/_pm_getpaymasterstubdata-description.mdx b/services/reference/_partials/bundler/_pm_getpaymasterstubdata-description.mdx new file mode 100644 index 00000000000..7391bc1bd2d --- /dev/null +++ b/services/reference/_partials/bundler/_pm_getpaymasterstubdata-description.mdx @@ -0,0 +1,3 @@ +import CreditCost from '@site/src/components/CreditCost/CreditCostPrice.js' + +Returns stub values to be used in paymaster-related fields of an unsigned user operation for gas estimation. diff --git a/services/reference/_partials/bundler/_pm_getpaymasterstubdata-example.mdx b/services/reference/_partials/bundler/_pm_getpaymasterstubdata-example.mdx new file mode 100644 index 00000000000..c83b6c8bcad --- /dev/null +++ b/services/reference/_partials/bundler/_pm_getpaymasterstubdata-example.mdx @@ -0,0 +1 @@ +Replace `` with an API key from your MetaMask Developer dashboard. diff --git a/services/reference/_partials/bundler/_pm_getpaymasterstubdata-parameters.mdx b/services/reference/_partials/bundler/_pm_getpaymasterstubdata-parameters.mdx new file mode 100644 index 00000000000..7d19c3cc7b7 --- /dev/null +++ b/services/reference/_partials/bundler/_pm_getpaymasterstubdata-parameters.mdx @@ -0,0 +1,76 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +- `userOperation`: The user operation object containing the following fields: + + - `sender`: (string) - The address of the account making the operation. + - `nonce`: (string) - Unique identifier for the request from this sender. This includes the key and sequence number. + - `factory`: (string) [_optional_] - The factory contract address that will deploy the smart account if it doesn't exist yet. + - `factoryData`: (string) [_optional_] - The data passed to the factory contract to deploy the smart account. + - `callData`: (string) [_optional_] - The data to pass to the sender during the main execution call. + - `callGasLimit`: (string) - The amount of gas to allocate the main execution call. + - `verificationGasLimit`: (string) - The amount of gas to allocate for the verification step. + - `preVerificationGas`: (string) - The amount of gas to pay for to compensate the bundler for pre-verification execution and `calldata`. + - `maxFeePerGas`: (string) - Maximum fee per gas, in wei, the sender is willing to pay per gas. + - `maxPriorityFeePerGas`: (string) - Maximum fee, in wei, the sender is willing to pay per gas above the base fee. + - `paymaster`: (string) [_optional_] - Address of paymaster sponsoring the transaction, or `null` if none. + - `paymasterVerificationGasLimit`: (string) [_optional_] - The amount of gas to allocate for the verification step of the paymaster, or `null` if no paymaster. + - `paymasterPostOpGasLimit`: (string) [_optional_] - The amount of gas to allocate for the post-operation step of the paymaster, or `null` if no paymaster. + - `paymasterData`: (string) [_optional_] - The data to pass to the paymaster during the verification step, or `null` if no paymaster. + - `eip7702Auth`: (object) [_optional_] - The EIP-7702 authorization data. This can be a dummy authorization: + - `address`: (string) - The contract address for the authorization. + - `chainId`: (string) - The chain ID. + - `nonce`: (string) - The nonce. + - `r`: (string) - The r component of the signature. + - `s`: (string) - The s component of the signature. + - `v`: (string) - The v component of the signature. + - `yParity`: (string) - The y-parity value. + +- `entryPoint`: (string) - The EntryPoint contract address (`0x0000000071727De22E5E9d8BAf0edAc6f37da032`). + +- `chainId`: (string) - The chain ID in hexadecimal format. + +- `context`: (object) [_optional_] - Information about the specific paymaster implementation you are using. + If use paying gas in ERC-20 Tokens, pass the token address: + - An object with `token`: (string) - The ERC-20 token address to use for payment. + - An object with `sponsorshipPolicyId`: (string) - The ID of the sponsorship policy to use. + + + + +- `userOperation`: The user operation object containing the following fields: + + - `sender`: (string) - The address of the account making the operation. + - `nonce`: (string) - Unique identifier for the request from this sender. + - `initCode`: (string) - The initialization code for the smart account if it doesn't exist yet. + - `callData`: (string) [_optional_] - The data to pass to the sender during the main execution call. + - `callGasLimit`: (string) - The amount of gas to allocate the main execution call. + - `verificationGasLimit`: (string) - The amount of gas to allocate for the verification step. + - `preVerificationGas`: (string) - The amount of gas to pay for to compensate the bundler for pre-verification execution and `calldata`. + - `maxFeePerGas`: (string) - Maximum fee per gas, in wei, the sender is willing to pay per gas. + - `maxPriorityFeePerGas`: (string) - Maximum fee, in wei, the sender is willing to pay per gas above the base fee. + - `paymasterAndData`: (string) - The address of the paymaster contract and the data that will be passed to it. + - `signature`: (string) - The signature data. + - `eip7702Auth`: (object) [_optional_] - The EIP-7702 authorization data. This can be a dummy authorization: + - `address`: (string) - The contract address for the authorization. + - `chainId`: (string) - The chain ID. + - `nonce`: (string) - The nonce. + - `r`: (string) - The r component of the signature. + - `s`: (string) - The s component of the signature. + - `v`: (string) - The v component of the signature. + - `yParity`: (string) - The y-parity value. + +- `entryPoint`: (string) - The EntryPoint contract address (`0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789`). + +- `chainId`: (string) - The chain ID in hexadecimal format. + +- `context`: (object) [_optional_] - Information about the specific paymaster implementation you are using. + If use paying gas in ERC-20 Tokens, pass the token address: + - An object with `token`: (string) - The ERC-20 token address to use for payment. + - An object with `sponsorshipPolicyId`: (string) - The ID of the sponsorship policy to use. + + + diff --git a/services/reference/_partials/bundler/_pm_getpaymasterstubdata-request.mdx b/services/reference/_partials/bundler/_pm_getpaymasterstubdata-request.mdx new file mode 100644 index 00000000000..a0381fdee3b --- /dev/null +++ b/services/reference/_partials/bundler/_pm_getpaymasterstubdata-request.mdx @@ -0,0 +1,131 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + + ```bash + curl https://mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pm_getPaymasterStubData", + "params": [ + { + "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149", + "nonce": "0x845ADB2C711129D4F3966735ED98A9F09FC4CE5700000000000000000000", + "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5", + "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e4190000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001243c3b752b01845ADb2C711129d4f3966735eD98a9F09fC4cE570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000014375d883Cb4afb913aC35c4B394468C4bC73d77C40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "callData": "0xe9ae5c53", + "callGasLimit": "0x13880", + "verificationGasLimit": "0x60B01", + "preVerificationGas": "0xD3E3", + "maxPriorityFeePerGas": "0x3B9ACA00", + "maxFeePerGas": "0x7A5CF70D5", + "paymaster": null, + "paymasterVerificationGasLimit": null, + "paymasterPostOpGasLimit": null, + "paymasterData": null, + "eip7702Auth": { + "address": "0x1234567890123456789012345678901234567890", + "chainId": "0x1", + "nonce": "0x1", + "r": "0x1234567890123456789012345678901234567890123456789012345678901234", + "s": "0x1234567890123456789012345678901234567890123456789012345678901234", + "v": "0x1b", + "yParity": "0x1" + } + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032", + "0x1", + { + "token": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" + } + ], + "id": 4337 + }' + ``` + + + + + ```bash + curl https://mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pm_getPaymasterStubData", + "params": [ + { + "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149", + "nonce": "0x845ADB2C711129D4F3966735ED98A9F09FC4CE5700000000000000000000", + "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5", + "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e4190000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001243c3b752b01845ADb2C711129d4f3966735eD98a9F09fC4cE570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000014375d883Cb4afb913aC35c4B394468C4bC73d77C40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "callData": "0xe9ae5c53", + "callGasLimit": "0x13880", + "verificationGasLimit": "0x60B01", + "preVerificationGas": "0xD3E3", + "maxPriorityFeePerGas": "0x3B9ACA00", + "maxFeePerGas": "0x7A5CF70D5", + "paymaster": null, + "paymasterVerificationGasLimit": null, + "paymasterPostOpGasLimit": null, + "paymasterData": null + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032", + "0x1", + { + "sponsorshipPolicyId": "policy-123456" + } + ], + "id": 4337 + }' + ``` + + + + + ```bash + curl https://mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pm_getPaymasterStubData", + "params": [ + { + "sender": "0xb341FEAFaF71b09089d03B7D114599f8F491EE45", + "nonce": "0x0", + "initCode": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3296601cd0000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b5000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084d1f57894000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea039000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014375cd3E53E18f65672E9d0Eb6AD174511b0BF98100000000000000000000000000000000000000000000000000000000000000000000000000000000", + "callData": "0x5194544700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "callGasLimit": "0x115b5c0", + "verificationGasLimit": "0x249f0", + "preVerificationGas": "0xeb11", + "maxPriorityFeePerGas": "0x12a05f200", + "maxFeePerGas": "0x5b08082fa", + "paymasterAndData": "0x", + "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c", + "eip7702Auth": { + "address": "0x1234567890123456789012345678901234567890", + "chainId": "0x1", + "nonce": "0x1", + "r": "0x1234567890123456789012345678901234567890123456789012345678901234", + "s": "0x1234567890123456789012345678901234567890123456789012345678901234", + "v": "0x1b", + "yParity": "0x1" + } + }, + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0x1", + { + "token": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" + } + ], + "id": 4337 + }' + ``` + + + diff --git a/services/reference/_partials/bundler/_pm_getpaymasterstubdata-response.mdx b/services/reference/_partials/bundler/_pm_getpaymasterstubdata-response.mdx new file mode 100644 index 00000000000..51b3744fcc8 --- /dev/null +++ b/services/reference/_partials/bundler/_pm_getpaymasterstubdata-response.mdx @@ -0,0 +1,34 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + + ```json + { + "jsonrpc": "2.0", + "id": 4337, + "result": { + "paymaster": "0x0000000000000039cd5e8aE05257CE51C473ddd1", + "paymasterData": "0x01000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000c350000000000000000000000000000000000000000000000088ed21153e8f500000cd91f19f0f19ce862d7bec7b7d9b95457145afc6f639c28fd0360f488937bfa41e6eedcd3a46054fd95fcd0e3ef6b0bc0a615c4d975eef55c8a3517257904d5b1c", + "paymasterVerificationGasLimit": "0xc350", + "paymasterPostOpGasLimit": "0x4e20" + } + } + ``` + + + + + ```json + { + "jsonrpc": "2.0", + "id": 4337, + "result": { + "paymasterAndData": "0x0000000000000039cd5e8aE05257CE51C473ddd101000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000c350000000000000000000000000000000000000000000000088ed21153e8f500000cd91f19f0f19ce862d7bec7b7d9b95457145afc6f639c28fd0360f488937bfa41e6eedcd3a46054fd95fcd0e3ef6b0bc0a615c4d975eef55c8a3517257904d5b1c" + } + } + ``` + + + diff --git a/services/reference/_partials/bundler/_pm_getpaymasterstubdata-returns.mdx b/services/reference/_partials/bundler/_pm_getpaymasterstubdata-returns.mdx new file mode 100644 index 00000000000..9aad40e2004 --- /dev/null +++ b/services/reference/_partials/bundler/_pm_getpaymasterstubdata-returns.mdx @@ -0,0 +1,22 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +An object containing stub paymaster-related fields for gas estimation. + + + + +- `paymaster`: (string) - The address of the paymaster contract. +- `paymasterData`: (string) - The data to be used in the `paymasterData` field of the user operation. +- `paymasterVerificationGasLimit`: (string) - The amount of gas to allocate for the verification step + of the paymaster. +- `paymasterPostOpGasLimit`: (string) - The amount of gas to allocate for the post-operation step of + the paymaster. + + + + +- `paymasterAndData`: (string) - The combined paymaster address and data to be used in the user operation. + + + diff --git a/services/reference/_partials/bundler/_pm_sponsoruseroperation-description.mdx b/services/reference/_partials/bundler/_pm_sponsoruseroperation-description.mdx new file mode 100644 index 00000000000..8a9683d536b --- /dev/null +++ b/services/reference/_partials/bundler/_pm_sponsoruseroperation-description.mdx @@ -0,0 +1,4 @@ +import CreditCost from '@site/src/components/CreditCost/CreditCostPrice.js' + +Sponsors a user operation by providing all necessary paymaster-related fields and updated gas +parameters. diff --git a/services/reference/_partials/bundler/_pm_sponsoruseroperation-example.mdx b/services/reference/_partials/bundler/_pm_sponsoruseroperation-example.mdx new file mode 100644 index 00000000000..c83b6c8bcad --- /dev/null +++ b/services/reference/_partials/bundler/_pm_sponsoruseroperation-example.mdx @@ -0,0 +1 @@ +Replace `` with an API key from your MetaMask Developer dashboard. diff --git a/services/reference/_partials/bundler/_pm_sponsoruseroperation-parameters.mdx b/services/reference/_partials/bundler/_pm_sponsoruseroperation-parameters.mdx new file mode 100644 index 00000000000..d4de9b63d17 --- /dev/null +++ b/services/reference/_partials/bundler/_pm_sponsoruseroperation-parameters.mdx @@ -0,0 +1,58 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +- `userOperation`: The user operation object containing the following fields: + + - `sender`: (string) - The address of the account making the operation. + - `nonce`: (string) - Unique identifier for the request from this sender. This includes the key and + sequence number. + - `factory`: (string) [_optional_] - The factory contract address that will deploy the smart account + if it doesn't exist yet. + - `factoryData`: (string) [_optional_] - The data passed to the factory contract to deploy the smart account. + - `callData`: (string) [_optional_] - The data to pass to the sender during the main execution call. + - `callGasLimit`: (string) - The amount of gas to allocate the main execution call. + - `verificationGasLimit`: (string) - The amount of gas to allocate for the verification step. + - `preVerificationGas`: (string) - The amount of gas to pay for to compensate the bundler for + pre-verification execution and `calldata`. + - `maxFeePerGas`: (string) - Maximum fee per gas, in wei, the sender is willing to pay per gas. + - `maxPriorityFeePerGas`: (string) - Maximum fee, in wei, the sender is willing to pay per gas above + the base fee. + - `paymaster`: (string) [_optional_] - Address of paymaster sponsoring the transaction, or `null` if none. + - `paymasterVerificationGasLimit`: (string) [_optional_] - The amount of gas to allocate for the + verification step of the paymaster, or `null` if no paymaster. + - `paymasterPostOpGasLimit`: (string) [_optional_] - The amount of gas to allocate for the post-operation + step of the paymaster, or `null` if no paymaster. + - `paymasterData`: (string) [_optional_] - The data to pass to the paymaster during the verification + step, or `null` if no paymaster. +- `entryPoint`: (string) - The EntryPoint contract address (`0x0000000071727De22E5E9d8BAf0edAc6f37da032`). +- `context`: (object) [_optional_] - Information about the specific paymaster implementation you are using. + If use paying gas in ERC-20 Tokens, pass the token address: + - An object with `token`: (string) - The ERC-20 token address to use for payment. + - An object with `sponsorshipPolicyId`: (string) - The ID of the sponsorship policy to use. + + + + +- `userOperation`: The user operation object containing the following fields: + + - `sender`: (string) - The address of the account making the operation. + - `nonce`: (string) - Unique identifier for the request from this sender. + - `initCode`: (string) - The initialization code for the smart account if it doesn't exist yet. + - `callData`: (string) [_optional_] - The data to pass to the sender during the main execution call. + - `callGasLimit`: (string) - The amount of gas to allocate the main execution call. + - `verificationGasLimit`: (string) - The amount of gas to allocate for the verification step. + - `preVerificationGas`: (string) - The amount of gas to pay for to compensate the bundler for pre-verification execution and `calldata`. + - `maxFeePerGas`: (string) - Maximum fee per gas, in wei, the sender is willing to pay per gas. + - `maxPriorityFeePerGas`: (string) - Maximum fee, in wei, the sender is willing to pay per gas above the base fee. + - `paymasterAndData`: (string) - The address of the paymaster contract and the data that will be passed to it. + - `signature`: (string) - The signature data. +- `entryPoint`: (string) - The EntryPoint contract address (`0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789`). +- `context`: (object) [_optional_] - Information about the specific paymaster implementation you are using. + If use paying gas in ERC-20 Tokens, pass the token address: + - An object with `token`: (string) - The ERC-20 token address to use for payment. + - An object with `sponsorshipPolicyId`: (string) - The ID of the sponsorship policy to use. + + diff --git a/services/reference/_partials/bundler/_pm_sponsoruseroperation-request.mdx b/services/reference/_partials/bundler/_pm_sponsoruseroperation-request.mdx new file mode 100644 index 00000000000..02aed8cfd22 --- /dev/null +++ b/services/reference/_partials/bundler/_pm_sponsoruseroperation-request.mdx @@ -0,0 +1,128 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + + ```bash + curl https://mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pm_sponsorUserOperation", + "params": [ + { + "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149", + "nonce": "0x845ADB2C711129D4F3966735ED98A9F09FC4CE5700000000000000000000", + "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5", + "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e4190000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001243c3b752b01845ADb2C711129d4f3966735eD98a9F09fC4cE570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000014375d883Cb4afb913aC35c4B394468C4bC73d77C40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "callData": "0xe9ae5c53", + "callGasLimit": "0x13880", + "verificationGasLimit": "0x60B01", + "preVerificationGas": "0xD3E3", + "maxPriorityFeePerGas": "0x3B9ACA00", + "maxFeePerGas": "0x7A5CF70D5", + "paymaster": null, + "paymasterVerificationGasLimit": null, + "paymasterPostOpGasLimit": null, + "paymasterData": null, + "eip7702Auth": { + "address": "0x1234567890123456789012345678901234567890", + "chainId": "0x1", + "nonce": "0x1", + "r": "0x1234567890123456789012345678901234567890123456789012345678901234", + "s": "0x1234567890123456789012345678901234567890123456789012345678901234", + "v": "0x1b", + "yParity": "0x1" + } + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032", + { + "token": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" + } + ], + "id": 1 + }' + ``` + + + + + ```bash + curl https://mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pm_sponsorUserOperation", + "params": [ + { + "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149", + "nonce": "0x845ADB2C711129D4F3966735ED98A9F09FC4CE5700000000000000000000", + "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5", + "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e4190000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001243c3b752b01845ADb2C711129d4f3966735eD98a9F09fC4cE570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000014375d883Cb4afb913aC35c4B394468C4bC73d77C40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "callData": "0xe9ae5c53", + "callGasLimit": "0x13880", + "verificationGasLimit": "0x60B01", + "preVerificationGas": "0xD3E3", + "maxPriorityFeePerGas": "0x3B9ACA00", + "maxFeePerGas": "0x7A5CF70D5", + "paymaster": null, + "paymasterVerificationGasLimit": null, + "paymasterPostOpGasLimit": null, + "paymasterData": null + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032", + { + "sponsorshipPolicyId": "policy-123456" + } + ], + "id": 1 + }' + ``` + + + + + ```bash + curl https://mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pm_sponsorUserOperation", + "params": [ + { + "sender": "0xb341FEAFaF71b09089d03B7D114599f8F491EE45", + "nonce": "0x0", + "initCode": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3296601cd0000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b5000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084d1f57894000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea039000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000014375cd3E53E18f65672E9d0Eb6AD174511b0BF98100000000000000000000000000000000000000000000000000000000000000000000000000000000", + "callData": "0x5194544700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "callGasLimit": "0x0", + "verificationGasLimit": "0x0", + "preVerificationGas": "0x0", + "maxPriorityFeePerGas": "0x3b9aca00", + "maxFeePerGas": "0x7a5cf70d5", + "paymasterAndData": "0x", + "signature": "0x00000000fffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c", + "eip7702Auth": { + "address": "0x1234567890123456789012345678901234567890", + "chainId": "0x1", + "nonce": "0x1", + "r": "0x1234567890123456789012345678901234567890123456789012345678901234", + "s": "0x1234567890123456789012345678901234567890123456789012345678901234", + "v": "0x1b", + "yParity": "0x1" + } + }, + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + { + "token": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" + } + ], + "id": 1 + }' + ``` + + + diff --git a/services/reference/_partials/bundler/_pm_sponsoruseroperation-response.mdx b/services/reference/_partials/bundler/_pm_sponsoruseroperation-response.mdx new file mode 100644 index 00000000000..ed2c1bbb857 --- /dev/null +++ b/services/reference/_partials/bundler/_pm_sponsoruseroperation-response.mdx @@ -0,0 +1,41 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + + ```json + { + "jsonrpc": "2.0", + "result": { + "paymaster": "0x0000000000000039cd5e8aE05257CE51C473ddd1", + "paymasterData": "0x01000066d1a1a4000000000000036cbd53842c5426634e7929541ec2318f3dcf7e0000000000000000000000000000c350000000000000000000000000000000000000000000000000000000009666598f0b846603deb0a8e59b78ba3dce9c3466394ccf07795d38ecf7925dfe12c07a022c27bb199099fa54de2f5e3e87dd9c581df52e9d3d199166a31124cc1227a9921b", + "preVerificationGas": "0x350f7", + "verificationGasLimit": "0x501ab", + "callGasLimit": "0x212df", + "paymasterVerificationGasLimit": "0x6dae", + "paymasterPostOpGasLimit": "0x706e" + }, + "id": 1 + } + ``` + + + + + ```json + { + "jsonrpc": "2.0", + "result": { + "paymasterAndData": "0x0000000000000039cd5e8aE05257CE51C473ddd101000066d1a1a4000000000000036cbd53842c5426634e7929541ec2318f3dcf7e0000000000000000000000000000c350000000000000000000000000000000000000000000000000000000009666598f0b846603deb0a8e59b78ba3dce9c3466394ccf07795d38ecf7925dfe12c07a022c27bb199099fa54de2f5e3e87dd9c581df52e9d3d199166a31124cc1227a9921b", + "preVerificationGas": "0xdf55", + "verificationGas": "0x52503", + "verificationGasLimit": "0x52503", + "callGasLimit": "0x13880" + }, + "id": 1 + } + ``` + + + diff --git a/services/reference/_partials/bundler/_pm_sponsoruseroperation-returns.mdx b/services/reference/_partials/bundler/_pm_sponsoruseroperation-returns.mdx new file mode 100644 index 00000000000..99849327832 --- /dev/null +++ b/services/reference/_partials/bundler/_pm_sponsoruseroperation-returns.mdx @@ -0,0 +1,29 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +An object containing paymaster-related fields and updated gas parameters. + + + + +- `paymaster`: (string) - The address of the paymaster contract. +- `paymasterData`: (string) - The data to be used in the `paymasterData` field of the user operation. +- `preVerificationGas`: (string) - The updated `preVerificationGas` value to use in the user operation. +- `verificationGasLimit`: (string) - The updated `verificationGasLimit` value to use in the user operation. +- `callGasLimit`: (string) - The updated `callGasLimit` value to use in the user operation. +- `paymasterVerificationGasLimit`: (string) - The amount of gas to allocate for the verification step + of the paymaster. +- `paymasterPostOpGasLimit`: (string) - The amount of gas to allocate for the post-operation step of + the paymaster. + + + + +- `paymasterAndData`: (string) - The combined paymaster address and data to be used in the user operation. +- `preVerificationGas`: (string) - The updated `preVerificationGas` value to use in the user operation. +- `verificationGas`: (string) - The amount of gas to allocate for the verification step. +- `verificationGasLimit`: (string) - The updated `verificationGasLimit` value to use in the user operation. +- `callGasLimit`: (string) - The updated `callGasLimit` value to use in the user operation. + + + diff --git a/services/reference/_partials/bundler/_pm_validatesponsorshippolicies-description.mdx b/services/reference/_partials/bundler/_pm_validatesponsorshippolicies-description.mdx new file mode 100644 index 00000000000..c4222f39426 --- /dev/null +++ b/services/reference/_partials/bundler/_pm_validatesponsorshippolicies-description.mdx @@ -0,0 +1,4 @@ +import CreditCost from '@site/src/components/CreditCost/CreditCostPrice.js' + +Validates a user operation against an array of sponsorship policies and returns which policies are +willing to sponsor the user operation. diff --git a/services/reference/_partials/bundler/_pm_validatesponsorshippolicies-example.mdx b/services/reference/_partials/bundler/_pm_validatesponsorshippolicies-example.mdx new file mode 100644 index 00000000000..c83b6c8bcad --- /dev/null +++ b/services/reference/_partials/bundler/_pm_validatesponsorshippolicies-example.mdx @@ -0,0 +1 @@ +Replace `` with an API key from your MetaMask Developer dashboard. diff --git a/services/reference/_partials/bundler/_pm_validatesponsorshippolicies-parameters.mdx b/services/reference/_partials/bundler/_pm_validatesponsorshippolicies-parameters.mdx new file mode 100644 index 00000000000..90178890053 --- /dev/null +++ b/services/reference/_partials/bundler/_pm_validatesponsorshippolicies-parameters.mdx @@ -0,0 +1,58 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +- `userOperation`: The user operation object containing the following fields: + + - `sender`: (string) - The address of the account making the operation. + - `nonce`: (string) - Unique identifier for the request from this sender. This includes the key and + sequence number. + - `factory`: (string) [_optional_] - The factory contract address that will deploy the smart account + if it doesn't exist yet. + - `factoryData`: (string) [_optional_] - The data passed to the factory contract to deploy the smart account. + - `callData`: (string) [_optional_] - The data to pass to the sender during the main execution call. + - `callGasLimit`: (string) - The amount of gas to allocate the main execution call. + - `verificationGasLimit`: (string) - The amount of gas to allocate for the verification step. + - `preVerificationGas`: (string) - The amount of gas to pay for to compensate the bundler for + pre-verification execution and `calldata`. + - `maxFeePerGas`: (string) - Maximum fee per gas, in wei, the sender is willing to pay per gas. + - `maxPriorityFeePerGas`: (string) - Maximum fee, in wei, the sender is willing to pay per gas above the base fee. + - `paymaster`: (string) [_optional_] - Address of paymaster sponsoring the transaction, or `null` if none. + - `paymasterVerificationGasLimit`: (string) [_optional_] - The amount of gas to allocate for the + verification step of the paymaster, or `null` if no paymaster. + - `paymasterPostOpGasLimit`: (string) [_optional_] - The amount of gas to allocate for the + post-operation step of the paymaster, or `null` if no paymaster. + - `paymasterData`: (string) [_optional_] - The data to pass to the paymaster during the verification + step, or `null` if no paymaster. + - `signature`: (string) - The signature data. + +- `entryPoint`: (string) - The EntryPoint contract address (`0x0000000071727De22E5E9d8BAf0edAc6f37da032`). + +- `sponsorshipPolicyIds`: (array) - An array of sponsorship policy IDs to validate against. + + + + +- `userOperation`: The user operation object containing the following fields: + + - `sender`: (string) - The address of the account making the operation. + - `nonce`: (string) - Unique identifier for the request from this sender. + - `initCode`: (string) - The initialization code for the smart account if it doesn't exist yet. + - `callData`: (string) [_optional_] - The data to pass to the sender during the main execution call. + - `callGasLimit`: (string) - The amount of gas to allocate the main execution call. + - `verificationGasLimit`: (string) - The amount of gas to allocate for the verification step. + - `preVerificationGas`: (string) - The amount of gas to pay for to compensate the bundler for + pre-verification execution and `calldata`. + - `maxFeePerGas`: (string) - Maximum fee per gas, in wei, the sender is willing to pay per gas. + - `maxPriorityFeePerGas`: (string) - Maximum fee, in wei, the sender is willing to pay per gas above the base fee. + - `paymasterAndData`: (string) - The address of the paymaster contract and the data that will be passed to it. + - `signature`: (string) - The signature data. + +- `entryPoint`: (string) - The EntryPoint contract address (`0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789`). + +- `sponsorshipPolicyIds`: (array) - An array of sponsorship policy IDs to validate against. + + + diff --git a/services/reference/_partials/bundler/_pm_validatesponsorshippolicies-request.mdx b/services/reference/_partials/bundler/_pm_validatesponsorshippolicies-request.mdx new file mode 100644 index 00000000000..476db663354 --- /dev/null +++ b/services/reference/_partials/bundler/_pm_validatesponsorshippolicies-request.mdx @@ -0,0 +1,71 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + + ```bash + curl https://mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pm_validateSponsorshipPolicies", + "params": [ + { + "sender": "0x1234567890123456789012345678901234567890", + "nonce": "0x1", + "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5", + "factoryData": "0x", + "callData": "0x", + "callGasLimit": "0x100000", + "verificationGasLimit": "0x20000", + "preVerificationGas": "0x10000", + "maxFeePerGas": "0x3b9aca00", + "maxPriorityFeePerGas": "0x3b9aca00", + "paymaster": null, + "paymasterVerificationGasLimit": null, + "paymasterPostOpGasLimit": null, + "paymasterData": null, + "signature": "0x" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032", + ["sp_crazy_kangaroo", "sp_talented_turtle"] + ], + "id": 1 + }' + ``` + + + + + ```bash + curl https://mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pm_validateSponsorshipPolicies", + "params": [ + { + "sender": "0x1234567890123456789012345678901234567890", + "nonce": "0x1", + "initCode": "0x", + "callData": "0x", + "callGasLimit": "0x100000", + "verificationGasLimit": "0x20000", + "preVerificationGas": "0x10000", + "maxFeePerGas": "0x3b9aca00", + "maxPriorityFeePerGas": "0x3b9aca00", + "paymasterAndData": "0x", + "signature": "0x" + }, + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + ["sp_crazy_kangaroo", "sp_talented_turtle"] + ], + "id": 1 + }' + ``` + + + diff --git a/services/reference/_partials/bundler/_pm_validatesponsorshippolicies-response.mdx b/services/reference/_partials/bundler/_pm_validatesponsorshippolicies-response.mdx new file mode 100644 index 00000000000..07dbea2959d --- /dev/null +++ b/services/reference/_partials/bundler/_pm_validatesponsorshippolicies-response.mdx @@ -0,0 +1,17 @@ +```json +{ + "jsonrpc": "2.0", + "result": [ + { + "sponsorshipPolicyId": "sp_crazy_kangaroo", + "data": { + "name": "Linea Christmas Week", + "author": "Linea", + "icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==", + "description": "Linea is sponsoring the first 10 transactions for existing users between Christmas and New Year's Eve." + } + } + ], + "id": 1 +} +``` diff --git a/services/reference/_partials/bundler/_pm_validatesponsorshippolicies-returns.mdx b/services/reference/_partials/bundler/_pm_validatesponsorshippolicies-returns.mdx new file mode 100644 index 00000000000..cfaf3beb0fb --- /dev/null +++ b/services/reference/_partials/bundler/_pm_validatesponsorshippolicies-returns.mdx @@ -0,0 +1,9 @@ +An array of sponsorship policy objects that are willing to sponsor the user operation. Each object in +the array contains: + +- `sponsorshipPolicyId`: (string) - The ID of the sponsorship policy. +- `data`: (object) - Additional metadata about the sponsorship policy: + - `name`: (string) [_optional_] - The display name of the sponsorship policy. + - `author`: (string) [_optional_] - The author or organization behind the sponsorship policy. + - `icon`: (string) [_optional_] - Base64-encoded image data for the policy icon. + - `description`: (string) [_optional_] - A description of the sponsorship policy. diff --git a/services/reference/_partials/bundler/arbitrum/_eth_estimateuseroperationgas-request.mdx b/services/reference/_partials/bundler/arbitrum/_eth_estimateuseroperationgas-request.mdx new file mode 100644 index 00000000000..d0a66b2dda5 --- /dev/null +++ b/services/reference/_partials/bundler/arbitrum/_eth_estimateuseroperationgas-request.mdx @@ -0,0 +1,82 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + + ```bash + curl https://arbitrum-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_estimateUserOperationGas", + "params": [ + { + "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149", + "nonce": "0x845adb2c711129d4f3966735ed98a9f09fc4ce5700000000000000000000", + "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5", + "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419", + "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000", + "callGasLimit": "0x0", + "verificationGasLimit": "0x0", + "preVerificationGas": "0x0", + "maxFeePerGas": "0x7a5cf70d5", + "maxPriorityFeePerGas": "0x3b9aca00", + "paymaster": null, + "paymasterVerificationGasLimit": null, + "paymasterPostOpGasLimit": null, + "paymasterData": null, + "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032" + ], + "id": 1 + }' + ``` + + + + + ```bash + curl https://arbitrum-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_estimateUserOperationGas", + "params": [ + { + "sender": "0xa203fDb8bC335F86016F635b85389B62B189E417", + "nonce": "0x35bf2a054f92f3730b87582ef223c8d663f9eb01158154750000000000000000", + "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5", + "callData": "0xb61d27f6000000000000000000000000530fff22987e137e7c8d2adcc4c15eb45b4fa752", + "callGasLimit": "0x0", + "verificationGasLimit": "0x0", + "preVerificationGas": "0x0", + "maxPriorityFeePerGas": "0x12a05f200", + "maxFeePerGas": "0x5b08082fa", + "paymaster": null, + "paymasterVerificationGasLimit": null, + "paymasterPostOpGasLimit": null, + "paymasterData": null, + "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032", + { + "0xd9c9cd5f6779558b6e0ed4e6acf6b1947e7fa1f3": { + "balance": "0xde0b6b3a7640000" + }, + "0xebe8efa441b9302a0d7eaecc277c09d20d684540": { + "stateDiff": { + "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80": "0x21" + } + } + } + ], + "id": 1 + }' + ``` + + + \ No newline at end of file diff --git a/services/reference/_partials/bundler/arbitrum/_eth_getuseroperationbyhash-request.mdx b/services/reference/_partials/bundler/arbitrum/_eth_getuseroperationbyhash-request.mdx new file mode 100644 index 00000000000..eb084bf6737 --- /dev/null +++ b/services/reference/_partials/bundler/arbitrum/_eth_getuseroperationbyhash-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://arbitrum-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_getUserOperationByHash", + "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/arbitrum/_eth_getuseroperationreceipt-request.mdx b/services/reference/_partials/bundler/arbitrum/_eth_getuseroperationreceipt-request.mdx new file mode 100644 index 00000000000..5f3a0e64863 --- /dev/null +++ b/services/reference/_partials/bundler/arbitrum/_eth_getuseroperationreceipt-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://arbitrum-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_getUserOperationReceipt", + "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/arbitrum/_eth_senduseroperation-request.mdx b/services/reference/_partials/bundler/arbitrum/_eth_senduseroperation-request.mdx new file mode 100644 index 00000000000..c309295ba6a --- /dev/null +++ b/services/reference/_partials/bundler/arbitrum/_eth_senduseroperation-request.mdx @@ -0,0 +1,39 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://arbitrum-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_sendUserOperation", + "params": [ + { + "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149", + "nonce": "0x845ADB2C711129D4F3966735ED98A9F09FC4CE5700000000000000000000", + "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5", + "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419", + "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000", + "callGasLimit": "0x13880", + "verificationGasLimit": "0x60B01", + "preVerificationGas": "0xD3E3", + "maxPriorityFeePerGas": "0x3B9ACA00", + "maxFeePerGas": "0x7A5CF70D5", + "paymaster": "0x", + "paymasterVerificationGasLimit": "0x0", + "paymasterPostOpGasLimit": "0x0", + "paymasterData": null, + "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032" + ], + "id": 1 + }' +``` + + + \ No newline at end of file diff --git a/services/reference/_partials/bundler/arbitrum/_eth_supportedentrypoints-request.mdx b/services/reference/_partials/bundler/arbitrum/_eth_supportedentrypoints-request.mdx new file mode 100644 index 00000000000..eae87eaa94b --- /dev/null +++ b/services/reference/_partials/bundler/arbitrum/_eth_supportedentrypoints-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://arbitrum-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_supportedEntryPoints", + "params": [], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/arbitrum/_pimlico_getuseroperationgasprice-request.mdx b/services/reference/_partials/bundler/arbitrum/_pimlico_getuseroperationgasprice-request.mdx new file mode 100644 index 00000000000..21c9613440a --- /dev/null +++ b/services/reference/_partials/bundler/arbitrum/_pimlico_getuseroperationgasprice-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://arbitrum-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pimlico_getUserOperationGasPrice", + "params": [], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/arbitrum/_pimlico_getuseroperationstatus-request.mdx b/services/reference/_partials/bundler/arbitrum/_pimlico_getuseroperationstatus-request.mdx new file mode 100644 index 00000000000..337d42a2f9d --- /dev/null +++ b/services/reference/_partials/bundler/arbitrum/_pimlico_getuseroperationstatus-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://arbitrum-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pimlico_getUserOperationStatus", + "params": ["0x9bd004b8240da8eba3a02190a72be8a70ade8ef4c581b6e59789643c5e642ac3"], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/arbitrum/_pimlico_simulateassetchanges-request.mdx b/services/reference/_partials/bundler/arbitrum/_pimlico_simulateassetchanges-request.mdx new file mode 100644 index 00000000000..c2a42bf6986 --- /dev/null +++ b/services/reference/_partials/bundler/arbitrum/_pimlico_simulateassetchanges-request.mdx @@ -0,0 +1,35 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + + ```bash + curl https://arbitrum-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pimlico_simulateAssetChanges", + "id": 4337, + "params": [ + { + "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149", + "nonce": "0x1", + "callData": "0x9faf00f4d9c8df66a69fd6242d468aa8a31a439d14fc6c7af3868a06ed392233bc7e39475df25ad2b52bd5e19e1d438277207a415cb4d4ce8ad192464c55ddf1a9559ff900000000000000000000000073da77f0f2daaa88b908413495d3d0e37458212e00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000039946fd82c9c86c9a61bceed86fbdd284590bdd90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", + "callGasLimit": "0x0", + "verificationGasLimit": "0x0", + "preVerificationGas": "0x0", + "maxFeePerGas": "0x7a5cf70d5", + "maxPriorityFeePerGas": "0x3b9aca00", + "paymasterVerificationGasLimit": "0x0", + "paymasterPostOpGasLimit": "0x0", + "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032" + ] + }' + ``` + + + diff --git a/services/reference/_partials/bundler/avalanche/_eth_estimateuseroperationgas-request.mdx b/services/reference/_partials/bundler/avalanche/_eth_estimateuseroperationgas-request.mdx new file mode 100644 index 00000000000..cf65b03b857 --- /dev/null +++ b/services/reference/_partials/bundler/avalanche/_eth_estimateuseroperationgas-request.mdx @@ -0,0 +1,82 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + + ```bash + curl https://avalanche-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_estimateUserOperationGas", + "params": [ + { + "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149", + "nonce": "0x845adb2c711129d4f3966735ed98a9f09fc4ce5700000000000000000000", + "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5", + "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419", + "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000", + "callGasLimit": "0x0", + "verificationGasLimit": "0x0", + "preVerificationGas": "0x0", + "maxFeePerGas": "0x7a5cf70d5", + "maxPriorityFeePerGas": "0x3b9aca00", + "paymaster": null, + "paymasterVerificationGasLimit": null, + "paymasterPostOpGasLimit": null, + "paymasterData": null, + "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032" + ], + "id": 1 + }' + ``` + + + + + ```bash + curl https://avalanche-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_estimateUserOperationGas", + "params": [ + { + "sender": "0xa203fDb8bC335F86016F635b85389B62B189E417", + "nonce": "0x35bf2a054f92f3730b87582ef223c8d663f9eb01158154750000000000000000", + "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5", + "callData": "0xb61d27f6000000000000000000000000530fff22987e137e7c8d2adcc4c15eb45b4fa752", + "callGasLimit": "0x0", + "verificationGasLimit": "0x0", + "preVerificationGas": "0x0", + "maxPriorityFeePerGas": "0x12a05f200", + "maxFeePerGas": "0x5b08082fa", + "paymaster": null, + "paymasterVerificationGasLimit": null, + "paymasterPostOpGasLimit": null, + "paymasterData": null, + "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032", + { + "0xd9c9cd5f6779558b6e0ed4e6acf6b1947e7fa1f3": { + "balance": "0xde0b6b3a7640000" + }, + "0xebe8efa441b9302a0d7eaecc277c09d20d684540": { + "stateDiff": { + "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80": "0x21" + } + } + } + ], + "id": 1 + }' + ``` + + + \ No newline at end of file diff --git a/services/reference/_partials/bundler/avalanche/_eth_getuseroperationbyhash-request.mdx b/services/reference/_partials/bundler/avalanche/_eth_getuseroperationbyhash-request.mdx new file mode 100644 index 00000000000..3b3a6eb980d --- /dev/null +++ b/services/reference/_partials/bundler/avalanche/_eth_getuseroperationbyhash-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://avalanche-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_getUserOperationByHash", + "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/avalanche/_eth_getuseroperationreceipt-request.mdx b/services/reference/_partials/bundler/avalanche/_eth_getuseroperationreceipt-request.mdx new file mode 100644 index 00000000000..a9df40d2ee9 --- /dev/null +++ b/services/reference/_partials/bundler/avalanche/_eth_getuseroperationreceipt-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://avalanche-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_getUserOperationReceipt", + "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/avalanche/_eth_senduseroperation-request.mdx b/services/reference/_partials/bundler/avalanche/_eth_senduseroperation-request.mdx new file mode 100644 index 00000000000..8b6b4acee5f --- /dev/null +++ b/services/reference/_partials/bundler/avalanche/_eth_senduseroperation-request.mdx @@ -0,0 +1,39 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://avalanche-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_sendUserOperation", + "params": [ + { + "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149", + "nonce": "0x845ADB2C711129D4F3966735ED98A9F09FC4CE5700000000000000000000", + "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5", + "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419", + "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000", + "callGasLimit": "0x13880", + "verificationGasLimit": "0x60B01", + "preVerificationGas": "0xD3E3", + "maxPriorityFeePerGas": "0x3B9ACA00", + "maxFeePerGas": "0x7A5CF70D5", + "paymaster": "0x", + "paymasterVerificationGasLimit": "0x0", + "paymasterPostOpGasLimit": "0x0", + "paymasterData": null, + "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032" + ], + "id": 1 + }' +``` + + + \ No newline at end of file diff --git a/services/reference/_partials/bundler/avalanche/_eth_supportedentrypoints-request.mdx b/services/reference/_partials/bundler/avalanche/_eth_supportedentrypoints-request.mdx new file mode 100644 index 00000000000..572ee3f2557 --- /dev/null +++ b/services/reference/_partials/bundler/avalanche/_eth_supportedentrypoints-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://avalanche-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_supportedEntryPoints", + "params": [], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/avalanche/_pimlico_getuseroperationgasprice-request.mdx b/services/reference/_partials/bundler/avalanche/_pimlico_getuseroperationgasprice-request.mdx new file mode 100644 index 00000000000..348de1f24e1 --- /dev/null +++ b/services/reference/_partials/bundler/avalanche/_pimlico_getuseroperationgasprice-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://avalanche-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pimlico_getUserOperationGasPrice", + "params": [], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/avalanche/_pimlico_getuseroperationstatus-request.mdx b/services/reference/_partials/bundler/avalanche/_pimlico_getuseroperationstatus-request.mdx new file mode 100644 index 00000000000..c0dae43a6fb --- /dev/null +++ b/services/reference/_partials/bundler/avalanche/_pimlico_getuseroperationstatus-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://avalanche-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pimlico_getUserOperationStatus", + "params": ["0x9bd004b8240da8eba3a02190a72be8a70ade8ef4c581b6e59789643c5e642ac3"], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/avalanche/_pimlico_simulateassetchanges-request.mdx b/services/reference/_partials/bundler/avalanche/_pimlico_simulateassetchanges-request.mdx new file mode 100644 index 00000000000..43bd8471f77 --- /dev/null +++ b/services/reference/_partials/bundler/avalanche/_pimlico_simulateassetchanges-request.mdx @@ -0,0 +1,35 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + + ```bash + curl https://avalanche-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pimlico_simulateAssetChanges", + "id": 4337, + "params": [ + { + "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149", + "nonce": "0x1", + "callData": "0x9faf00f4d9c8df66a69fd6242d468aa8a31a439d14fc6c7af3868a06ed392233bc7e39475df25ad2b52bd5e19e1d438277207a415cb4d4ce8ad192464c55ddf1a9559ff900000000000000000000000073da77f0f2daaa88b908413495d3d0e37458212e00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000039946fd82c9c86c9a61bceed86fbdd284590bdd90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", + "callGasLimit": "0x0", + "verificationGasLimit": "0x0", + "preVerificationGas": "0x0", + "maxFeePerGas": "0x7a5cf70d5", + "maxPriorityFeePerGas": "0x3b9aca00", + "paymasterVerificationGasLimit": "0x0", + "paymasterPostOpGasLimit": "0x0", + "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032" + ] + }' + ``` + + + diff --git a/services/reference/_partials/bundler/base/_eth_estimateuseroperationgas-request.mdx b/services/reference/_partials/bundler/base/_eth_estimateuseroperationgas-request.mdx new file mode 100644 index 00000000000..2b568945bcc --- /dev/null +++ b/services/reference/_partials/bundler/base/_eth_estimateuseroperationgas-request.mdx @@ -0,0 +1,82 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + + ```bash + curl https://base-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_estimateUserOperationGas", + "params": [ + { + "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149", + "nonce": "0x845adb2c711129d4f3966735ed98a9f09fc4ce5700000000000000000000", + "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5", + "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419", + "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000", + "callGasLimit": "0x0", + "verificationGasLimit": "0x0", + "preVerificationGas": "0x0", + "maxFeePerGas": "0x7a5cf70d5", + "maxPriorityFeePerGas": "0x3b9aca00", + "paymaster": null, + "paymasterVerificationGasLimit": null, + "paymasterPostOpGasLimit": null, + "paymasterData": null, + "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032" + ], + "id": 1 + }' + ``` + + + + + ```bash + curl https://base-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_estimateUserOperationGas", + "params": [ + { + "sender": "0xa203fDb8bC335F86016F635b85389B62B189E417", + "nonce": "0x35bf2a054f92f3730b87582ef223c8d663f9eb01158154750000000000000000", + "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5", + "callData": "0xb61d27f6000000000000000000000000530fff22987e137e7c8d2adcc4c15eb45b4fa752", + "callGasLimit": "0x0", + "verificationGasLimit": "0x0", + "preVerificationGas": "0x0", + "maxPriorityFeePerGas": "0x12a05f200", + "maxFeePerGas": "0x5b08082fa", + "paymaster": null, + "paymasterVerificationGasLimit": null, + "paymasterPostOpGasLimit": null, + "paymasterData": null, + "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032", + { + "0xd9c9cd5f6779558b6e0ed4e6acf6b1947e7fa1f3": { + "balance": "0xde0b6b3a7640000" + }, + "0xebe8efa441b9302a0d7eaecc277c09d20d684540": { + "stateDiff": { + "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80": "0x21" + } + } + } + ], + "id": 1 + }' + ``` + + + \ No newline at end of file diff --git a/services/reference/_partials/bundler/base/_eth_getuseroperationbyhash-request.mdx b/services/reference/_partials/bundler/base/_eth_getuseroperationbyhash-request.mdx new file mode 100644 index 00000000000..af896859f74 --- /dev/null +++ b/services/reference/_partials/bundler/base/_eth_getuseroperationbyhash-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://base-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_getUserOperationByHash", + "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/base/_eth_getuseroperationreceipt-request.mdx b/services/reference/_partials/bundler/base/_eth_getuseroperationreceipt-request.mdx new file mode 100644 index 00000000000..a44d16586ce --- /dev/null +++ b/services/reference/_partials/bundler/base/_eth_getuseroperationreceipt-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://base-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_getUserOperationReceipt", + "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/base/_eth_senduseroperation-request.mdx b/services/reference/_partials/bundler/base/_eth_senduseroperation-request.mdx new file mode 100644 index 00000000000..420f5a681ee --- /dev/null +++ b/services/reference/_partials/bundler/base/_eth_senduseroperation-request.mdx @@ -0,0 +1,39 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://base-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_sendUserOperation", + "params": [ + { + "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149", + "nonce": "0x845ADB2C711129D4F3966735ED98A9F09FC4CE5700000000000000000000", + "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5", + "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419", + "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000", + "callGasLimit": "0x13880", + "verificationGasLimit": "0x60B01", + "preVerificationGas": "0xD3E3", + "maxPriorityFeePerGas": "0x3B9ACA00", + "maxFeePerGas": "0x7A5CF70D5", + "paymaster": "0x", + "paymasterVerificationGasLimit": "0x0", + "paymasterPostOpGasLimit": "0x0", + "paymasterData": null, + "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032" + ], + "id": 1 + }' +``` + + + \ No newline at end of file diff --git a/services/reference/_partials/bundler/base/_eth_supportedentrypoints-request.mdx b/services/reference/_partials/bundler/base/_eth_supportedentrypoints-request.mdx new file mode 100644 index 00000000000..3c72de39cb6 --- /dev/null +++ b/services/reference/_partials/bundler/base/_eth_supportedentrypoints-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://base-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_supportedEntryPoints", + "params": [], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/base/_pimlico_getuseroperationgasprice-request.mdx b/services/reference/_partials/bundler/base/_pimlico_getuseroperationgasprice-request.mdx new file mode 100644 index 00000000000..cd9997fbe3b --- /dev/null +++ b/services/reference/_partials/bundler/base/_pimlico_getuseroperationgasprice-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://base-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pimlico_getUserOperationGasPrice", + "params": [], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/base/_pimlico_getuseroperationstatus-request.mdx b/services/reference/_partials/bundler/base/_pimlico_getuseroperationstatus-request.mdx new file mode 100644 index 00000000000..0bd28487f96 --- /dev/null +++ b/services/reference/_partials/bundler/base/_pimlico_getuseroperationstatus-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://base-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pimlico_getUserOperationStatus", + "params": ["0x9bd004b8240da8eba3a02190a72be8a70ade8ef4c581b6e59789643c5e642ac3"], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/base/_pimlico_simulateassetchanges-request.mdx b/services/reference/_partials/bundler/base/_pimlico_simulateassetchanges-request.mdx new file mode 100644 index 00000000000..06e4c1a51e2 --- /dev/null +++ b/services/reference/_partials/bundler/base/_pimlico_simulateassetchanges-request.mdx @@ -0,0 +1,35 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + + ```bash + curl https://base-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pimlico_simulateAssetChanges", + "id": 4337, + "params": [ + { + "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149", + "nonce": "0x1", + "callData": "0x9faf00f4d9c8df66a69fd6242d468aa8a31a439d14fc6c7af3868a06ed392233bc7e39475df25ad2b52bd5e19e1d438277207a415cb4d4ce8ad192464c55ddf1a9559ff900000000000000000000000073da77f0f2daaa88b908413495d3d0e37458212e00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000039946fd82c9c86c9a61bceed86fbdd284590bdd90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", + "callGasLimit": "0x0", + "verificationGasLimit": "0x0", + "preVerificationGas": "0x0", + "maxFeePerGas": "0x7a5cf70d5", + "maxPriorityFeePerGas": "0x3b9aca00", + "paymasterVerificationGasLimit": "0x0", + "paymasterPostOpGasLimit": "0x0", + "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032" + ] + }' + ``` + + + diff --git a/services/reference/_partials/bundler/blast/_eth_estimateuseroperationgas-request.mdx b/services/reference/_partials/bundler/blast/_eth_estimateuseroperationgas-request.mdx new file mode 100644 index 00000000000..e921b4a936f --- /dev/null +++ b/services/reference/_partials/bundler/blast/_eth_estimateuseroperationgas-request.mdx @@ -0,0 +1,82 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + + ```bash + curl https://blast-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_estimateUserOperationGas", + "params": [ + { + "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149", + "nonce": "0x845adb2c711129d4f3966735ed98a9f09fc4ce5700000000000000000000", + "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5", + "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419", + "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000", + "callGasLimit": "0x0", + "verificationGasLimit": "0x0", + "preVerificationGas": "0x0", + "maxFeePerGas": "0x7a5cf70d5", + "maxPriorityFeePerGas": "0x3b9aca00", + "paymaster": null, + "paymasterVerificationGasLimit": null, + "paymasterPostOpGasLimit": null, + "paymasterData": null, + "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032" + ], + "id": 1 + }' + ``` + + + + + ```bash + curl https://blast-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_estimateUserOperationGas", + "params": [ + { + "sender": "0xa203fDb8bC335F86016F635b85389B62B189E417", + "nonce": "0x35bf2a054f92f3730b87582ef223c8d663f9eb01158154750000000000000000", + "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5", + "callData": "0xb61d27f6000000000000000000000000530fff22987e137e7c8d2adcc4c15eb45b4fa752", + "callGasLimit": "0x0", + "verificationGasLimit": "0x0", + "preVerificationGas": "0x0", + "maxPriorityFeePerGas": "0x12a05f200", + "maxFeePerGas": "0x5b08082fa", + "paymaster": null, + "paymasterVerificationGasLimit": null, + "paymasterPostOpGasLimit": null, + "paymasterData": null, + "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032", + { + "0xd9c9cd5f6779558b6e0ed4e6acf6b1947e7fa1f3": { + "balance": "0xde0b6b3a7640000" + }, + "0xebe8efa441b9302a0d7eaecc277c09d20d684540": { + "stateDiff": { + "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80": "0x21" + } + } + } + ], + "id": 1 + }' + ``` + + + \ No newline at end of file diff --git a/services/reference/_partials/bundler/blast/_eth_getuseroperationbyhash-request.mdx b/services/reference/_partials/bundler/blast/_eth_getuseroperationbyhash-request.mdx new file mode 100644 index 00000000000..962dfba359a --- /dev/null +++ b/services/reference/_partials/bundler/blast/_eth_getuseroperationbyhash-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://blast-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_getUserOperationByHash", + "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/blast/_eth_getuseroperationreceipt-request.mdx b/services/reference/_partials/bundler/blast/_eth_getuseroperationreceipt-request.mdx new file mode 100644 index 00000000000..05df4fee61e --- /dev/null +++ b/services/reference/_partials/bundler/blast/_eth_getuseroperationreceipt-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://blast-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_getUserOperationReceipt", + "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/blast/_eth_senduseroperation-request.mdx b/services/reference/_partials/bundler/blast/_eth_senduseroperation-request.mdx new file mode 100644 index 00000000000..a45cef6f69b --- /dev/null +++ b/services/reference/_partials/bundler/blast/_eth_senduseroperation-request.mdx @@ -0,0 +1,39 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://blast-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_sendUserOperation", + "params": [ + { + "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149", + "nonce": "0x845ADB2C711129D4F3966735ED98A9F09FC4CE5700000000000000000000", + "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5", + "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419", + "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000", + "callGasLimit": "0x13880", + "verificationGasLimit": "0x60B01", + "preVerificationGas": "0xD3E3", + "maxPriorityFeePerGas": "0x3B9ACA00", + "maxFeePerGas": "0x7A5CF70D5", + "paymaster": "0x", + "paymasterVerificationGasLimit": "0x0", + "paymasterPostOpGasLimit": "0x0", + "paymasterData": null, + "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032" + ], + "id": 1 + }' +``` + + + \ No newline at end of file diff --git a/services/reference/_partials/bundler/blast/_eth_supportedentrypoints-request.mdx b/services/reference/_partials/bundler/blast/_eth_supportedentrypoints-request.mdx new file mode 100644 index 00000000000..c9ddffd1828 --- /dev/null +++ b/services/reference/_partials/bundler/blast/_eth_supportedentrypoints-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://blast-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_supportedEntryPoints", + "params": [], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/blast/_pimlico_getuseroperationgasprice-request.mdx b/services/reference/_partials/bundler/blast/_pimlico_getuseroperationgasprice-request.mdx new file mode 100644 index 00000000000..3510e7fba59 --- /dev/null +++ b/services/reference/_partials/bundler/blast/_pimlico_getuseroperationgasprice-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://blast-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pimlico_getUserOperationGasPrice", + "params": [], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/blast/_pimlico_getuseroperationstatus-request.mdx b/services/reference/_partials/bundler/blast/_pimlico_getuseroperationstatus-request.mdx new file mode 100644 index 00000000000..70fb35f3d88 --- /dev/null +++ b/services/reference/_partials/bundler/blast/_pimlico_getuseroperationstatus-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://blast-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pimlico_getUserOperationStatus", + "params": ["0x9bd004b8240da8eba3a02190a72be8a70ade8ef4c581b6e59789643c5e642ac3"], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/blast/_pimlico_simulateassetchanges-request.mdx b/services/reference/_partials/bundler/blast/_pimlico_simulateassetchanges-request.mdx new file mode 100644 index 00000000000..8d7c0b206a3 --- /dev/null +++ b/services/reference/_partials/bundler/blast/_pimlico_simulateassetchanges-request.mdx @@ -0,0 +1,35 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + + ```bash + curl https://blast-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pimlico_simulateAssetChanges", + "id": 4337, + "params": [ + { + "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149", + "nonce": "0x1", + "callData": "0x9faf00f4d9c8df66a69fd6242d468aa8a31a439d14fc6c7af3868a06ed392233bc7e39475df25ad2b52bd5e19e1d438277207a415cb4d4ce8ad192464c55ddf1a9559ff900000000000000000000000073da77f0f2daaa88b908413495d3d0e37458212e00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000039946fd82c9c86c9a61bceed86fbdd284590bdd90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", + "callGasLimit": "0x0", + "verificationGasLimit": "0x0", + "preVerificationGas": "0x0", + "maxFeePerGas": "0x7a5cf70d5", + "maxPriorityFeePerGas": "0x3b9aca00", + "paymasterVerificationGasLimit": "0x0", + "paymasterPostOpGasLimit": "0x0", + "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032" + ] + }' + ``` + + + diff --git a/services/reference/_partials/bundler/bnb-smart-chain/_eth_estimateuseroperationgas-request.mdx b/services/reference/_partials/bundler/bnb-smart-chain/_eth_estimateuseroperationgas-request.mdx new file mode 100644 index 00000000000..fe9d23b33dd --- /dev/null +++ b/services/reference/_partials/bundler/bnb-smart-chain/_eth_estimateuseroperationgas-request.mdx @@ -0,0 +1,82 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + + ```bash + curl https://bsc-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_estimateUserOperationGas", + "params": [ + { + "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149", + "nonce": "0x845adb2c711129d4f3966735ed98a9f09fc4ce5700000000000000000000", + "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5", + "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419", + "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000", + "callGasLimit": "0x0", + "verificationGasLimit": "0x0", + "preVerificationGas": "0x0", + "maxFeePerGas": "0x7a5cf70d5", + "maxPriorityFeePerGas": "0x3b9aca00", + "paymaster": null, + "paymasterVerificationGasLimit": null, + "paymasterPostOpGasLimit": null, + "paymasterData": null, + "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032" + ], + "id": 1 + }' + ``` + + + + + ```bash + curl https://bsc-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_estimateUserOperationGas", + "params": [ + { + "sender": "0xa203fDb8bC335F86016F635b85389B62B189E417", + "nonce": "0x35bf2a054f92f3730b87582ef223c8d663f9eb01158154750000000000000000", + "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5", + "callData": "0xb61d27f6000000000000000000000000530fff22987e137e7c8d2adcc4c15eb45b4fa752", + "callGasLimit": "0x0", + "verificationGasLimit": "0x0", + "preVerificationGas": "0x0", + "maxPriorityFeePerGas": "0x12a05f200", + "maxFeePerGas": "0x5b08082fa", + "paymaster": null, + "paymasterVerificationGasLimit": null, + "paymasterPostOpGasLimit": null, + "paymasterData": null, + "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032", + { + "0xd9c9cd5f6779558b6e0ed4e6acf6b1947e7fa1f3": { + "balance": "0xde0b6b3a7640000" + }, + "0xebe8efa441b9302a0d7eaecc277c09d20d684540": { + "stateDiff": { + "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80": "0x21" + } + } + } + ], + "id": 1 + }' + ``` + + + \ No newline at end of file diff --git a/services/reference/_partials/bundler/bnb-smart-chain/_eth_getuseroperationbyhash-request.mdx b/services/reference/_partials/bundler/bnb-smart-chain/_eth_getuseroperationbyhash-request.mdx new file mode 100644 index 00000000000..53f142c5ffd --- /dev/null +++ b/services/reference/_partials/bundler/bnb-smart-chain/_eth_getuseroperationbyhash-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://bsc-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_getUserOperationByHash", + "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/bnb-smart-chain/_eth_getuseroperationreceipt-request.mdx b/services/reference/_partials/bundler/bnb-smart-chain/_eth_getuseroperationreceipt-request.mdx new file mode 100644 index 00000000000..ea9fc5077c2 --- /dev/null +++ b/services/reference/_partials/bundler/bnb-smart-chain/_eth_getuseroperationreceipt-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://bsc-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_getUserOperationReceipt", + "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/bnb-smart-chain/_eth_senduseroperation-request.mdx b/services/reference/_partials/bundler/bnb-smart-chain/_eth_senduseroperation-request.mdx new file mode 100644 index 00000000000..66aedbcc8c3 --- /dev/null +++ b/services/reference/_partials/bundler/bnb-smart-chain/_eth_senduseroperation-request.mdx @@ -0,0 +1,39 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://bsc-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_sendUserOperation", + "params": [ + { + "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149", + "nonce": "0x845ADB2C711129D4F3966735ED98A9F09FC4CE5700000000000000000000", + "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5", + "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419", + "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000", + "callGasLimit": "0x13880", + "verificationGasLimit": "0x60B01", + "preVerificationGas": "0xD3E3", + "maxPriorityFeePerGas": "0x3B9ACA00", + "maxFeePerGas": "0x7A5CF70D5", + "paymaster": "0x", + "paymasterVerificationGasLimit": "0x0", + "paymasterPostOpGasLimit": "0x0", + "paymasterData": null, + "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032" + ], + "id": 1 + }' +``` + + + \ No newline at end of file diff --git a/services/reference/_partials/bundler/bnb-smart-chain/_eth_supportedentrypoints-request.mdx b/services/reference/_partials/bundler/bnb-smart-chain/_eth_supportedentrypoints-request.mdx new file mode 100644 index 00000000000..d97f4c04e47 --- /dev/null +++ b/services/reference/_partials/bundler/bnb-smart-chain/_eth_supportedentrypoints-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://bsc-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_supportedEntryPoints", + "params": [], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/bnb-smart-chain/_pimlico_getuseroperationgasprice-request.mdx b/services/reference/_partials/bundler/bnb-smart-chain/_pimlico_getuseroperationgasprice-request.mdx new file mode 100644 index 00000000000..ebf448ab79e --- /dev/null +++ b/services/reference/_partials/bundler/bnb-smart-chain/_pimlico_getuseroperationgasprice-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://bsc-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pimlico_getUserOperationGasPrice", + "params": [], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/bnb-smart-chain/_pimlico_getuseroperationstatus-request.mdx b/services/reference/_partials/bundler/bnb-smart-chain/_pimlico_getuseroperationstatus-request.mdx new file mode 100644 index 00000000000..9a829d1b586 --- /dev/null +++ b/services/reference/_partials/bundler/bnb-smart-chain/_pimlico_getuseroperationstatus-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://bsc-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pimlico_getUserOperationStatus", + "params": ["0x9bd004b8240da8eba3a02190a72be8a70ade8ef4c581b6e59789643c5e642ac3"], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/bnb-smart-chain/_pimlico_simulateassetchanges-request.mdx b/services/reference/_partials/bundler/bnb-smart-chain/_pimlico_simulateassetchanges-request.mdx new file mode 100644 index 00000000000..deef1de04ac --- /dev/null +++ b/services/reference/_partials/bundler/bnb-smart-chain/_pimlico_simulateassetchanges-request.mdx @@ -0,0 +1,35 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + + ```bash + curl https://bsc-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pimlico_simulateAssetChanges", + "id": 4337, + "params": [ + { + "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149", + "nonce": "0x1", + "callData": "0x9faf00f4d9c8df66a69fd6242d468aa8a31a439d14fc6c7af3868a06ed392233bc7e39475df25ad2b52bd5e19e1d438277207a415cb4d4ce8ad192464c55ddf1a9559ff900000000000000000000000073da77f0f2daaa88b908413495d3d0e37458212e00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000039946fd82c9c86c9a61bceed86fbdd284590bdd90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", + "callGasLimit": "0x0", + "verificationGasLimit": "0x0", + "preVerificationGas": "0x0", + "maxFeePerGas": "0x7a5cf70d5", + "maxPriorityFeePerGas": "0x3b9aca00", + "paymasterVerificationGasLimit": "0x0", + "paymasterPostOpGasLimit": "0x0", + "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032" + ] + }' + ``` + + + diff --git a/services/reference/_partials/bundler/celo/_eth_estimateuseroperationgas-request.mdx b/services/reference/_partials/bundler/celo/_eth_estimateuseroperationgas-request.mdx new file mode 100644 index 00000000000..9c49760477a --- /dev/null +++ b/services/reference/_partials/bundler/celo/_eth_estimateuseroperationgas-request.mdx @@ -0,0 +1,82 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + + ```bash + curl https://celo-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_estimateUserOperationGas", + "params": [ + { + "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149", + "nonce": "0x845adb2c711129d4f3966735ed98a9f09fc4ce5700000000000000000000", + "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5", + "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419", + "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000", + "callGasLimit": "0x0", + "verificationGasLimit": "0x0", + "preVerificationGas": "0x0", + "maxFeePerGas": "0x7a5cf70d5", + "maxPriorityFeePerGas": "0x3b9aca00", + "paymaster": null, + "paymasterVerificationGasLimit": null, + "paymasterPostOpGasLimit": null, + "paymasterData": null, + "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032" + ], + "id": 1 + }' + ``` + + + + + ```bash + curl https://celo-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_estimateUserOperationGas", + "params": [ + { + "sender": "0xa203fDb8bC335F86016F635b85389B62B189E417", + "nonce": "0x35bf2a054f92f3730b87582ef223c8d663f9eb01158154750000000000000000", + "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5", + "callData": "0xb61d27f6000000000000000000000000530fff22987e137e7c8d2adcc4c15eb45b4fa752", + "callGasLimit": "0x0", + "verificationGasLimit": "0x0", + "preVerificationGas": "0x0", + "maxPriorityFeePerGas": "0x12a05f200", + "maxFeePerGas": "0x5b08082fa", + "paymaster": null, + "paymasterVerificationGasLimit": null, + "paymasterPostOpGasLimit": null, + "paymasterData": null, + "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032", + { + "0xd9c9cd5f6779558b6e0ed4e6acf6b1947e7fa1f3": { + "balance": "0xde0b6b3a7640000" + }, + "0xebe8efa441b9302a0d7eaecc277c09d20d684540": { + "stateDiff": { + "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80": "0x21" + } + } + } + ], + "id": 1 + }' + ``` + + + \ No newline at end of file diff --git a/services/reference/_partials/bundler/celo/_eth_getuseroperationbyhash-request.mdx b/services/reference/_partials/bundler/celo/_eth_getuseroperationbyhash-request.mdx new file mode 100644 index 00000000000..e40911a6b0f --- /dev/null +++ b/services/reference/_partials/bundler/celo/_eth_getuseroperationbyhash-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://celo-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_getUserOperationByHash", + "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/celo/_eth_getuseroperationreceipt-request.mdx b/services/reference/_partials/bundler/celo/_eth_getuseroperationreceipt-request.mdx new file mode 100644 index 00000000000..c52358e0d3d --- /dev/null +++ b/services/reference/_partials/bundler/celo/_eth_getuseroperationreceipt-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://celo-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_getUserOperationReceipt", + "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/celo/_eth_senduseroperation-request.mdx b/services/reference/_partials/bundler/celo/_eth_senduseroperation-request.mdx new file mode 100644 index 00000000000..a2b6e07dcc5 --- /dev/null +++ b/services/reference/_partials/bundler/celo/_eth_senduseroperation-request.mdx @@ -0,0 +1,39 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://celo-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_sendUserOperation", + "params": [ + { + "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149", + "nonce": "0x845ADB2C711129D4F3966735ED98A9F09FC4CE5700000000000000000000", + "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5", + "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419", + "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000", + "callGasLimit": "0x13880", + "verificationGasLimit": "0x60B01", + "preVerificationGas": "0xD3E3", + "maxPriorityFeePerGas": "0x3B9ACA00", + "maxFeePerGas": "0x7A5CF70D5", + "paymaster": "0x", + "paymasterVerificationGasLimit": "0x0", + "paymasterPostOpGasLimit": "0x0", + "paymasterData": null, + "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032" + ], + "id": 1 + }' +``` + + + \ No newline at end of file diff --git a/services/reference/_partials/bundler/celo/_eth_supportedentrypoints-request.mdx b/services/reference/_partials/bundler/celo/_eth_supportedentrypoints-request.mdx new file mode 100644 index 00000000000..b66e889c2e5 --- /dev/null +++ b/services/reference/_partials/bundler/celo/_eth_supportedentrypoints-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://celo-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_supportedEntryPoints", + "params": [], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/celo/_pimlico_getuseroperationgasprice-request.mdx b/services/reference/_partials/bundler/celo/_pimlico_getuseroperationgasprice-request.mdx new file mode 100644 index 00000000000..ea2bc860b97 --- /dev/null +++ b/services/reference/_partials/bundler/celo/_pimlico_getuseroperationgasprice-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://celo-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pimlico_getUserOperationGasPrice", + "params": [], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/celo/_pimlico_getuseroperationstatus-request.mdx b/services/reference/_partials/bundler/celo/_pimlico_getuseroperationstatus-request.mdx new file mode 100644 index 00000000000..eb778c9db78 --- /dev/null +++ b/services/reference/_partials/bundler/celo/_pimlico_getuseroperationstatus-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://celo-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pimlico_getUserOperationStatus", + "params": ["0x9bd004b8240da8eba3a02190a72be8a70ade8ef4c581b6e59789643c5e642ac3"], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/celo/_pimlico_simulateassetchanges-request.mdx b/services/reference/_partials/bundler/celo/_pimlico_simulateassetchanges-request.mdx new file mode 100644 index 00000000000..bb2d6ed400a --- /dev/null +++ b/services/reference/_partials/bundler/celo/_pimlico_simulateassetchanges-request.mdx @@ -0,0 +1,35 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + + ```bash + curl https://celo-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pimlico_simulateAssetChanges", + "id": 4337, + "params": [ + { + "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149", + "nonce": "0x1", + "callData": "0x9faf00f4d9c8df66a69fd6242d468aa8a31a439d14fc6c7af3868a06ed392233bc7e39475df25ad2b52bd5e19e1d438277207a415cb4d4ce8ad192464c55ddf1a9559ff900000000000000000000000073da77f0f2daaa88b908413495d3d0e37458212e00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000039946fd82c9c86c9a61bceed86fbdd284590bdd90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", + "callGasLimit": "0x0", + "verificationGasLimit": "0x0", + "preVerificationGas": "0x0", + "maxFeePerGas": "0x7a5cf70d5", + "maxPriorityFeePerGas": "0x3b9aca00", + "paymasterVerificationGasLimit": "0x0", + "paymasterPostOpGasLimit": "0x0", + "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032" + ] + }' + ``` + + + diff --git a/services/reference/_partials/bundler/linea/_eth_estimateuseroperationgas-request.mdx b/services/reference/_partials/bundler/linea/_eth_estimateuseroperationgas-request.mdx new file mode 100644 index 00000000000..479db58c5af --- /dev/null +++ b/services/reference/_partials/bundler/linea/_eth_estimateuseroperationgas-request.mdx @@ -0,0 +1,82 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + + ```bash + curl https://linea-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_estimateUserOperationGas", + "params": [ + { + "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149", + "nonce": "0x845adb2c711129d4f3966735ed98a9f09fc4ce5700000000000000000000", + "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5", + "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419", + "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000", + "callGasLimit": "0x0", + "verificationGasLimit": "0x0", + "preVerificationGas": "0x0", + "maxFeePerGas": "0x7a5cf70d5", + "maxPriorityFeePerGas": "0x3b9aca00", + "paymaster": null, + "paymasterVerificationGasLimit": null, + "paymasterPostOpGasLimit": null, + "paymasterData": null, + "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032" + ], + "id": 1 + }' + ``` + + + + + ```bash + curl https://linea-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_estimateUserOperationGas", + "params": [ + { + "sender": "0xa203fDb8bC335F86016F635b85389B62B189E417", + "nonce": "0x35bf2a054f92f3730b87582ef223c8d663f9eb01158154750000000000000000", + "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5", + "callData": "0xb61d27f6000000000000000000000000530fff22987e137e7c8d2adcc4c15eb45b4fa752", + "callGasLimit": "0x0", + "verificationGasLimit": "0x0", + "preVerificationGas": "0x0", + "maxPriorityFeePerGas": "0x12a05f200", + "maxFeePerGas": "0x5b08082fa", + "paymaster": null, + "paymasterVerificationGasLimit": null, + "paymasterPostOpGasLimit": null, + "paymasterData": null, + "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032", + { + "0xd9c9cd5f6779558b6e0ed4e6acf6b1947e7fa1f3": { + "balance": "0xde0b6b3a7640000" + }, + "0xebe8efa441b9302a0d7eaecc277c09d20d684540": { + "stateDiff": { + "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80": "0x21" + } + } + } + ], + "id": 1 + }' + ``` + + + \ No newline at end of file diff --git a/services/reference/_partials/bundler/linea/_eth_getuseroperationbyhash-request.mdx b/services/reference/_partials/bundler/linea/_eth_getuseroperationbyhash-request.mdx new file mode 100644 index 00000000000..ae3cc6628ab --- /dev/null +++ b/services/reference/_partials/bundler/linea/_eth_getuseroperationbyhash-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://linea-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_getUserOperationByHash", + "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/linea/_eth_getuseroperationreceipt-request.mdx b/services/reference/_partials/bundler/linea/_eth_getuseroperationreceipt-request.mdx new file mode 100644 index 00000000000..0e64d7f5a07 --- /dev/null +++ b/services/reference/_partials/bundler/linea/_eth_getuseroperationreceipt-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://linea-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_getUserOperationReceipt", + "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/linea/_eth_senduseroperation-request.mdx b/services/reference/_partials/bundler/linea/_eth_senduseroperation-request.mdx new file mode 100644 index 00000000000..c77062fd64c --- /dev/null +++ b/services/reference/_partials/bundler/linea/_eth_senduseroperation-request.mdx @@ -0,0 +1,39 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://linea-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_sendUserOperation", + "params": [ + { + "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149", + "nonce": "0x845ADB2C711129D4F3966735ED98A9F09FC4CE5700000000000000000000", + "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5", + "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419", + "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000", + "callGasLimit": "0x13880", + "verificationGasLimit": "0x60B01", + "preVerificationGas": "0xD3E3", + "maxPriorityFeePerGas": "0x3B9ACA00", + "maxFeePerGas": "0x7A5CF70D5", + "paymaster": "0x", + "paymasterVerificationGasLimit": "0x0", + "paymasterPostOpGasLimit": "0x0", + "paymasterData": null, + "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032" + ], + "id": 1 + }' +``` + + + \ No newline at end of file diff --git a/services/reference/_partials/bundler/linea/_eth_supportedentrypoints-request.mdx b/services/reference/_partials/bundler/linea/_eth_supportedentrypoints-request.mdx new file mode 100644 index 00000000000..6e44f629dda --- /dev/null +++ b/services/reference/_partials/bundler/linea/_eth_supportedentrypoints-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://linea-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_supportedEntryPoints", + "params": [], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/linea/_pimlico_getuseroperationgasprice-request.mdx b/services/reference/_partials/bundler/linea/_pimlico_getuseroperationgasprice-request.mdx new file mode 100644 index 00000000000..22280b0aeeb --- /dev/null +++ b/services/reference/_partials/bundler/linea/_pimlico_getuseroperationgasprice-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://linea-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pimlico_getUserOperationGasPrice", + "params": [], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/linea/_pimlico_getuseroperationstatus-request.mdx b/services/reference/_partials/bundler/linea/_pimlico_getuseroperationstatus-request.mdx new file mode 100644 index 00000000000..fec7622bdb3 --- /dev/null +++ b/services/reference/_partials/bundler/linea/_pimlico_getuseroperationstatus-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://linea-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pimlico_getUserOperationStatus", + "params": ["0x9bd004b8240da8eba3a02190a72be8a70ade8ef4c581b6e59789643c5e642ac3"], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/linea/_pimlico_simulateassetchanges-request.mdx b/services/reference/_partials/bundler/linea/_pimlico_simulateassetchanges-request.mdx new file mode 100644 index 00000000000..1c272ae3e75 --- /dev/null +++ b/services/reference/_partials/bundler/linea/_pimlico_simulateassetchanges-request.mdx @@ -0,0 +1,35 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + + ```bash + curl https://linea-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pimlico_simulateAssetChanges", + "id": 4337, + "params": [ + { + "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149", + "nonce": "0x1", + "callData": "0x9faf00f4d9c8df66a69fd6242d468aa8a31a439d14fc6c7af3868a06ed392233bc7e39475df25ad2b52bd5e19e1d438277207a415cb4d4ce8ad192464c55ddf1a9559ff900000000000000000000000073da77f0f2daaa88b908413495d3d0e37458212e00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000039946fd82c9c86c9a61bceed86fbdd284590bdd90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", + "callGasLimit": "0x0", + "verificationGasLimit": "0x0", + "preVerificationGas": "0x0", + "maxFeePerGas": "0x7a5cf70d5", + "maxPriorityFeePerGas": "0x3b9aca00", + "paymasterVerificationGasLimit": "0x0", + "paymasterPostOpGasLimit": "0x0", + "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032" + ] + }' + ``` + + + diff --git a/services/reference/_partials/bundler/mantle/_eth_estimateuseroperationgas-request.mdx b/services/reference/_partials/bundler/mantle/_eth_estimateuseroperationgas-request.mdx new file mode 100644 index 00000000000..211f8629ac4 --- /dev/null +++ b/services/reference/_partials/bundler/mantle/_eth_estimateuseroperationgas-request.mdx @@ -0,0 +1,82 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + + ```bash + curl https://mantle-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_estimateUserOperationGas", + "params": [ + { + "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149", + "nonce": "0x845adb2c711129d4f3966735ed98a9f09fc4ce5700000000000000000000", + "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5", + "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419", + "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000", + "callGasLimit": "0x0", + "verificationGasLimit": "0x0", + "preVerificationGas": "0x0", + "maxFeePerGas": "0x7a5cf70d5", + "maxPriorityFeePerGas": "0x3b9aca00", + "paymaster": null, + "paymasterVerificationGasLimit": null, + "paymasterPostOpGasLimit": null, + "paymasterData": null, + "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032" + ], + "id": 1 + }' + ``` + + + + + ```bash + curl https://mantle-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_estimateUserOperationGas", + "params": [ + { + "sender": "0xa203fDb8bC335F86016F635b85389B62B189E417", + "nonce": "0x35bf2a054f92f3730b87582ef223c8d663f9eb01158154750000000000000000", + "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5", + "callData": "0xb61d27f6000000000000000000000000530fff22987e137e7c8d2adcc4c15eb45b4fa752", + "callGasLimit": "0x0", + "verificationGasLimit": "0x0", + "preVerificationGas": "0x0", + "maxPriorityFeePerGas": "0x12a05f200", + "maxFeePerGas": "0x5b08082fa", + "paymaster": null, + "paymasterVerificationGasLimit": null, + "paymasterPostOpGasLimit": null, + "paymasterData": null, + "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032", + { + "0xd9c9cd5f6779558b6e0ed4e6acf6b1947e7fa1f3": { + "balance": "0xde0b6b3a7640000" + }, + "0xebe8efa441b9302a0d7eaecc277c09d20d684540": { + "stateDiff": { + "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80": "0x21" + } + } + } + ], + "id": 1 + }' + ``` + + + \ No newline at end of file diff --git a/services/reference/_partials/bundler/mantle/_eth_getuseroperationbyhash-request.mdx b/services/reference/_partials/bundler/mantle/_eth_getuseroperationbyhash-request.mdx new file mode 100644 index 00000000000..fbf71183919 --- /dev/null +++ b/services/reference/_partials/bundler/mantle/_eth_getuseroperationbyhash-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://mantle-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_getUserOperationByHash", + "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/mantle/_eth_getuseroperationreceipt-request.mdx b/services/reference/_partials/bundler/mantle/_eth_getuseroperationreceipt-request.mdx new file mode 100644 index 00000000000..0dd49b211f1 --- /dev/null +++ b/services/reference/_partials/bundler/mantle/_eth_getuseroperationreceipt-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://mantle-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_getUserOperationReceipt", + "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/mantle/_eth_senduseroperation-request.mdx b/services/reference/_partials/bundler/mantle/_eth_senduseroperation-request.mdx new file mode 100644 index 00000000000..c4aca6aed11 --- /dev/null +++ b/services/reference/_partials/bundler/mantle/_eth_senduseroperation-request.mdx @@ -0,0 +1,39 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://mantle-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_sendUserOperation", + "params": [ + { + "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149", + "nonce": "0x845ADB2C711129D4F3966735ED98A9F09FC4CE5700000000000000000000", + "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5", + "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419", + "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000", + "callGasLimit": "0x13880", + "verificationGasLimit": "0x60B01", + "preVerificationGas": "0xD3E3", + "maxPriorityFeePerGas": "0x3B9ACA00", + "maxFeePerGas": "0x7A5CF70D5", + "paymaster": "0x", + "paymasterVerificationGasLimit": "0x0", + "paymasterPostOpGasLimit": "0x0", + "paymasterData": null, + "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032" + ], + "id": 1 + }' +``` + + + \ No newline at end of file diff --git a/services/reference/_partials/bundler/mantle/_eth_supportedentrypoints-request.mdx b/services/reference/_partials/bundler/mantle/_eth_supportedentrypoints-request.mdx new file mode 100644 index 00000000000..548666a980b --- /dev/null +++ b/services/reference/_partials/bundler/mantle/_eth_supportedentrypoints-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://mantle-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_supportedEntryPoints", + "params": [], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/mantle/_pimlico_getuseroperationgasprice-request.mdx b/services/reference/_partials/bundler/mantle/_pimlico_getuseroperationgasprice-request.mdx new file mode 100644 index 00000000000..a3cd2978fde --- /dev/null +++ b/services/reference/_partials/bundler/mantle/_pimlico_getuseroperationgasprice-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://mantle-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pimlico_getUserOperationGasPrice", + "params": [], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/mantle/_pimlico_getuseroperationstatus-request.mdx b/services/reference/_partials/bundler/mantle/_pimlico_getuseroperationstatus-request.mdx new file mode 100644 index 00000000000..7647023a0d0 --- /dev/null +++ b/services/reference/_partials/bundler/mantle/_pimlico_getuseroperationstatus-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://mantle-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pimlico_getUserOperationStatus", + "params": ["0x9bd004b8240da8eba3a02190a72be8a70ade8ef4c581b6e59789643c5e642ac3"], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/mantle/_pimlico_simulateassetchanges-request.mdx b/services/reference/_partials/bundler/mantle/_pimlico_simulateassetchanges-request.mdx new file mode 100644 index 00000000000..751edb84a4f --- /dev/null +++ b/services/reference/_partials/bundler/mantle/_pimlico_simulateassetchanges-request.mdx @@ -0,0 +1,35 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + + ```bash + curl https://mantle-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pimlico_simulateAssetChanges", + "id": 4337, + "params": [ + { + "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149", + "nonce": "0x1", + "callData": "0x9faf00f4d9c8df66a69fd6242d468aa8a31a439d14fc6c7af3868a06ed392233bc7e39475df25ad2b52bd5e19e1d438277207a415cb4d4ce8ad192464c55ddf1a9559ff900000000000000000000000073da77f0f2daaa88b908413495d3d0e37458212e00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000039946fd82c9c86c9a61bceed86fbdd284590bdd90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", + "callGasLimit": "0x0", + "verificationGasLimit": "0x0", + "preVerificationGas": "0x0", + "maxFeePerGas": "0x7a5cf70d5", + "maxPriorityFeePerGas": "0x3b9aca00", + "paymasterVerificationGasLimit": "0x0", + "paymasterPostOpGasLimit": "0x0", + "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032" + ] + }' + ``` + + + diff --git a/services/reference/_partials/bundler/opbnb/_eth_estimateuseroperationgas-request.mdx b/services/reference/_partials/bundler/opbnb/_eth_estimateuseroperationgas-request.mdx new file mode 100644 index 00000000000..9eee9da9fdc --- /dev/null +++ b/services/reference/_partials/bundler/opbnb/_eth_estimateuseroperationgas-request.mdx @@ -0,0 +1,82 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + + ```bash + curl https://opbnb-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_estimateUserOperationGas", + "params": [ + { + "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149", + "nonce": "0x845adb2c711129d4f3966735ed98a9f09fc4ce5700000000000000000000", + "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5", + "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419", + "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000", + "callGasLimit": "0x0", + "verificationGasLimit": "0x0", + "preVerificationGas": "0x0", + "maxFeePerGas": "0x7a5cf70d5", + "maxPriorityFeePerGas": "0x3b9aca00", + "paymaster": null, + "paymasterVerificationGasLimit": null, + "paymasterPostOpGasLimit": null, + "paymasterData": null, + "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032" + ], + "id": 1 + }' + ``` + + + + + ```bash + curl https://opbnb-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_estimateUserOperationGas", + "params": [ + { + "sender": "0xa203fDb8bC335F86016F635b85389B62B189E417", + "nonce": "0x35bf2a054f92f3730b87582ef223c8d663f9eb01158154750000000000000000", + "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5", + "callData": "0xb61d27f6000000000000000000000000530fff22987e137e7c8d2adcc4c15eb45b4fa752", + "callGasLimit": "0x0", + "verificationGasLimit": "0x0", + "preVerificationGas": "0x0", + "maxPriorityFeePerGas": "0x12a05f200", + "maxFeePerGas": "0x5b08082fa", + "paymaster": null, + "paymasterVerificationGasLimit": null, + "paymasterPostOpGasLimit": null, + "paymasterData": null, + "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032", + { + "0xd9c9cd5f6779558b6e0ed4e6acf6b1947e7fa1f3": { + "balance": "0xde0b6b3a7640000" + }, + "0xebe8efa441b9302a0d7eaecc277c09d20d684540": { + "stateDiff": { + "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80": "0x21" + } + } + } + ], + "id": 1 + }' + ``` + + + \ No newline at end of file diff --git a/services/reference/_partials/bundler/opbnb/_eth_getuseroperationbyhash-request.mdx b/services/reference/_partials/bundler/opbnb/_eth_getuseroperationbyhash-request.mdx new file mode 100644 index 00000000000..73955569d54 --- /dev/null +++ b/services/reference/_partials/bundler/opbnb/_eth_getuseroperationbyhash-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://opbnb-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_getUserOperationByHash", + "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/opbnb/_eth_getuseroperationreceipt-request.mdx b/services/reference/_partials/bundler/opbnb/_eth_getuseroperationreceipt-request.mdx new file mode 100644 index 00000000000..af57d04609a --- /dev/null +++ b/services/reference/_partials/bundler/opbnb/_eth_getuseroperationreceipt-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://opbnb-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_getUserOperationReceipt", + "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/opbnb/_eth_senduseroperation-request.mdx b/services/reference/_partials/bundler/opbnb/_eth_senduseroperation-request.mdx new file mode 100644 index 00000000000..904030d4fbf --- /dev/null +++ b/services/reference/_partials/bundler/opbnb/_eth_senduseroperation-request.mdx @@ -0,0 +1,39 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://opbnb-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_sendUserOperation", + "params": [ + { + "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149", + "nonce": "0x845ADB2C711129D4F3966735ED98A9F09FC4CE5700000000000000000000", + "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5", + "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419", + "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000", + "callGasLimit": "0x13880", + "verificationGasLimit": "0x60B01", + "preVerificationGas": "0xD3E3", + "maxPriorityFeePerGas": "0x3B9ACA00", + "maxFeePerGas": "0x7A5CF70D5", + "paymaster": "0x", + "paymasterVerificationGasLimit": "0x0", + "paymasterPostOpGasLimit": "0x0", + "paymasterData": null, + "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032" + ], + "id": 1 + }' +``` + + + \ No newline at end of file diff --git a/services/reference/_partials/bundler/opbnb/_eth_supportedentrypoints-request.mdx b/services/reference/_partials/bundler/opbnb/_eth_supportedentrypoints-request.mdx new file mode 100644 index 00000000000..17f66f70363 --- /dev/null +++ b/services/reference/_partials/bundler/opbnb/_eth_supportedentrypoints-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://opbnb-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_supportedEntryPoints", + "params": [], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/opbnb/_pimlico_getuseroperationgasprice-request.mdx b/services/reference/_partials/bundler/opbnb/_pimlico_getuseroperationgasprice-request.mdx new file mode 100644 index 00000000000..82037b48c24 --- /dev/null +++ b/services/reference/_partials/bundler/opbnb/_pimlico_getuseroperationgasprice-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://opbnb-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pimlico_getUserOperationGasPrice", + "params": [], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/opbnb/_pimlico_getuseroperationstatus-request.mdx b/services/reference/_partials/bundler/opbnb/_pimlico_getuseroperationstatus-request.mdx new file mode 100644 index 00000000000..5d4915deddf --- /dev/null +++ b/services/reference/_partials/bundler/opbnb/_pimlico_getuseroperationstatus-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://opbnb-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pimlico_getUserOperationStatus", + "params": ["0x9bd004b8240da8eba3a02190a72be8a70ade8ef4c581b6e59789643c5e642ac3"], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/opbnb/_pimlico_simulateassetchanges-request.mdx b/services/reference/_partials/bundler/opbnb/_pimlico_simulateassetchanges-request.mdx new file mode 100644 index 00000000000..fe99a3a7740 --- /dev/null +++ b/services/reference/_partials/bundler/opbnb/_pimlico_simulateassetchanges-request.mdx @@ -0,0 +1,35 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + + ```bash + curl https://opbnb-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pimlico_simulateAssetChanges", + "id": 4337, + "params": [ + { + "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149", + "nonce": "0x1", + "callData": "0x9faf00f4d9c8df66a69fd6242d468aa8a31a439d14fc6c7af3868a06ed392233bc7e39475df25ad2b52bd5e19e1d438277207a415cb4d4ce8ad192464c55ddf1a9559ff900000000000000000000000073da77f0f2daaa88b908413495d3d0e37458212e00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000039946fd82c9c86c9a61bceed86fbdd284590bdd90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", + "callGasLimit": "0x0", + "verificationGasLimit": "0x0", + "preVerificationGas": "0x0", + "maxFeePerGas": "0x7a5cf70d5", + "maxPriorityFeePerGas": "0x3b9aca00", + "paymasterVerificationGasLimit": "0x0", + "paymasterPostOpGasLimit": "0x0", + "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032" + ] + }' + ``` + + + diff --git a/services/reference/_partials/bundler/optimism/_eth_estimateuseroperationgas-request.mdx b/services/reference/_partials/bundler/optimism/_eth_estimateuseroperationgas-request.mdx new file mode 100644 index 00000000000..958b09b18cd --- /dev/null +++ b/services/reference/_partials/bundler/optimism/_eth_estimateuseroperationgas-request.mdx @@ -0,0 +1,82 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + + ```bash + curl https://optimism-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_estimateUserOperationGas", + "params": [ + { + "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149", + "nonce": "0x845adb2c711129d4f3966735ed98a9f09fc4ce5700000000000000000000", + "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5", + "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419", + "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000", + "callGasLimit": "0x0", + "verificationGasLimit": "0x0", + "preVerificationGas": "0x0", + "maxFeePerGas": "0x7a5cf70d5", + "maxPriorityFeePerGas": "0x3b9aca00", + "paymaster": null, + "paymasterVerificationGasLimit": null, + "paymasterPostOpGasLimit": null, + "paymasterData": null, + "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032" + ], + "id": 1 + }' + ``` + + + + + ```bash + curl https://optimism-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_estimateUserOperationGas", + "params": [ + { + "sender": "0xa203fDb8bC335F86016F635b85389B62B189E417", + "nonce": "0x35bf2a054f92f3730b87582ef223c8d663f9eb01158154750000000000000000", + "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5", + "callData": "0xb61d27f6000000000000000000000000530fff22987e137e7c8d2adcc4c15eb45b4fa752", + "callGasLimit": "0x0", + "verificationGasLimit": "0x0", + "preVerificationGas": "0x0", + "maxPriorityFeePerGas": "0x12a05f200", + "maxFeePerGas": "0x5b08082fa", + "paymaster": null, + "paymasterVerificationGasLimit": null, + "paymasterPostOpGasLimit": null, + "paymasterData": null, + "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032", + { + "0xd9c9cd5f6779558b6e0ed4e6acf6b1947e7fa1f3": { + "balance": "0xde0b6b3a7640000" + }, + "0xebe8efa441b9302a0d7eaecc277c09d20d684540": { + "stateDiff": { + "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80": "0x21" + } + } + } + ], + "id": 1 + }' + ``` + + + \ No newline at end of file diff --git a/services/reference/_partials/bundler/optimism/_eth_getuseroperationbyhash-request.mdx b/services/reference/_partials/bundler/optimism/_eth_getuseroperationbyhash-request.mdx new file mode 100644 index 00000000000..e8238ff1842 --- /dev/null +++ b/services/reference/_partials/bundler/optimism/_eth_getuseroperationbyhash-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://optimism-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_getUserOperationByHash", + "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/optimism/_eth_getuseroperationreceipt-request.mdx b/services/reference/_partials/bundler/optimism/_eth_getuseroperationreceipt-request.mdx new file mode 100644 index 00000000000..2413670d273 --- /dev/null +++ b/services/reference/_partials/bundler/optimism/_eth_getuseroperationreceipt-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://optimism-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_getUserOperationReceipt", + "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/optimism/_eth_senduseroperation-request.mdx b/services/reference/_partials/bundler/optimism/_eth_senduseroperation-request.mdx new file mode 100644 index 00000000000..843e1666944 --- /dev/null +++ b/services/reference/_partials/bundler/optimism/_eth_senduseroperation-request.mdx @@ -0,0 +1,39 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://optimism-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_sendUserOperation", + "params": [ + { + "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149", + "nonce": "0x845ADB2C711129D4F3966735ED98A9F09FC4CE5700000000000000000000", + "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5", + "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419", + "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000", + "callGasLimit": "0x13880", + "verificationGasLimit": "0x60B01", + "preVerificationGas": "0xD3E3", + "maxPriorityFeePerGas": "0x3B9ACA00", + "maxFeePerGas": "0x7A5CF70D5", + "paymaster": "0x", + "paymasterVerificationGasLimit": "0x0", + "paymasterPostOpGasLimit": "0x0", + "paymasterData": null, + "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032" + ], + "id": 1 + }' +``` + + + \ No newline at end of file diff --git a/services/reference/_partials/bundler/optimism/_eth_supportedentrypoints-request.mdx b/services/reference/_partials/bundler/optimism/_eth_supportedentrypoints-request.mdx new file mode 100644 index 00000000000..17ed510e4a1 --- /dev/null +++ b/services/reference/_partials/bundler/optimism/_eth_supportedentrypoints-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://optimism-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_supportedEntryPoints", + "params": [], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/optimism/_pimlico_getuseroperationgasprice-request.mdx b/services/reference/_partials/bundler/optimism/_pimlico_getuseroperationgasprice-request.mdx new file mode 100644 index 00000000000..92039d352be --- /dev/null +++ b/services/reference/_partials/bundler/optimism/_pimlico_getuseroperationgasprice-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://optimism-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pimlico_getUserOperationGasPrice", + "params": [], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/optimism/_pimlico_getuseroperationstatus-request.mdx b/services/reference/_partials/bundler/optimism/_pimlico_getuseroperationstatus-request.mdx new file mode 100644 index 00000000000..8787de76ee7 --- /dev/null +++ b/services/reference/_partials/bundler/optimism/_pimlico_getuseroperationstatus-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://optimism-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pimlico_getUserOperationStatus", + "params": ["0x9bd004b8240da8eba3a02190a72be8a70ade8ef4c581b6e59789643c5e642ac3"], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/optimism/_pimlico_simulateassetchanges-request.mdx b/services/reference/_partials/bundler/optimism/_pimlico_simulateassetchanges-request.mdx new file mode 100644 index 00000000000..870b94ea11e --- /dev/null +++ b/services/reference/_partials/bundler/optimism/_pimlico_simulateassetchanges-request.mdx @@ -0,0 +1,35 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + + ```bash + curl https://optimism-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pimlico_simulateAssetChanges", + "id": 4337, + "params": [ + { + "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149", + "nonce": "0x1", + "callData": "0x9faf00f4d9c8df66a69fd6242d468aa8a31a439d14fc6c7af3868a06ed392233bc7e39475df25ad2b52bd5e19e1d438277207a415cb4d4ce8ad192464c55ddf1a9559ff900000000000000000000000073da77f0f2daaa88b908413495d3d0e37458212e00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000039946fd82c9c86c9a61bceed86fbdd284590bdd90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", + "callGasLimit": "0x0", + "verificationGasLimit": "0x0", + "preVerificationGas": "0x0", + "maxFeePerGas": "0x7a5cf70d5", + "maxPriorityFeePerGas": "0x3b9aca00", + "paymasterVerificationGasLimit": "0x0", + "paymasterPostOpGasLimit": "0x0", + "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032" + ] + }' + ``` + + + diff --git a/services/reference/_partials/bundler/polygon/_eth_estimateuseroperationgas-request.mdx b/services/reference/_partials/bundler/polygon/_eth_estimateuseroperationgas-request.mdx new file mode 100644 index 00000000000..44b43e14538 --- /dev/null +++ b/services/reference/_partials/bundler/polygon/_eth_estimateuseroperationgas-request.mdx @@ -0,0 +1,82 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + + ```bash + curl https://polygon-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_estimateUserOperationGas", + "params": [ + { + "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149", + "nonce": "0x845adb2c711129d4f3966735ed98a9f09fc4ce5700000000000000000000", + "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5", + "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419", + "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000", + "callGasLimit": "0x0", + "verificationGasLimit": "0x0", + "preVerificationGas": "0x0", + "maxFeePerGas": "0x7a5cf70d5", + "maxPriorityFeePerGas": "0x3b9aca00", + "paymaster": null, + "paymasterVerificationGasLimit": null, + "paymasterPostOpGasLimit": null, + "paymasterData": null, + "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032" + ], + "id": 1 + }' + ``` + + + + + ```bash + curl https://polygon-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_estimateUserOperationGas", + "params": [ + { + "sender": "0xa203fDb8bC335F86016F635b85389B62B189E417", + "nonce": "0x35bf2a054f92f3730b87582ef223c8d663f9eb01158154750000000000000000", + "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5", + "callData": "0xb61d27f6000000000000000000000000530fff22987e137e7c8d2adcc4c15eb45b4fa752", + "callGasLimit": "0x0", + "verificationGasLimit": "0x0", + "preVerificationGas": "0x0", + "maxPriorityFeePerGas": "0x12a05f200", + "maxFeePerGas": "0x5b08082fa", + "paymaster": null, + "paymasterVerificationGasLimit": null, + "paymasterPostOpGasLimit": null, + "paymasterData": null, + "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032", + { + "0xd9c9cd5f6779558b6e0ed4e6acf6b1947e7fa1f3": { + "balance": "0xde0b6b3a7640000" + }, + "0xebe8efa441b9302a0d7eaecc277c09d20d684540": { + "stateDiff": { + "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80": "0x21" + } + } + } + ], + "id": 1 + }' + ``` + + + \ No newline at end of file diff --git a/services/reference/_partials/bundler/polygon/_eth_getuseroperationbyhash-request.mdx b/services/reference/_partials/bundler/polygon/_eth_getuseroperationbyhash-request.mdx new file mode 100644 index 00000000000..48ae7fcebd2 --- /dev/null +++ b/services/reference/_partials/bundler/polygon/_eth_getuseroperationbyhash-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://polygon-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_getUserOperationByHash", + "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/polygon/_eth_getuseroperationreceipt-request.mdx b/services/reference/_partials/bundler/polygon/_eth_getuseroperationreceipt-request.mdx new file mode 100644 index 00000000000..b247657f7b3 --- /dev/null +++ b/services/reference/_partials/bundler/polygon/_eth_getuseroperationreceipt-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://polygon-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_getUserOperationReceipt", + "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/polygon/_eth_senduseroperation-request.mdx b/services/reference/_partials/bundler/polygon/_eth_senduseroperation-request.mdx new file mode 100644 index 00000000000..c285e8ec098 --- /dev/null +++ b/services/reference/_partials/bundler/polygon/_eth_senduseroperation-request.mdx @@ -0,0 +1,39 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://polygon-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_sendUserOperation", + "params": [ + { + "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149", + "nonce": "0x845ADB2C711129D4F3966735ED98A9F09FC4CE5700000000000000000000", + "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5", + "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419", + "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000", + "callGasLimit": "0x13880", + "verificationGasLimit": "0x60B01", + "preVerificationGas": "0xD3E3", + "maxPriorityFeePerGas": "0x3B9ACA00", + "maxFeePerGas": "0x7A5CF70D5", + "paymaster": "0x", + "paymasterVerificationGasLimit": "0x0", + "paymasterPostOpGasLimit": "0x0", + "paymasterData": null, + "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032" + ], + "id": 1 + }' +``` + + + \ No newline at end of file diff --git a/services/reference/_partials/bundler/polygon/_eth_supportedentrypoints-request.mdx b/services/reference/_partials/bundler/polygon/_eth_supportedentrypoints-request.mdx new file mode 100644 index 00000000000..fb728b0f480 --- /dev/null +++ b/services/reference/_partials/bundler/polygon/_eth_supportedentrypoints-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://polygon-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_supportedEntryPoints", + "params": [], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/polygon/_pimlico_getuseroperationgasprice-request.mdx b/services/reference/_partials/bundler/polygon/_pimlico_getuseroperationgasprice-request.mdx new file mode 100644 index 00000000000..ff047599d77 --- /dev/null +++ b/services/reference/_partials/bundler/polygon/_pimlico_getuseroperationgasprice-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://polygon-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pimlico_getUserOperationGasPrice", + "params": [], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/polygon/_pimlico_getuseroperationstatus-request.mdx b/services/reference/_partials/bundler/polygon/_pimlico_getuseroperationstatus-request.mdx new file mode 100644 index 00000000000..b298b5870e7 --- /dev/null +++ b/services/reference/_partials/bundler/polygon/_pimlico_getuseroperationstatus-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://polygon-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pimlico_getUserOperationStatus", + "params": ["0x9bd004b8240da8eba3a02190a72be8a70ade8ef4c581b6e59789643c5e642ac3"], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/polygon/_pimlico_simulateassetchanges-request.mdx b/services/reference/_partials/bundler/polygon/_pimlico_simulateassetchanges-request.mdx new file mode 100644 index 00000000000..6d5370820f2 --- /dev/null +++ b/services/reference/_partials/bundler/polygon/_pimlico_simulateassetchanges-request.mdx @@ -0,0 +1,35 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + + ```bash + curl https://polygon-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pimlico_simulateAssetChanges", + "id": 4337, + "params": [ + { + "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149", + "nonce": "0x1", + "callData": "0x9faf00f4d9c8df66a69fd6242d468aa8a31a439d14fc6c7af3868a06ed392233bc7e39475df25ad2b52bd5e19e1d438277207a415cb4d4ce8ad192464c55ddf1a9559ff900000000000000000000000073da77f0f2daaa88b908413495d3d0e37458212e00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000039946fd82c9c86c9a61bceed86fbdd284590bdd90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", + "callGasLimit": "0x0", + "verificationGasLimit": "0x0", + "preVerificationGas": "0x0", + "maxFeePerGas": "0x7a5cf70d5", + "maxPriorityFeePerGas": "0x3b9aca00", + "paymasterVerificationGasLimit": "0x0", + "paymasterPostOpGasLimit": "0x0", + "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032" + ] + }' + ``` + + + diff --git a/services/reference/_partials/bundler/scroll/_eth_estimateuseroperationgas-request.mdx b/services/reference/_partials/bundler/scroll/_eth_estimateuseroperationgas-request.mdx new file mode 100644 index 00000000000..819ed17cd14 --- /dev/null +++ b/services/reference/_partials/bundler/scroll/_eth_estimateuseroperationgas-request.mdx @@ -0,0 +1,82 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + + ```bash + curl https://scroll-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_estimateUserOperationGas", + "params": [ + { + "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149", + "nonce": "0x845adb2c711129d4f3966735ed98a9f09fc4ce5700000000000000000000", + "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5", + "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419", + "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000", + "callGasLimit": "0x0", + "verificationGasLimit": "0x0", + "preVerificationGas": "0x0", + "maxFeePerGas": "0x7a5cf70d5", + "maxPriorityFeePerGas": "0x3b9aca00", + "paymaster": null, + "paymasterVerificationGasLimit": null, + "paymasterPostOpGasLimit": null, + "paymasterData": null, + "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032" + ], + "id": 1 + }' + ``` + + + + + ```bash + curl https://scroll-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_estimateUserOperationGas", + "params": [ + { + "sender": "0xa203fDb8bC335F86016F635b85389B62B189E417", + "nonce": "0x35bf2a054f92f3730b87582ef223c8d663f9eb01158154750000000000000000", + "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5", + "callData": "0xb61d27f6000000000000000000000000530fff22987e137e7c8d2adcc4c15eb45b4fa752", + "callGasLimit": "0x0", + "verificationGasLimit": "0x0", + "preVerificationGas": "0x0", + "maxPriorityFeePerGas": "0x12a05f200", + "maxFeePerGas": "0x5b08082fa", + "paymaster": null, + "paymasterVerificationGasLimit": null, + "paymasterPostOpGasLimit": null, + "paymasterData": null, + "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032", + { + "0xd9c9cd5f6779558b6e0ed4e6acf6b1947e7fa1f3": { + "balance": "0xde0b6b3a7640000" + }, + "0xebe8efa441b9302a0d7eaecc277c09d20d684540": { + "stateDiff": { + "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80": "0x21" + } + } + } + ], + "id": 1 + }' + ``` + + + \ No newline at end of file diff --git a/services/reference/_partials/bundler/scroll/_eth_getuseroperationbyhash-request.mdx b/services/reference/_partials/bundler/scroll/_eth_getuseroperationbyhash-request.mdx new file mode 100644 index 00000000000..200b3bce1bf --- /dev/null +++ b/services/reference/_partials/bundler/scroll/_eth_getuseroperationbyhash-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://scroll-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_getUserOperationByHash", + "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/scroll/_eth_getuseroperationreceipt-request.mdx b/services/reference/_partials/bundler/scroll/_eth_getuseroperationreceipt-request.mdx new file mode 100644 index 00000000000..04e20a816f6 --- /dev/null +++ b/services/reference/_partials/bundler/scroll/_eth_getuseroperationreceipt-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://scroll-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_getUserOperationReceipt", + "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/scroll/_eth_senduseroperation-request.mdx b/services/reference/_partials/bundler/scroll/_eth_senduseroperation-request.mdx new file mode 100644 index 00000000000..89317cbf06f --- /dev/null +++ b/services/reference/_partials/bundler/scroll/_eth_senduseroperation-request.mdx @@ -0,0 +1,39 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://scroll-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_sendUserOperation", + "params": [ + { + "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149", + "nonce": "0x845ADB2C711129D4F3966735ED98A9F09FC4CE5700000000000000000000", + "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5", + "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419", + "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000", + "callGasLimit": "0x13880", + "verificationGasLimit": "0x60B01", + "preVerificationGas": "0xD3E3", + "maxPriorityFeePerGas": "0x3B9ACA00", + "maxFeePerGas": "0x7A5CF70D5", + "paymaster": "0x", + "paymasterVerificationGasLimit": "0x0", + "paymasterPostOpGasLimit": "0x0", + "paymasterData": null, + "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032" + ], + "id": 1 + }' +``` + + + \ No newline at end of file diff --git a/services/reference/_partials/bundler/scroll/_eth_supportedentrypoints-request.mdx b/services/reference/_partials/bundler/scroll/_eth_supportedentrypoints-request.mdx new file mode 100644 index 00000000000..c04b2c058e1 --- /dev/null +++ b/services/reference/_partials/bundler/scroll/_eth_supportedentrypoints-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://scroll-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_supportedEntryPoints", + "params": [], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/scroll/_pimlico_getuseroperationgasprice-request.mdx b/services/reference/_partials/bundler/scroll/_pimlico_getuseroperationgasprice-request.mdx new file mode 100644 index 00000000000..91dc970eea5 --- /dev/null +++ b/services/reference/_partials/bundler/scroll/_pimlico_getuseroperationgasprice-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://scroll-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pimlico_getUserOperationGasPrice", + "params": [], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/scroll/_pimlico_getuseroperationstatus-request.mdx b/services/reference/_partials/bundler/scroll/_pimlico_getuseroperationstatus-request.mdx new file mode 100644 index 00000000000..4029c4cd774 --- /dev/null +++ b/services/reference/_partials/bundler/scroll/_pimlico_getuseroperationstatus-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://scroll-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pimlico_getUserOperationStatus", + "params": ["0x9bd004b8240da8eba3a02190a72be8a70ade8ef4c581b6e59789643c5e642ac3"], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/scroll/_pimlico_simulateassetchanges-request.mdx b/services/reference/_partials/bundler/scroll/_pimlico_simulateassetchanges-request.mdx new file mode 100644 index 00000000000..0220299fb1a --- /dev/null +++ b/services/reference/_partials/bundler/scroll/_pimlico_simulateassetchanges-request.mdx @@ -0,0 +1,35 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + + ```bash + curl https://scroll-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pimlico_simulateAssetChanges", + "id": 4337, + "params": [ + { + "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149", + "nonce": "0x1", + "callData": "0x9faf00f4d9c8df66a69fd6242d468aa8a31a439d14fc6c7af3868a06ed392233bc7e39475df25ad2b52bd5e19e1d438277207a415cb4d4ce8ad192464c55ddf1a9559ff900000000000000000000000073da77f0f2daaa88b908413495d3d0e37458212e00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000039946fd82c9c86c9a61bceed86fbdd284590bdd90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", + "callGasLimit": "0x0", + "verificationGasLimit": "0x0", + "preVerificationGas": "0x0", + "maxFeePerGas": "0x7a5cf70d5", + "maxPriorityFeePerGas": "0x3b9aca00", + "paymasterVerificationGasLimit": "0x0", + "paymasterPostOpGasLimit": "0x0", + "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032" + ] + }' + ``` + + + diff --git a/services/reference/_partials/bundler/sei/_eth_estimateuseroperationgas-request.mdx b/services/reference/_partials/bundler/sei/_eth_estimateuseroperationgas-request.mdx new file mode 100644 index 00000000000..11f773faa82 --- /dev/null +++ b/services/reference/_partials/bundler/sei/_eth_estimateuseroperationgas-request.mdx @@ -0,0 +1,82 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + + ```bash + curl https://sei-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_estimateUserOperationGas", + "params": [ + { + "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149", + "nonce": "0x845adb2c711129d4f3966735ed98a9f09fc4ce5700000000000000000000", + "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5", + "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419", + "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000", + "callGasLimit": "0x0", + "verificationGasLimit": "0x0", + "preVerificationGas": "0x0", + "maxFeePerGas": "0x7a5cf70d5", + "maxPriorityFeePerGas": "0x3b9aca00", + "paymaster": null, + "paymasterVerificationGasLimit": null, + "paymasterPostOpGasLimit": null, + "paymasterData": null, + "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032" + ], + "id": 1 + }' + ``` + + + + + ```bash + curl https://sei-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_estimateUserOperationGas", + "params": [ + { + "sender": "0xa203fDb8bC335F86016F635b85389B62B189E417", + "nonce": "0x35bf2a054f92f3730b87582ef223c8d663f9eb01158154750000000000000000", + "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5", + "callData": "0xb61d27f6000000000000000000000000530fff22987e137e7c8d2adcc4c15eb45b4fa752", + "callGasLimit": "0x0", + "verificationGasLimit": "0x0", + "preVerificationGas": "0x0", + "maxPriorityFeePerGas": "0x12a05f200", + "maxFeePerGas": "0x5b08082fa", + "paymaster": null, + "paymasterVerificationGasLimit": null, + "paymasterPostOpGasLimit": null, + "paymasterData": null, + "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032", + { + "0xd9c9cd5f6779558b6e0ed4e6acf6b1947e7fa1f3": { + "balance": "0xde0b6b3a7640000" + }, + "0xebe8efa441b9302a0d7eaecc277c09d20d684540": { + "stateDiff": { + "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80": "0x21" + } + } + } + ], + "id": 1 + }' + ``` + + + \ No newline at end of file diff --git a/services/reference/_partials/bundler/sei/_eth_getuseroperationbyhash-request.mdx b/services/reference/_partials/bundler/sei/_eth_getuseroperationbyhash-request.mdx new file mode 100644 index 00000000000..bd9c2d91142 --- /dev/null +++ b/services/reference/_partials/bundler/sei/_eth_getuseroperationbyhash-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://sei-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_getUserOperationByHash", + "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/sei/_eth_getuseroperationreceipt-request.mdx b/services/reference/_partials/bundler/sei/_eth_getuseroperationreceipt-request.mdx new file mode 100644 index 00000000000..c5490d7526b --- /dev/null +++ b/services/reference/_partials/bundler/sei/_eth_getuseroperationreceipt-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://sei-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_getUserOperationReceipt", + "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/sei/_eth_senduseroperation-request.mdx b/services/reference/_partials/bundler/sei/_eth_senduseroperation-request.mdx new file mode 100644 index 00000000000..5b3bc4ad905 --- /dev/null +++ b/services/reference/_partials/bundler/sei/_eth_senduseroperation-request.mdx @@ -0,0 +1,39 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://sei-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_sendUserOperation", + "params": [ + { + "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149", + "nonce": "0x845ADB2C711129D4F3966735ED98A9F09FC4CE5700000000000000000000", + "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5", + "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419", + "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000", + "callGasLimit": "0x13880", + "verificationGasLimit": "0x60B01", + "preVerificationGas": "0xD3E3", + "maxPriorityFeePerGas": "0x3B9ACA00", + "maxFeePerGas": "0x7A5CF70D5", + "paymaster": "0x", + "paymasterVerificationGasLimit": "0x0", + "paymasterPostOpGasLimit": "0x0", + "paymasterData": null, + "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032" + ], + "id": 1 + }' +``` + + + \ No newline at end of file diff --git a/services/reference/_partials/bundler/sei/_eth_supportedentrypoints-request.mdx b/services/reference/_partials/bundler/sei/_eth_supportedentrypoints-request.mdx new file mode 100644 index 00000000000..f348ebbaaf2 --- /dev/null +++ b/services/reference/_partials/bundler/sei/_eth_supportedentrypoints-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://sei-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_supportedEntryPoints", + "params": [], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/sei/_pimlico_getuseroperationgasprice-request.mdx b/services/reference/_partials/bundler/sei/_pimlico_getuseroperationgasprice-request.mdx new file mode 100644 index 00000000000..cd039fb4bba --- /dev/null +++ b/services/reference/_partials/bundler/sei/_pimlico_getuseroperationgasprice-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://sei-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pimlico_getUserOperationGasPrice", + "params": [], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/sei/_pimlico_getuseroperationstatus-request.mdx b/services/reference/_partials/bundler/sei/_pimlico_getuseroperationstatus-request.mdx new file mode 100644 index 00000000000..ce3cd912ea3 --- /dev/null +++ b/services/reference/_partials/bundler/sei/_pimlico_getuseroperationstatus-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://sei-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pimlico_getUserOperationStatus", + "params": ["0x9bd004b8240da8eba3a02190a72be8a70ade8ef4c581b6e59789643c5e642ac3"], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/sei/_pimlico_simulateassetchanges-request.mdx b/services/reference/_partials/bundler/sei/_pimlico_simulateassetchanges-request.mdx new file mode 100644 index 00000000000..dcc7a7ce17d --- /dev/null +++ b/services/reference/_partials/bundler/sei/_pimlico_simulateassetchanges-request.mdx @@ -0,0 +1,35 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + + ```bash + curl https://sei-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pimlico_simulateAssetChanges", + "id": 4337, + "params": [ + { + "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149", + "nonce": "0x1", + "callData": "0x9faf00f4d9c8df66a69fd6242d468aa8a31a439d14fc6c7af3868a06ed392233bc7e39475df25ad2b52bd5e19e1d438277207a415cb4d4ce8ad192464c55ddf1a9559ff900000000000000000000000073da77f0f2daaa88b908413495d3d0e37458212e00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000039946fd82c9c86c9a61bceed86fbdd284590bdd90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", + "callGasLimit": "0x0", + "verificationGasLimit": "0x0", + "preVerificationGas": "0x0", + "maxFeePerGas": "0x7a5cf70d5", + "maxPriorityFeePerGas": "0x3b9aca00", + "paymasterVerificationGasLimit": "0x0", + "paymasterPostOpGasLimit": "0x0", + "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032" + ] + }' + ``` + + + diff --git a/services/reference/_partials/bundler/unichain/_eth_estimateuseroperationgas-request.mdx b/services/reference/_partials/bundler/unichain/_eth_estimateuseroperationgas-request.mdx new file mode 100644 index 00000000000..bc3416f7725 --- /dev/null +++ b/services/reference/_partials/bundler/unichain/_eth_estimateuseroperationgas-request.mdx @@ -0,0 +1,82 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + + ```bash + curl https://unichain-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_estimateUserOperationGas", + "params": [ + { + "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149", + "nonce": "0x845adb2c711129d4f3966735ed98a9f09fc4ce5700000000000000000000", + "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5", + "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419", + "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000", + "callGasLimit": "0x0", + "verificationGasLimit": "0x0", + "preVerificationGas": "0x0", + "maxFeePerGas": "0x7a5cf70d5", + "maxPriorityFeePerGas": "0x3b9aca00", + "paymaster": null, + "paymasterVerificationGasLimit": null, + "paymasterPostOpGasLimit": null, + "paymasterData": null, + "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032" + ], + "id": 1 + }' + ``` + + + + + ```bash + curl https://unichain-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_estimateUserOperationGas", + "params": [ + { + "sender": "0xa203fDb8bC335F86016F635b85389B62B189E417", + "nonce": "0x35bf2a054f92f3730b87582ef223c8d663f9eb01158154750000000000000000", + "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5", + "callData": "0xb61d27f6000000000000000000000000530fff22987e137e7c8d2adcc4c15eb45b4fa752", + "callGasLimit": "0x0", + "verificationGasLimit": "0x0", + "preVerificationGas": "0x0", + "maxPriorityFeePerGas": "0x12a05f200", + "maxFeePerGas": "0x5b08082fa", + "paymaster": null, + "paymasterVerificationGasLimit": null, + "paymasterPostOpGasLimit": null, + "paymasterData": null, + "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032", + { + "0xd9c9cd5f6779558b6e0ed4e6acf6b1947e7fa1f3": { + "balance": "0xde0b6b3a7640000" + }, + "0xebe8efa441b9302a0d7eaecc277c09d20d684540": { + "stateDiff": { + "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80": "0x21" + } + } + } + ], + "id": 1 + }' + ``` + + + \ No newline at end of file diff --git a/services/reference/_partials/bundler/unichain/_eth_getuseroperationbyhash-request.mdx b/services/reference/_partials/bundler/unichain/_eth_getuseroperationbyhash-request.mdx new file mode 100644 index 00000000000..0d31b10f1fa --- /dev/null +++ b/services/reference/_partials/bundler/unichain/_eth_getuseroperationbyhash-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://unichain-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_getUserOperationByHash", + "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/unichain/_eth_getuseroperationreceipt-request.mdx b/services/reference/_partials/bundler/unichain/_eth_getuseroperationreceipt-request.mdx new file mode 100644 index 00000000000..c635ebb9278 --- /dev/null +++ b/services/reference/_partials/bundler/unichain/_eth_getuseroperationreceipt-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://unichain-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_getUserOperationReceipt", + "params": ["0xa5a579c6fd86c2d8a4d27f5bb22796614d3a31bbccaba8f3019ec001e001b95f"], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/unichain/_eth_senduseroperation-request.mdx b/services/reference/_partials/bundler/unichain/_eth_senduseroperation-request.mdx new file mode 100644 index 00000000000..f42847bd655 --- /dev/null +++ b/services/reference/_partials/bundler/unichain/_eth_senduseroperation-request.mdx @@ -0,0 +1,39 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://unichain-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_sendUserOperation", + "params": [ + { + "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149", + "nonce": "0x845ADB2C711129D4F3966735ED98A9F09FC4CE5700000000000000000000", + "factory": "0xd703aaE79538628d27099B8c4f621bE4CCd142d5", + "factoryData": "0xc5265d5d000000000000000000000000aac5d4240af87249b3f71bc8e4a2cae074a3e419", + "callData": "0xe9ae5c5300000000000000000000000000000000000000000000000000000000000000000000000000", + "callGasLimit": "0x13880", + "verificationGasLimit": "0x60B01", + "preVerificationGas": "0xD3E3", + "maxPriorityFeePerGas": "0x3B9ACA00", + "maxFeePerGas": "0x7A5CF70D5", + "paymaster": "0x", + "paymasterVerificationGasLimit": "0x0", + "paymasterPostOpGasLimit": "0x0", + "paymasterData": null, + "signature": "0xa6cc6589c8bd561cfd68d7b6b0757ef6f208e7438782939938498eee7d703260137856c840c491b3d415956265e81bf5c2184a725be2abfc365f7536b6af525e1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032" + ], + "id": 1 + }' +``` + + + \ No newline at end of file diff --git a/services/reference/_partials/bundler/unichain/_eth_supportedentrypoints-request.mdx b/services/reference/_partials/bundler/unichain/_eth_supportedentrypoints-request.mdx new file mode 100644 index 00000000000..67b62661ca8 --- /dev/null +++ b/services/reference/_partials/bundler/unichain/_eth_supportedentrypoints-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://unichain-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "eth_supportedEntryPoints", + "params": [], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/unichain/_pimlico_getuseroperationgasprice-request.mdx b/services/reference/_partials/bundler/unichain/_pimlico_getuseroperationgasprice-request.mdx new file mode 100644 index 00000000000..c4bb78b3842 --- /dev/null +++ b/services/reference/_partials/bundler/unichain/_pimlico_getuseroperationgasprice-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://unichain-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pimlico_getUserOperationGasPrice", + "params": [], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/unichain/_pimlico_getuseroperationstatus-request.mdx b/services/reference/_partials/bundler/unichain/_pimlico_getuseroperationstatus-request.mdx new file mode 100644 index 00000000000..98be52b503e --- /dev/null +++ b/services/reference/_partials/bundler/unichain/_pimlico_getuseroperationstatus-request.mdx @@ -0,0 +1,20 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + +```bash +curl https://unichain-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pimlico_getUserOperationStatus", + "params": ["0x9bd004b8240da8eba3a02190a72be8a70ade8ef4c581b6e59789643c5e642ac3"], + "id": 1 + }' +``` + + + diff --git a/services/reference/_partials/bundler/unichain/_pimlico_simulateassetchanges-request.mdx b/services/reference/_partials/bundler/unichain/_pimlico_simulateassetchanges-request.mdx new file mode 100644 index 00000000000..d6a2c133a31 --- /dev/null +++ b/services/reference/_partials/bundler/unichain/_pimlico_simulateassetchanges-request.mdx @@ -0,0 +1,35 @@ +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + + + + + ```bash + curl https://unichain-mainnet.infura.io/v3/ \ + -X POST \ + -H "Content-Type: application/json" \ + -d '{ + "jsonrpc": "2.0", + "method": "pimlico_simulateAssetChanges", + "id": 4337, + "params": [ + { + "sender": "0x5a6b47F4131bf1feAFA56A05573314BcF44C9149", + "nonce": "0x1", + "callData": "0x9faf00f4d9c8df66a69fd6242d468aa8a31a439d14fc6c7af3868a06ed392233bc7e39475df25ad2b52bd5e19e1d438277207a415cb4d4ce8ad192464c55ddf1a9559ff900000000000000000000000073da77f0f2daaa88b908413495d3d0e37458212e00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000039946fd82c9c86c9a61bceed86fbdd284590bdd90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", + "callGasLimit": "0x0", + "verificationGasLimit": "0x0", + "preVerificationGas": "0x0", + "maxFeePerGas": "0x7a5cf70d5", + "maxPriorityFeePerGas": "0x3b9aca00", + "paymasterVerificationGasLimit": "0x0", + "paymasterPostOpGasLimit": "0x0", + "signature": "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c" + }, + "0x0000000071727De22E5E9d8BAf0edAc6f37da032" + ] + }' + ``` + + + diff --git a/services/reference/arbitrum/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx b/services/reference/arbitrum/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx new file mode 100644 index 00000000000..6d6ad51b37a --- /dev/null +++ b/services/reference/arbitrum/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx @@ -0,0 +1,44 @@ +--- +title: eth_estimateUserOperationGas +sidebar_label: eth_estimateUserOperationGas +description: Simulate and estimate gas limits for a user operation before submission. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-description.mdx" + +# `eth_estimateUserOperationGas` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/arbitrum/_eth_estimateuseroperationgas-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-response.mdx" + + diff --git a/services/reference/arbitrum/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx b/services/reference/arbitrum/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx new file mode 100644 index 00000000000..627d91be6b6 --- /dev/null +++ b/services/reference/arbitrum/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx @@ -0,0 +1,44 @@ +--- +title: eth_getUserOperationByHash +sidebar_label: eth_getUserOperationByHash +description: Fetch user operation details by its hash. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-description.mdx" + +# `eth_getUserOperationByHash` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/arbitrum/_eth_getuseroperationbyhash-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-response.mdx" + + diff --git a/services/reference/arbitrum/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx b/services/reference/arbitrum/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx new file mode 100644 index 00000000000..ab1a5a8a157 --- /dev/null +++ b/services/reference/arbitrum/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx @@ -0,0 +1,44 @@ +--- +title: eth_getUserOperationReceipt +sidebar_label: eth_getUserOperationReceipt +description: Fetch the receipt of a user operation by its hash. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-description.mdx" + +# `eth_getUserOperationReceipt` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/arbitrum/_eth_getuseroperationreceipt-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-response.mdx" + + diff --git a/services/reference/arbitrum/json-rpc-methods/bundler/eth_senduseroperation.mdx b/services/reference/arbitrum/json-rpc-methods/bundler/eth_senduseroperation.mdx new file mode 100644 index 00000000000..e8e0821d973 --- /dev/null +++ b/services/reference/arbitrum/json-rpc-methods/bundler/eth_senduseroperation.mdx @@ -0,0 +1,44 @@ +--- +title: eth_sendUserOperation +sidebar_label: eth_sendUserOperation +description: Submit a user operation to the mempool for bundling and execution. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_senduseroperation-description.mdx" + +# `eth_sendUserOperation` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_senduseroperation-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_senduseroperation-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_senduseroperation-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/arbitrum/_eth_senduseroperation-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_senduseroperation-response.mdx" + + diff --git a/services/reference/arbitrum/json-rpc-methods/bundler/eth_supportedentrypoints.mdx b/services/reference/arbitrum/json-rpc-methods/bundler/eth_supportedentrypoints.mdx new file mode 100644 index 00000000000..c2cda03eab8 --- /dev/null +++ b/services/reference/arbitrum/json-rpc-methods/bundler/eth_supportedentrypoints.mdx @@ -0,0 +1,44 @@ +--- +title: eth_supportedEntryPoints +sidebar_label: eth_supportedEntryPoints +description: Get the list of EntryPoint addresses supported by the bundler. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_supportedentrypoints-description.mdx" + +# `eth_supportedEntryPoints` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_supportedentrypoints-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_supportedentrypoints-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_supportedentrypoints-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/arbitrum/_eth_supportedentrypoints-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_supportedentrypoints-response.mdx" + + diff --git a/services/reference/arbitrum/json-rpc-methods/bundler/index.md b/services/reference/arbitrum/json-rpc-methods/bundler/index.md new file mode 100644 index 00000000000..464c3e3292d --- /dev/null +++ b/services/reference/arbitrum/json-rpc-methods/bundler/index.md @@ -0,0 +1,28 @@ +--- +title: Arbitrum bundler methods +sidebar_label: Bundler methods +description: Arbitrum bundler methods +--- + +Infura integrates with the Pimlico account abstraction bundler infrastructure, enabling +developers to access [ERC-4337](https://docs.erc4337.io/) smart account features. + +The following [bundler methods](../../../../concepts/bundler.md) are supported on Arbitrum mainnet +and Sepolia: + +- [`eth_sendUserOperation`](./eth_senduseroperation): + Submits a user operation to be included onchain. +- [`eth_estimateUserOperationGas`](./eth_estimateuseroperationgas): + Simulates the user operation and estimates the appropriate gas limits. +- [`eth_getUserOperationReceipt`](./eth_getuseroperationreceipt): + Fetches the receipt of a user operation. +- [`eth_getUserOperationByHash`](./eth_getuseroperationbyhash): + Fetches the user operation by hash. +- [`eth_supportedEntryPoints`](./eth_supportedentrypoints): + Fetches the EntryPoint addresses supported by the bundler. +- [`pimlico_getUserOperationGasPrice`](./pimlico_getuseroperationgasprice): + Returns the gas prices that must be used for the user operation. +- [`pimlico_getUserOperationStatus`](./pimlico_getuseroperationstatus): + Returns the user operation status. +- [`pimlico_simulateAssetChanges`](./pimlico_simulateassetchanges): + Simulates a user operation to predict the asset changes it will cause. \ No newline at end of file diff --git a/services/reference/arbitrum/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx b/services/reference/arbitrum/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx new file mode 100644 index 00000000000..c2f49e30379 --- /dev/null +++ b/services/reference/arbitrum/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx @@ -0,0 +1,44 @@ +--- +title: pimlico_getUserOperationGasPrice +sidebar_label: pimlico_getUserOperationGasPrice +description: Get recommended gas prices for user operations on Pimlico bundlers. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-description.mdx" + +# `pimlico_getUserOperationGasPrice` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/arbitrum/_pimlico_getuseroperationgasprice-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-response.mdx" + + diff --git a/services/reference/arbitrum/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx b/services/reference/arbitrum/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx new file mode 100644 index 00000000000..9b784d3b4fa --- /dev/null +++ b/services/reference/arbitrum/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx @@ -0,0 +1,44 @@ +--- +title: pimlico_getUserOperationStatus +sidebar_label: pimlico_getUserOperationStatus +description: Get the current status of a user operation by its hash. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-description.mdx" + +# `pimlico_getUserOperationStatus` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/arbitrum/_pimlico_getuseroperationstatus-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-response.mdx" + + diff --git a/services/reference/arbitrum/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx b/services/reference/arbitrum/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx new file mode 100644 index 00000000000..f2eb572e8ad --- /dev/null +++ b/services/reference/arbitrum/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx @@ -0,0 +1,50 @@ +--- +title: pimlico_simulateAssetChanges +sidebar_label: pimlico_simulateAssetChanges +description: Simulate a user operation and return predicted asset changes. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-description.mdx" + +# `pimlico_simulateAssetChanges` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/arbitrum/_pimlico_simulateassetchanges-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-response.mdx" + + + +## Errors + +import Errors from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-errors.mdx" + + diff --git a/services/reference/avalanche-c-chain/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx b/services/reference/avalanche-c-chain/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx new file mode 100644 index 00000000000..9172b9b7782 --- /dev/null +++ b/services/reference/avalanche-c-chain/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx @@ -0,0 +1,44 @@ +--- +title: eth_estimateUserOperationGas +sidebar_label: eth_estimateUserOperationGas +description: Simulate and estimate gas limits for a user operation before submission. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-description.mdx" + +# `eth_estimateUserOperationGas` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/avalanche/_eth_estimateuseroperationgas-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-response.mdx" + + diff --git a/services/reference/avalanche-c-chain/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx b/services/reference/avalanche-c-chain/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx new file mode 100644 index 00000000000..b8060e5d039 --- /dev/null +++ b/services/reference/avalanche-c-chain/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx @@ -0,0 +1,44 @@ +--- +title: eth_getUserOperationByHash +sidebar_label: eth_getUserOperationByHash +description: Fetch user operation details by its hash. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-description.mdx" + +# `eth_getUserOperationByHash` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/avalanche/_eth_getuseroperationbyhash-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-response.mdx" + + diff --git a/services/reference/avalanche-c-chain/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx b/services/reference/avalanche-c-chain/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx new file mode 100644 index 00000000000..5a64d33884f --- /dev/null +++ b/services/reference/avalanche-c-chain/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx @@ -0,0 +1,44 @@ +--- +title: eth_getUserOperationReceipt +sidebar_label: eth_getUserOperationReceipt +description: Fetch the receipt of a user operation by its hash. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-description.mdx" + +# `eth_getUserOperationReceipt` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/avalanche/_eth_getuseroperationreceipt-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-response.mdx" + + diff --git a/services/reference/avalanche-c-chain/json-rpc-methods/bundler/eth_senduseroperation.mdx b/services/reference/avalanche-c-chain/json-rpc-methods/bundler/eth_senduseroperation.mdx new file mode 100644 index 00000000000..bd0fe337f11 --- /dev/null +++ b/services/reference/avalanche-c-chain/json-rpc-methods/bundler/eth_senduseroperation.mdx @@ -0,0 +1,44 @@ +--- +title: eth_sendUserOperation +sidebar_label: eth_sendUserOperation +description: Submit a user operation to the mempool for bundling and execution. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_senduseroperation-description.mdx" + +# `eth_sendUserOperation` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_senduseroperation-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_senduseroperation-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_senduseroperation-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/avalanche/_eth_senduseroperation-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_senduseroperation-response.mdx" + + diff --git a/services/reference/avalanche-c-chain/json-rpc-methods/bundler/eth_supportedentrypoints.mdx b/services/reference/avalanche-c-chain/json-rpc-methods/bundler/eth_supportedentrypoints.mdx new file mode 100644 index 00000000000..f20e82344a4 --- /dev/null +++ b/services/reference/avalanche-c-chain/json-rpc-methods/bundler/eth_supportedentrypoints.mdx @@ -0,0 +1,44 @@ +--- +title: eth_supportedEntryPoints +sidebar_label: eth_supportedEntryPoints +description: Get the list of EntryPoint addresses supported by the bundler. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_supportedentrypoints-description.mdx" + +# `eth_supportedEntryPoints` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_supportedentrypoints-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_supportedentrypoints-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_supportedentrypoints-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/avalanche/_eth_supportedentrypoints-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_supportedentrypoints-response.mdx" + + diff --git a/services/reference/avalanche-c-chain/json-rpc-methods/bundler/index.md b/services/reference/avalanche-c-chain/json-rpc-methods/bundler/index.md new file mode 100644 index 00000000000..8d43957f7cb --- /dev/null +++ b/services/reference/avalanche-c-chain/json-rpc-methods/bundler/index.md @@ -0,0 +1,28 @@ +--- +title: Avalanche bundler methods +sidebar_label: Bundler methods +description: Avalanche bundler methods +--- + +Infura integrates with the Pimlico account abstraction bundler infrastructure, enabling +developers to access [ERC-4337](https://docs.erc4337.io/) smart account features. + +The following [bundler methods](../../../../concepts/bundler.md) are supported on Avalanche mainnet +and Fuji: + +- [`eth_sendUserOperation`](./eth_senduseroperation): + Submits a user operation to be included onchain. +- [`eth_estimateUserOperationGas`](./eth_estimateuseroperationgas): + Simulates the user operation and estimates the appropriate gas limits. +- [`eth_getUserOperationReceipt`](./eth_getuseroperationreceipt): + Fetches the receipt of a user operation. +- [`eth_getUserOperationByHash`](./eth_getuseroperationbyhash): + Fetches the user operation by hash. +- [`eth_supportedEntryPoints`](./eth_supportedentrypoints): + Fetches the EntryPoint addresses supported by the bundler. +- [`pimlico_getUserOperationGasPrice`](./pimlico_getuseroperationgasprice): + Returns the gas prices that must be used for the user operation. +- [`pimlico_getUserOperationStatus`](./pimlico_getuseroperationstatus): + Returns the user operation status. +- [`pimlico_simulateAssetChanges`](./pimlico_simulateassetchanges): + Simulates a user operation to predict the asset changes it will cause. \ No newline at end of file diff --git a/services/reference/avalanche-c-chain/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx b/services/reference/avalanche-c-chain/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx new file mode 100644 index 00000000000..a87dbd6b94d --- /dev/null +++ b/services/reference/avalanche-c-chain/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx @@ -0,0 +1,44 @@ +--- +title: pimlico_getUserOperationGasPrice +sidebar_label: pimlico_getUserOperationGasPrice +description: Get recommended gas prices for user operations on Pimlico bundlers. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-description.mdx" + +# `pimlico_getUserOperationGasPrice` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/avalanche/_pimlico_getuseroperationgasprice-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-response.mdx" + + diff --git a/services/reference/avalanche-c-chain/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx b/services/reference/avalanche-c-chain/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx new file mode 100644 index 00000000000..110859f63e8 --- /dev/null +++ b/services/reference/avalanche-c-chain/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx @@ -0,0 +1,44 @@ +--- +title: pimlico_getUserOperationStatus +sidebar_label: pimlico_getUserOperationStatus +description: Get the current status of a user operation by its hash. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-description.mdx" + +# `pimlico_getUserOperationStatus` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/avalanche/_pimlico_getuseroperationstatus-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-response.mdx" + + diff --git a/services/reference/avalanche-c-chain/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx b/services/reference/avalanche-c-chain/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx new file mode 100644 index 00000000000..88014215ad9 --- /dev/null +++ b/services/reference/avalanche-c-chain/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx @@ -0,0 +1,50 @@ +--- +title: pimlico_simulateAssetChanges +sidebar_label: pimlico_simulateAssetChanges +description: Simulate a user operation and return predicted asset changes. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-description.mdx" + +# `pimlico_simulateAssetChanges` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/avalanche/_pimlico_simulateassetchanges-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-response.mdx" + + + +## Errors + +import Errors from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-errors.mdx" + + diff --git a/services/reference/base/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx b/services/reference/base/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx new file mode 100644 index 00000000000..deff2b8273d --- /dev/null +++ b/services/reference/base/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx @@ -0,0 +1,44 @@ +--- +title: eth_estimateUserOperationGas +sidebar_label: eth_estimateUserOperationGas +description: Simulate and estimate gas limits for a user operation before submission. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-description.mdx" + +# `eth_estimateUserOperationGas` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/base/_eth_estimateuseroperationgas-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-response.mdx" + + diff --git a/services/reference/base/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx b/services/reference/base/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx new file mode 100644 index 00000000000..1b9b451b844 --- /dev/null +++ b/services/reference/base/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx @@ -0,0 +1,44 @@ +--- +title: eth_getUserOperationByHash +sidebar_label: eth_getUserOperationByHash +description: Fetch user operation details by its hash. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-description.mdx" + +# `eth_getUserOperationByHash` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/base/_eth_getuseroperationbyhash-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-response.mdx" + + diff --git a/services/reference/base/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx b/services/reference/base/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx new file mode 100644 index 00000000000..d4efbc0cd3e --- /dev/null +++ b/services/reference/base/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx @@ -0,0 +1,44 @@ +--- +title: eth_getUserOperationReceipt +sidebar_label: eth_getUserOperationReceipt +description: Fetch the receipt of a user operation by its hash. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-description.mdx" + +# `eth_getUserOperationReceipt` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/base/_eth_getuseroperationreceipt-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-response.mdx" + + diff --git a/services/reference/base/json-rpc-methods/bundler/eth_senduseroperation.mdx b/services/reference/base/json-rpc-methods/bundler/eth_senduseroperation.mdx new file mode 100644 index 00000000000..fd4b890d5e0 --- /dev/null +++ b/services/reference/base/json-rpc-methods/bundler/eth_senduseroperation.mdx @@ -0,0 +1,44 @@ +--- +title: eth_sendUserOperation +sidebar_label: eth_sendUserOperation +description: Submit a user operation to the mempool for bundling and execution. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_senduseroperation-description.mdx" + +# `eth_sendUserOperation` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_senduseroperation-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_senduseroperation-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_senduseroperation-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/base/_eth_senduseroperation-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_senduseroperation-response.mdx" + + diff --git a/services/reference/base/json-rpc-methods/bundler/eth_supportedentrypoints.mdx b/services/reference/base/json-rpc-methods/bundler/eth_supportedentrypoints.mdx new file mode 100644 index 00000000000..0bb453ff79d --- /dev/null +++ b/services/reference/base/json-rpc-methods/bundler/eth_supportedentrypoints.mdx @@ -0,0 +1,44 @@ +--- +title: eth_supportedEntryPoints +sidebar_label: eth_supportedEntryPoints +description: Get the list of EntryPoint addresses supported by the bundler. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_supportedentrypoints-description.mdx" + +# `eth_supportedEntryPoints` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_supportedentrypoints-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_supportedentrypoints-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_supportedentrypoints-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/base/_eth_supportedentrypoints-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_supportedentrypoints-response.mdx" + + diff --git a/services/reference/base/json-rpc-methods/bundler/index.md b/services/reference/base/json-rpc-methods/bundler/index.md new file mode 100644 index 00000000000..8a707384763 --- /dev/null +++ b/services/reference/base/json-rpc-methods/bundler/index.md @@ -0,0 +1,28 @@ +--- +title: Base bundler methods +sidebar_label: Bundler methods +description: Base bundler methods +--- + +Infura integrates with the Pimlico account abstraction bundler infrastructure, enabling +developers to access [ERC-4337](https://docs.erc4337.io/) smart account features. + +The following [bundler methods](../../../../concepts/bundler.md) are supported on Base mainnet +and Sepolia: + +- [`eth_sendUserOperation`](./eth_senduseroperation): + Submits a user operation to be included onchain. +- [`eth_estimateUserOperationGas`](./eth_estimateuseroperationgas): + Simulates the user operation and estimates the appropriate gas limits. +- [`eth_getUserOperationReceipt`](./eth_getuseroperationreceipt): + Fetches the receipt of a user operation. +- [`eth_getUserOperationByHash`](./eth_getuseroperationbyhash): + Fetches the user operation by hash. +- [`eth_supportedEntryPoints`](./eth_supportedentrypoints): + Fetches the EntryPoint addresses supported by the bundler. +- [`pimlico_getUserOperationGasPrice`](./pimlico_getuseroperationgasprice): + Returns the gas prices that must be used for the user operation. +- [`pimlico_getUserOperationStatus`](./pimlico_getuseroperationstatus): + Returns the user operation status. +- [`pimlico_simulateAssetChanges`](./pimlico_simulateassetchanges): + Simulates a user operation to predict the asset changes it will cause. \ No newline at end of file diff --git a/services/reference/base/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx b/services/reference/base/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx new file mode 100644 index 00000000000..3b40c1ee95f --- /dev/null +++ b/services/reference/base/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx @@ -0,0 +1,44 @@ +--- +title: pimlico_getUserOperationGasPrice +sidebar_label: pimlico_getUserOperationGasPrice +description: Get recommended gas prices for user operations on Pimlico bundlers. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-description.mdx" + +# `pimlico_getUserOperationGasPrice` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/base/_pimlico_getuseroperationgasprice-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-response.mdx" + + diff --git a/services/reference/base/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx b/services/reference/base/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx new file mode 100644 index 00000000000..ac3f4c80700 --- /dev/null +++ b/services/reference/base/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx @@ -0,0 +1,44 @@ +--- +title: pimlico_getUserOperationStatus +sidebar_label: pimlico_getUserOperationStatus +description: Get the current status of a user operation by its hash. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-description.mdx" + +# `pimlico_getUserOperationStatus` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/base/_pimlico_getuseroperationstatus-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-response.mdx" + + diff --git a/services/reference/base/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx b/services/reference/base/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx new file mode 100644 index 00000000000..74b9f09a0a1 --- /dev/null +++ b/services/reference/base/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx @@ -0,0 +1,50 @@ +--- +title: pimlico_simulateAssetChanges +sidebar_label: pimlico_simulateAssetChanges +description: Simulate a user operation and return predicted asset changes. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-description.mdx" + +# `pimlico_simulateAssetChanges` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/base/_pimlico_simulateassetchanges-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-response.mdx" + + + +## Errors + +import Errors from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-errors.mdx" + + diff --git a/services/reference/blast/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx b/services/reference/blast/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx new file mode 100644 index 00000000000..523607c3dc8 --- /dev/null +++ b/services/reference/blast/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx @@ -0,0 +1,44 @@ +--- +title: eth_estimateUserOperationGas +sidebar_label: eth_estimateUserOperationGas +description: Simulate and estimate gas limits for a user operation before submission. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-description.mdx" + +# `eth_estimateUserOperationGas` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/blast/_eth_estimateuseroperationgas-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-response.mdx" + + diff --git a/services/reference/blast/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx b/services/reference/blast/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx new file mode 100644 index 00000000000..f1a1981d882 --- /dev/null +++ b/services/reference/blast/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx @@ -0,0 +1,44 @@ +--- +title: eth_getUserOperationByHash +sidebar_label: eth_getUserOperationByHash +description: Fetch user operation details by its hash. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-description.mdx" + +# `eth_getUserOperationByHash` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/blast/_eth_getuseroperationbyhash-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-response.mdx" + + diff --git a/services/reference/blast/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx b/services/reference/blast/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx new file mode 100644 index 00000000000..4397737d5e1 --- /dev/null +++ b/services/reference/blast/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx @@ -0,0 +1,44 @@ +--- +title: eth_getUserOperationReceipt +sidebar_label: eth_getUserOperationReceipt +description: Fetch the receipt of a user operation by its hash. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-description.mdx" + +# `eth_getUserOperationReceipt` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/blast/_eth_getuseroperationreceipt-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-response.mdx" + + diff --git a/services/reference/blast/json-rpc-methods/bundler/eth_senduseroperation.mdx b/services/reference/blast/json-rpc-methods/bundler/eth_senduseroperation.mdx new file mode 100644 index 00000000000..5a2ce98eaaa --- /dev/null +++ b/services/reference/blast/json-rpc-methods/bundler/eth_senduseroperation.mdx @@ -0,0 +1,44 @@ +--- +title: eth_sendUserOperation +sidebar_label: eth_sendUserOperation +description: Submit a user operation to the mempool for bundling and execution. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_senduseroperation-description.mdx" + +# `eth_sendUserOperation` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_senduseroperation-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_senduseroperation-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_senduseroperation-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/blast/_eth_senduseroperation-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_senduseroperation-response.mdx" + + diff --git a/services/reference/blast/json-rpc-methods/bundler/eth_supportedentrypoints.mdx b/services/reference/blast/json-rpc-methods/bundler/eth_supportedentrypoints.mdx new file mode 100644 index 00000000000..d193ff47d09 --- /dev/null +++ b/services/reference/blast/json-rpc-methods/bundler/eth_supportedentrypoints.mdx @@ -0,0 +1,44 @@ +--- +title: eth_supportedEntryPoints +sidebar_label: eth_supportedEntryPoints +description: Get the list of EntryPoint addresses supported by the bundler. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_supportedentrypoints-description.mdx" + +# `eth_supportedEntryPoints` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_supportedentrypoints-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_supportedentrypoints-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_supportedentrypoints-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/blast/_eth_supportedentrypoints-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_supportedentrypoints-response.mdx" + + diff --git a/services/reference/blast/json-rpc-methods/bundler/index.md b/services/reference/blast/json-rpc-methods/bundler/index.md new file mode 100644 index 00000000000..5d879cf141d --- /dev/null +++ b/services/reference/blast/json-rpc-methods/bundler/index.md @@ -0,0 +1,28 @@ +--- +title: Blast bundler methods +sidebar_label: Bundler methods +description: Blast bundler methods +--- + +Infura integrates with the Pimlico account abstraction bundler infrastructure, enabling +developers to access [ERC-4337](https://docs.erc4337.io/) smart account features. + +The following [bundler methods](../../../../concepts/bundler.md) are supported on Blast mainnet +and Sepolia: + +- [`eth_sendUserOperation`](./eth_senduseroperation): + Submits a user operation to be included onchain. +- [`eth_estimateUserOperationGas`](./eth_estimateuseroperationgas): + Simulates the user operation and estimates the appropriate gas limits. +- [`eth_getUserOperationReceipt`](./eth_getuseroperationreceipt): + Fetches the receipt of a user operation. +- [`eth_getUserOperationByHash`](./eth_getuseroperationbyhash): + Fetches the user operation by hash. +- [`eth_supportedEntryPoints`](./eth_supportedentrypoints): + Fetches the EntryPoint addresses supported by the bundler. +- [`pimlico_getUserOperationGasPrice`](./pimlico_getuseroperationgasprice): + Returns the gas prices that must be used for the user operation. +- [`pimlico_getUserOperationStatus`](./pimlico_getuseroperationstatus): + Returns the user operation status. +- [`pimlico_simulateAssetChanges`](./pimlico_simulateassetchanges): + Simulates a user operation to predict the asset changes it will cause. \ No newline at end of file diff --git a/services/reference/blast/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx b/services/reference/blast/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx new file mode 100644 index 00000000000..df418357924 --- /dev/null +++ b/services/reference/blast/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx @@ -0,0 +1,44 @@ +--- +title: pimlico_getUserOperationGasPrice +sidebar_label: pimlico_getUserOperationGasPrice +description: Get recommended gas prices for user operations on Pimlico bundlers. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-description.mdx" + +# `pimlico_getUserOperationGasPrice` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/blast/_pimlico_getuseroperationgasprice-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-response.mdx" + + diff --git a/services/reference/blast/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx b/services/reference/blast/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx new file mode 100644 index 00000000000..b25a31613cf --- /dev/null +++ b/services/reference/blast/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx @@ -0,0 +1,44 @@ +--- +title: pimlico_getUserOperationStatus +sidebar_label: pimlico_getUserOperationStatus +description: Get the current status of a user operation by its hash. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-description.mdx" + +# `pimlico_getUserOperationStatus` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/blast/_pimlico_getuseroperationstatus-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-response.mdx" + + diff --git a/services/reference/blast/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx b/services/reference/blast/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx new file mode 100644 index 00000000000..575e2d0d30a --- /dev/null +++ b/services/reference/blast/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx @@ -0,0 +1,50 @@ +--- +title: pimlico_simulateAssetChanges +sidebar_label: pimlico_simulateAssetChanges +description: Simulate a user operation and return predicted asset changes. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-description.mdx" + +# `pimlico_simulateAssetChanges` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/blast/_pimlico_simulateassetchanges-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-response.mdx" + + + +## Errors + +import Errors from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-errors.mdx" + + diff --git a/services/reference/bnb-smart-chain/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx b/services/reference/bnb-smart-chain/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx new file mode 100644 index 00000000000..eb602222cd9 --- /dev/null +++ b/services/reference/bnb-smart-chain/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx @@ -0,0 +1,44 @@ +--- +title: eth_estimateUserOperationGas +sidebar_label: eth_estimateUserOperationGas +description: Simulate and estimate gas limits for a user operation before submission. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-description.mdx" + +# `eth_estimateUserOperationGas` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/bnb-smart-chain/_eth_estimateuseroperationgas-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-response.mdx" + + diff --git a/services/reference/bnb-smart-chain/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx b/services/reference/bnb-smart-chain/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx new file mode 100644 index 00000000000..2bf083d9f37 --- /dev/null +++ b/services/reference/bnb-smart-chain/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx @@ -0,0 +1,44 @@ +--- +title: eth_getUserOperationByHash +sidebar_label: eth_getUserOperationByHash +description: Fetch user operation details by its hash. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-description.mdx" + +# `eth_getUserOperationByHash` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/bnb-smart-chain/_eth_getuseroperationbyhash-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-response.mdx" + + diff --git a/services/reference/bnb-smart-chain/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx b/services/reference/bnb-smart-chain/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx new file mode 100644 index 00000000000..55b7bf29679 --- /dev/null +++ b/services/reference/bnb-smart-chain/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx @@ -0,0 +1,44 @@ +--- +title: eth_getUserOperationReceipt +sidebar_label: eth_getUserOperationReceipt +description: Fetch the receipt of a user operation by its hash. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-description.mdx" + +# `eth_getUserOperationReceipt` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/bnb-smart-chain/_eth_getuseroperationreceipt-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-response.mdx" + + diff --git a/services/reference/bnb-smart-chain/json-rpc-methods/bundler/eth_senduseroperation.mdx b/services/reference/bnb-smart-chain/json-rpc-methods/bundler/eth_senduseroperation.mdx new file mode 100644 index 00000000000..b195b40e34e --- /dev/null +++ b/services/reference/bnb-smart-chain/json-rpc-methods/bundler/eth_senduseroperation.mdx @@ -0,0 +1,44 @@ +--- +title: eth_sendUserOperation +sidebar_label: eth_sendUserOperation +description: Submit a user operation to the mempool for bundling and execution. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_senduseroperation-description.mdx" + +# `eth_sendUserOperation` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_senduseroperation-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_senduseroperation-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_senduseroperation-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/bnb-smart-chain/_eth_senduseroperation-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_senduseroperation-response.mdx" + + diff --git a/services/reference/bnb-smart-chain/json-rpc-methods/bundler/eth_supportedentrypoints.mdx b/services/reference/bnb-smart-chain/json-rpc-methods/bundler/eth_supportedentrypoints.mdx new file mode 100644 index 00000000000..5621a2804e7 --- /dev/null +++ b/services/reference/bnb-smart-chain/json-rpc-methods/bundler/eth_supportedentrypoints.mdx @@ -0,0 +1,44 @@ +--- +title: eth_supportedEntryPoints +sidebar_label: eth_supportedEntryPoints +description: Get the list of EntryPoint addresses supported by the bundler. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_supportedentrypoints-description.mdx" + +# `eth_supportedEntryPoints` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_supportedentrypoints-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_supportedentrypoints-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_supportedentrypoints-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/bnb-smart-chain/_eth_supportedentrypoints-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_supportedentrypoints-response.mdx" + + diff --git a/services/reference/bnb-smart-chain/json-rpc-methods/bundler/index.md b/services/reference/bnb-smart-chain/json-rpc-methods/bundler/index.md new file mode 100644 index 00000000000..038a99004bf --- /dev/null +++ b/services/reference/bnb-smart-chain/json-rpc-methods/bundler/index.md @@ -0,0 +1,28 @@ +--- +title: BNB Smart Chain bundler methods +sidebar_label: Bundler methods +description: BNB Smart Chain bundler methods +--- + +Infura integrates with the Pimlico account abstraction bundler infrastructure, enabling +developers to access [ERC-4337](https://docs.erc4337.io/) smart account features. + +The following [bundler methods](../../../../concepts/bundler.md) are supported on BNB Smart Chain mainnet +and testnet: + +- [`eth_sendUserOperation`](./eth_senduseroperation): + Submits a user operation to be included onchain. +- [`eth_estimateUserOperationGas`](./eth_estimateuseroperationgas): + Simulates the user operation and estimates the appropriate gas limits. +- [`eth_getUserOperationReceipt`](./eth_getuseroperationreceipt): + Fetches the receipt of a user operation. +- [`eth_getUserOperationByHash`](./eth_getuseroperationbyhash): + Fetches the user operation by hash. +- [`eth_supportedEntryPoints`](./eth_supportedentrypoints): + Fetches the EntryPoint addresses supported by the bundler. +- [`pimlico_getUserOperationGasPrice`](./pimlico_getuseroperationgasprice): + Returns the gas prices that must be used for the user operation. +- [`pimlico_getUserOperationStatus`](./pimlico_getuseroperationstatus): + Returns the user operation status. +- [`pimlico_simulateAssetChanges`](./pimlico_simulateassetchanges): + Simulates a user operation to predict the asset changes it will cause. \ No newline at end of file diff --git a/services/reference/bnb-smart-chain/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx b/services/reference/bnb-smart-chain/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx new file mode 100644 index 00000000000..18605535f64 --- /dev/null +++ b/services/reference/bnb-smart-chain/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx @@ -0,0 +1,44 @@ +--- +title: pimlico_getUserOperationGasPrice +sidebar_label: pimlico_getUserOperationGasPrice +description: Get recommended gas prices for user operations on Pimlico bundlers. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-description.mdx" + +# `pimlico_getUserOperationGasPrice` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/bnb-smart-chain/_pimlico_getuseroperationgasprice-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-response.mdx" + + diff --git a/services/reference/bnb-smart-chain/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx b/services/reference/bnb-smart-chain/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx new file mode 100644 index 00000000000..f14d6554b6e --- /dev/null +++ b/services/reference/bnb-smart-chain/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx @@ -0,0 +1,44 @@ +--- +title: pimlico_getUserOperationStatus +sidebar_label: pimlico_getUserOperationStatus +description: Get the current status of a user operation by its hash. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-description.mdx" + +# `pimlico_getUserOperationStatus` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/bnb-smart-chain/_pimlico_getuseroperationstatus-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-response.mdx" + + diff --git a/services/reference/bnb-smart-chain/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx b/services/reference/bnb-smart-chain/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx new file mode 100644 index 00000000000..3534711a3d5 --- /dev/null +++ b/services/reference/bnb-smart-chain/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx @@ -0,0 +1,50 @@ +--- +title: pimlico_simulateAssetChanges +sidebar_label: pimlico_simulateAssetChanges +description: Simulate a user operation and return predicted asset changes. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-description.mdx" + +# `pimlico_simulateAssetChanges` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/bnb-smart-chain/_pimlico_simulateassetchanges-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-response.mdx" + + + +## Errors + +import Errors from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-errors.mdx" + + diff --git a/services/reference/celo/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx b/services/reference/celo/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx new file mode 100644 index 00000000000..0f35efc9ab3 --- /dev/null +++ b/services/reference/celo/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx @@ -0,0 +1,44 @@ +--- +title: eth_estimateUserOperationGas +sidebar_label: eth_estimateUserOperationGas +description: Simulate and estimate gas limits for a user operation before submission. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-description.mdx" + +# `eth_estimateUserOperationGas` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/celo/_eth_estimateuseroperationgas-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-response.mdx" + + diff --git a/services/reference/celo/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx b/services/reference/celo/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx new file mode 100644 index 00000000000..eaa75b9d5ff --- /dev/null +++ b/services/reference/celo/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx @@ -0,0 +1,44 @@ +--- +title: eth_getUserOperationByHash +sidebar_label: eth_getUserOperationByHash +description: Fetch user operation details by its hash. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-description.mdx" + +# `eth_getUserOperationByHash` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/celo/_eth_getuseroperationbyhash-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-response.mdx" + + diff --git a/services/reference/celo/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx b/services/reference/celo/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx new file mode 100644 index 00000000000..ee7a871b0bd --- /dev/null +++ b/services/reference/celo/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx @@ -0,0 +1,44 @@ +--- +title: eth_getUserOperationReceipt +sidebar_label: eth_getUserOperationReceipt +description: Fetch the receipt of a user operation by its hash. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-description.mdx" + +# `eth_getUserOperationReceipt` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/celo/_eth_getuseroperationreceipt-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-response.mdx" + + diff --git a/services/reference/celo/json-rpc-methods/bundler/eth_senduseroperation.mdx b/services/reference/celo/json-rpc-methods/bundler/eth_senduseroperation.mdx new file mode 100644 index 00000000000..d1aeb140926 --- /dev/null +++ b/services/reference/celo/json-rpc-methods/bundler/eth_senduseroperation.mdx @@ -0,0 +1,44 @@ +--- +title: eth_sendUserOperation +sidebar_label: eth_sendUserOperation +description: Submit a user operation to the mempool for bundling and execution. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_senduseroperation-description.mdx" + +# `eth_sendUserOperation` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_senduseroperation-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_senduseroperation-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_senduseroperation-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/celo/_eth_senduseroperation-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_senduseroperation-response.mdx" + + diff --git a/services/reference/celo/json-rpc-methods/bundler/eth_supportedentrypoints.mdx b/services/reference/celo/json-rpc-methods/bundler/eth_supportedentrypoints.mdx new file mode 100644 index 00000000000..46a94db5353 --- /dev/null +++ b/services/reference/celo/json-rpc-methods/bundler/eth_supportedentrypoints.mdx @@ -0,0 +1,44 @@ +--- +title: eth_supportedEntryPoints +sidebar_label: eth_supportedEntryPoints +description: Get the list of EntryPoint addresses supported by the bundler. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_supportedentrypoints-description.mdx" + +# `eth_supportedEntryPoints` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_supportedentrypoints-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_supportedentrypoints-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_supportedentrypoints-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/celo/_eth_supportedentrypoints-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_supportedentrypoints-response.mdx" + + diff --git a/services/reference/celo/json-rpc-methods/bundler/index.md b/services/reference/celo/json-rpc-methods/bundler/index.md new file mode 100644 index 00000000000..14c8181f99e --- /dev/null +++ b/services/reference/celo/json-rpc-methods/bundler/index.md @@ -0,0 +1,28 @@ +--- +title: Celo bundler methods +sidebar_label: Bundler methods +description: Celo bundler methods +--- + +Infura integrates with the Pimlico account abstraction bundler infrastructure, enabling +developers to access [ERC-4337](https://docs.erc4337.io/) smart account features. + +The following [bundler methods](../../../../concepts/bundler.md) are supported on Celo mainnet +and Alfajores: + +- [`eth_sendUserOperation`](./eth_senduseroperation): + Submits a user operation to be included onchain. +- [`eth_estimateUserOperationGas`](./eth_estimateuseroperationgas): + Simulates the user operation and estimates the appropriate gas limits. +- [`eth_getUserOperationReceipt`](./eth_getuseroperationreceipt): + Fetches the receipt of a user operation. +- [`eth_getUserOperationByHash`](./eth_getuseroperationbyhash): + Fetches the user operation by hash. +- [`eth_supportedEntryPoints`](./eth_supportedentrypoints): + Fetches the EntryPoint addresses supported by the bundler. +- [`pimlico_getUserOperationGasPrice`](./pimlico_getuseroperationgasprice): + Returns the gas prices that must be used for the user operation. +- [`pimlico_getUserOperationStatus`](./pimlico_getuseroperationstatus): + Returns the user operation status. +- [`pimlico_simulateAssetChanges`](./pimlico_simulateassetchanges): + Simulates a user operation to predict the asset changes it will cause. \ No newline at end of file diff --git a/services/reference/celo/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx b/services/reference/celo/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx new file mode 100644 index 00000000000..17b00bdeb5f --- /dev/null +++ b/services/reference/celo/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx @@ -0,0 +1,44 @@ +--- +title: pimlico_getUserOperationGasPrice +sidebar_label: pimlico_getUserOperationGasPrice +description: Get recommended gas prices for user operations on Pimlico bundlers. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-description.mdx" + +# `pimlico_getUserOperationGasPrice` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/celo/_pimlico_getuseroperationgasprice-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-response.mdx" + + diff --git a/services/reference/celo/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx b/services/reference/celo/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx new file mode 100644 index 00000000000..6355f919155 --- /dev/null +++ b/services/reference/celo/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx @@ -0,0 +1,44 @@ +--- +title: pimlico_getUserOperationStatus +sidebar_label: pimlico_getUserOperationStatus +description: Get the current status of a user operation by its hash. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-description.mdx" + +# `pimlico_getUserOperationStatus` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/celo/_pimlico_getuseroperationstatus-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-response.mdx" + + diff --git a/services/reference/celo/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx b/services/reference/celo/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx new file mode 100644 index 00000000000..d02755a2de9 --- /dev/null +++ b/services/reference/celo/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx @@ -0,0 +1,50 @@ +--- +title: pimlico_simulateAssetChanges +sidebar_label: pimlico_simulateAssetChanges +description: Simulate a user operation and return predicted asset changes. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-description.mdx" + +# `pimlico_simulateAssetChanges` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/celo/_pimlico_simulateassetchanges-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-response.mdx" + + + +## Errors + +import Errors from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-errors.mdx" + + diff --git a/services/reference/ethereum/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx b/services/reference/ethereum/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx new file mode 100644 index 00000000000..0af2180c553 --- /dev/null +++ b/services/reference/ethereum/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx @@ -0,0 +1,44 @@ +--- +title: eth_estimateUserOperationGas +sidebar_label: eth_estimateUserOperationGas +description: Simulate and estimate gas limits for a user operation before submission. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-description.mdx" + +# `eth_estimateUserOperationGas` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-response.mdx" + + diff --git a/services/reference/ethereum/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx b/services/reference/ethereum/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx new file mode 100644 index 00000000000..adce4cbe6e3 --- /dev/null +++ b/services/reference/ethereum/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx @@ -0,0 +1,44 @@ +--- +title: eth_getUserOperationByHash +sidebar_label: eth_getUserOperationByHash +description: Fetch user operation details by its hash. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-description.mdx" + +# `eth_getUserOperationByHash` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-response.mdx" + + diff --git a/services/reference/ethereum/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx b/services/reference/ethereum/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx new file mode 100644 index 00000000000..a9426e1d552 --- /dev/null +++ b/services/reference/ethereum/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx @@ -0,0 +1,44 @@ +--- +title: eth_getUserOperationReceipt +sidebar_label: eth_getUserOperationReceipt +description: Fetch the receipt of a user operation by its hash. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-description.mdx" + +# `eth_getUserOperationReceipt` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-response.mdx" + + diff --git a/services/reference/ethereum/json-rpc-methods/bundler/eth_senduseroperation.mdx b/services/reference/ethereum/json-rpc-methods/bundler/eth_senduseroperation.mdx new file mode 100644 index 00000000000..7b2c4cdb4c1 --- /dev/null +++ b/services/reference/ethereum/json-rpc-methods/bundler/eth_senduseroperation.mdx @@ -0,0 +1,44 @@ +--- +title: eth_sendUserOperation +sidebar_label: eth_sendUserOperation +description: Submit a user operation to the mempool for bundling and execution. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_senduseroperation-description.mdx" + +# `eth_sendUserOperation` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_senduseroperation-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_senduseroperation-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_senduseroperation-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/_eth_senduseroperation-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_senduseroperation-response.mdx" + + diff --git a/services/reference/ethereum/json-rpc-methods/bundler/eth_supportedentrypoints.mdx b/services/reference/ethereum/json-rpc-methods/bundler/eth_supportedentrypoints.mdx new file mode 100644 index 00000000000..fc88a6fc9e3 --- /dev/null +++ b/services/reference/ethereum/json-rpc-methods/bundler/eth_supportedentrypoints.mdx @@ -0,0 +1,44 @@ +--- +title: eth_supportedEntryPoints +sidebar_label: eth_supportedEntryPoints +description: Get the list of EntryPoint addresses supported by the bundler. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_supportedentrypoints-description.mdx" + +# `eth_supportedEntryPoints` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_supportedentrypoints-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_supportedentrypoints-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_supportedentrypoints-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/_eth_supportedentrypoints-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_supportedentrypoints-response.mdx" + + diff --git a/services/reference/ethereum/json-rpc-methods/bundler/index.md b/services/reference/ethereum/json-rpc-methods/bundler/index.md new file mode 100644 index 00000000000..46af6fb2bcb --- /dev/null +++ b/services/reference/ethereum/json-rpc-methods/bundler/index.md @@ -0,0 +1,28 @@ +--- +title: Ethereum bundler methods +sidebar_label: Bundler methods +description: Ethereum bundler methods +--- + +Infura integrates with the Pimlico account abstraction bundler infrastructure, enabling +developers to access [ERC-4337](https://docs.erc4337.io/) smart account features. + +The following [bundler methods](../../../../concepts/bundler.md) are supported on Ethereum Mainnet +and Sepolia: + +- [`eth_sendUserOperation`](./eth_senduseroperation): + Submits a user operation to be included onchain. +- [`eth_estimateUserOperationGas`](./eth_estimateuseroperationgas): + Simulates the user operation and estimates the appropriate gas limits. +- [`eth_getUserOperationReceipt`](./eth_getuseroperationreceipt): + Fetches the receipt of a user operation. +- [`eth_getUserOperationByHash`](./eth_getuseroperationbyhash): + Fetches the user operation by hash. +- [`eth_supportedEntryPoints`](./eth_supportedentrypoints): + Fetches the EntryPoint addresses supported by the bundler. +- [`pimlico_getUserOperationGasPrice`](./pimlico_getuseroperationgasprice): + Returns the gas prices that must be used for the user operation. +- [`pimlico_getUserOperationStatus`](./pimlico_getuseroperationstatus): + Returns the user operation status. +- [`pimlico_simulateAssetChanges`](./pimlico_simulateassetchanges): + Simulates a user operation to predict the asset changes it will cause. \ No newline at end of file diff --git a/services/reference/ethereum/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx b/services/reference/ethereum/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx new file mode 100644 index 00000000000..70897d7e524 --- /dev/null +++ b/services/reference/ethereum/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx @@ -0,0 +1,44 @@ +--- +title: pimlico_getUserOperationGasPrice +sidebar_label: pimlico_getUserOperationGasPrice +description: Get recommended gas prices for user operations on Pimlico bundlers. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-description.mdx" + +# `pimlico_getUserOperationGasPrice` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-response.mdx" + + diff --git a/services/reference/ethereum/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx b/services/reference/ethereum/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx new file mode 100644 index 00000000000..24c4e50da7e --- /dev/null +++ b/services/reference/ethereum/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx @@ -0,0 +1,44 @@ +--- +title: pimlico_getUserOperationStatus +sidebar_label: pimlico_getUserOperationStatus +description: Get the current status of a user operation by its hash. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-description.mdx" + +# `pimlico_getUserOperationStatus` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-response.mdx" + + diff --git a/services/reference/ethereum/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx b/services/reference/ethereum/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx new file mode 100644 index 00000000000..019d0050b4c --- /dev/null +++ b/services/reference/ethereum/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx @@ -0,0 +1,50 @@ +--- +title: pimlico_simulateAssetChanges +sidebar_label: pimlico_simulateAssetChanges +description: Simulate a user operation and return predicted asset changes. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-description.mdx" + +# `pimlico_simulateAssetChanges` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-response.mdx" + + + +## Errors + +import Errors from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-errors.mdx" + + diff --git a/services/reference/linea/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx b/services/reference/linea/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx new file mode 100644 index 00000000000..eb0cb234ec4 --- /dev/null +++ b/services/reference/linea/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx @@ -0,0 +1,44 @@ +--- +title: eth_estimateUserOperationGas +sidebar_label: eth_estimateUserOperationGas +description: Simulate and estimate gas limits for a user operation before submission. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-description.mdx" + +# `eth_estimateUserOperationGas` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/linea/_eth_estimateuseroperationgas-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-response.mdx" + + diff --git a/services/reference/linea/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx b/services/reference/linea/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx new file mode 100644 index 00000000000..ff3931ab2b9 --- /dev/null +++ b/services/reference/linea/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx @@ -0,0 +1,44 @@ +--- +title: eth_getUserOperationByHash +sidebar_label: eth_getUserOperationByHash +description: Fetch user operation details by its hash. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-description.mdx" + +# `eth_getUserOperationByHash` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/linea/_eth_getuseroperationbyhash-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-response.mdx" + + diff --git a/services/reference/linea/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx b/services/reference/linea/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx new file mode 100644 index 00000000000..db6bc5d3697 --- /dev/null +++ b/services/reference/linea/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx @@ -0,0 +1,44 @@ +--- +title: eth_getUserOperationReceipt +sidebar_label: eth_getUserOperationReceipt +description: Fetch the receipt of a user operation by its hash. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-description.mdx" + +# `eth_getUserOperationReceipt` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/linea/_eth_getuseroperationreceipt-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-response.mdx" + + diff --git a/services/reference/linea/json-rpc-methods/bundler/eth_senduseroperation.mdx b/services/reference/linea/json-rpc-methods/bundler/eth_senduseroperation.mdx new file mode 100644 index 00000000000..3c9f570f0b8 --- /dev/null +++ b/services/reference/linea/json-rpc-methods/bundler/eth_senduseroperation.mdx @@ -0,0 +1,44 @@ +--- +title: eth_sendUserOperation +sidebar_label: eth_sendUserOperation +description: Submit a user operation to the mempool for bundling and execution. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_senduseroperation-description.mdx" + +# `eth_sendUserOperation` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_senduseroperation-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_senduseroperation-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_senduseroperation-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/linea/_eth_senduseroperation-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_senduseroperation-response.mdx" + + diff --git a/services/reference/linea/json-rpc-methods/bundler/eth_supportedentrypoints.mdx b/services/reference/linea/json-rpc-methods/bundler/eth_supportedentrypoints.mdx new file mode 100644 index 00000000000..37c1745c25a --- /dev/null +++ b/services/reference/linea/json-rpc-methods/bundler/eth_supportedentrypoints.mdx @@ -0,0 +1,44 @@ +--- +title: eth_supportedEntryPoints +sidebar_label: eth_supportedEntryPoints +description: Get the list of EntryPoint addresses supported by the bundler. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_supportedentrypoints-description.mdx" + +# `eth_supportedEntryPoints` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_supportedentrypoints-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_supportedentrypoints-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_supportedentrypoints-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/linea/_eth_supportedentrypoints-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_supportedentrypoints-response.mdx" + + diff --git a/services/reference/linea/json-rpc-methods/bundler/index.md b/services/reference/linea/json-rpc-methods/bundler/index.md new file mode 100644 index 00000000000..05f25a9fadf --- /dev/null +++ b/services/reference/linea/json-rpc-methods/bundler/index.md @@ -0,0 +1,28 @@ +--- +title: Linea bundler methods +sidebar_label: Bundler methods +description: Linea bundler methods +--- + +Infura integrates with the Pimlico account abstraction bundler infrastructure, enabling +developers to access [ERC-4337](https://docs.erc4337.io/) smart account features. + +The following [bundler methods](../../../../concepts/bundler.md) are supported on Linea mainnet +and Sepolia: + +- [`eth_sendUserOperation`](./eth_senduseroperation): + Submits a user operation to be included onchain. +- [`eth_estimateUserOperationGas`](./eth_estimateuseroperationgas): + Simulates the user operation and estimates the appropriate gas limits. +- [`eth_getUserOperationReceipt`](./eth_getuseroperationreceipt): + Fetches the receipt of a user operation. +- [`eth_getUserOperationByHash`](./eth_getuseroperationbyhash): + Fetches the user operation by hash. +- [`eth_supportedEntryPoints`](./eth_supportedentrypoints): + Fetches the EntryPoint addresses supported by the bundler. +- [`pimlico_getUserOperationGasPrice`](./pimlico_getuseroperationgasprice): + Returns the gas prices that must be used for the user operation. +- [`pimlico_getUserOperationStatus`](./pimlico_getuseroperationstatus): + Returns the user operation status. +- [`pimlico_simulateAssetChanges`](./pimlico_simulateassetchanges): + Simulates a user operation to predict the asset changes it will cause. \ No newline at end of file diff --git a/services/reference/linea/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx b/services/reference/linea/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx new file mode 100644 index 00000000000..613f77de1bf --- /dev/null +++ b/services/reference/linea/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx @@ -0,0 +1,44 @@ +--- +title: pimlico_getUserOperationGasPrice +sidebar_label: pimlico_getUserOperationGasPrice +description: Get recommended gas prices for user operations on Pimlico bundlers. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-description.mdx" + +# `pimlico_getUserOperationGasPrice` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/linea/_pimlico_getuseroperationgasprice-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-response.mdx" + + diff --git a/services/reference/linea/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx b/services/reference/linea/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx new file mode 100644 index 00000000000..6055670f33b --- /dev/null +++ b/services/reference/linea/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx @@ -0,0 +1,44 @@ +--- +title: pimlico_getUserOperationStatus +sidebar_label: pimlico_getUserOperationStatus +description: Get the current status of a user operation by its hash. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-description.mdx" + +# `pimlico_getUserOperationStatus` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/linea/_pimlico_getuseroperationstatus-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-response.mdx" + + diff --git a/services/reference/linea/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx b/services/reference/linea/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx new file mode 100644 index 00000000000..7d6f93a82cb --- /dev/null +++ b/services/reference/linea/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx @@ -0,0 +1,50 @@ +--- +title: pimlico_simulateAssetChanges +sidebar_label: pimlico_simulateAssetChanges +description: Simulate a user operation and return predicted asset changes. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-description.mdx" + +# `pimlico_simulateAssetChanges` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/linea/_pimlico_simulateassetchanges-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-response.mdx" + + + +## Errors + +import Errors from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-errors.mdx" + + diff --git a/services/reference/mantle/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx b/services/reference/mantle/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx new file mode 100644 index 00000000000..9eddc841370 --- /dev/null +++ b/services/reference/mantle/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx @@ -0,0 +1,44 @@ +--- +title: eth_estimateUserOperationGas +sidebar_label: eth_estimateUserOperationGas +description: Simulate and estimate gas limits for a user operation before submission. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-description.mdx" + +# `eth_estimateUserOperationGas` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/mantle/_eth_estimateuseroperationgas-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-response.mdx" + + diff --git a/services/reference/mantle/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx b/services/reference/mantle/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx new file mode 100644 index 00000000000..110b1952f6e --- /dev/null +++ b/services/reference/mantle/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx @@ -0,0 +1,44 @@ +--- +title: eth_getUserOperationByHash +sidebar_label: eth_getUserOperationByHash +description: Fetch user operation details by its hash. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-description.mdx" + +# `eth_getUserOperationByHash` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/mantle/_eth_getuseroperationbyhash-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-response.mdx" + + diff --git a/services/reference/mantle/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx b/services/reference/mantle/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx new file mode 100644 index 00000000000..ded3f9e6149 --- /dev/null +++ b/services/reference/mantle/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx @@ -0,0 +1,44 @@ +--- +title: eth_getUserOperationReceipt +sidebar_label: eth_getUserOperationReceipt +description: Fetch the receipt of a user operation by its hash. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-description.mdx" + +# `eth_getUserOperationReceipt` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/mantle/_eth_getuseroperationreceipt-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-response.mdx" + + diff --git a/services/reference/mantle/json-rpc-methods/bundler/eth_senduseroperation.mdx b/services/reference/mantle/json-rpc-methods/bundler/eth_senduseroperation.mdx new file mode 100644 index 00000000000..5c14d5d6831 --- /dev/null +++ b/services/reference/mantle/json-rpc-methods/bundler/eth_senduseroperation.mdx @@ -0,0 +1,44 @@ +--- +title: eth_sendUserOperation +sidebar_label: eth_sendUserOperation +description: Submit a user operation to the mempool for bundling and execution. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_senduseroperation-description.mdx" + +# `eth_sendUserOperation` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_senduseroperation-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_senduseroperation-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_senduseroperation-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/mantle/_eth_senduseroperation-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_senduseroperation-response.mdx" + + diff --git a/services/reference/mantle/json-rpc-methods/bundler/eth_supportedentrypoints.mdx b/services/reference/mantle/json-rpc-methods/bundler/eth_supportedentrypoints.mdx new file mode 100644 index 00000000000..68a6698163d --- /dev/null +++ b/services/reference/mantle/json-rpc-methods/bundler/eth_supportedentrypoints.mdx @@ -0,0 +1,44 @@ +--- +title: eth_supportedEntryPoints +sidebar_label: eth_supportedEntryPoints +description: Get the list of EntryPoint addresses supported by the bundler. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_supportedentrypoints-description.mdx" + +# `eth_supportedEntryPoints` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_supportedentrypoints-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_supportedentrypoints-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_supportedentrypoints-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/mantle/_eth_supportedentrypoints-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_supportedentrypoints-response.mdx" + + diff --git a/services/reference/mantle/json-rpc-methods/bundler/index.md b/services/reference/mantle/json-rpc-methods/bundler/index.md new file mode 100644 index 00000000000..6cf53611124 --- /dev/null +++ b/services/reference/mantle/json-rpc-methods/bundler/index.md @@ -0,0 +1,28 @@ +--- +title: Mantle bundler methods +sidebar_label: Bundler methods +description: Mantle bundler methods +--- + +Infura integrates with the Pimlico account abstraction bundler infrastructure, enabling +developers to access [ERC-4337](https://docs.erc4337.io/) smart account features. + +The following [bundler methods](../../../../concepts/bundler.md) are supported on Mantle mainnet +and Sepolia: + +- [`eth_sendUserOperation`](./eth_senduseroperation): + Submits a user operation to be included onchain. +- [`eth_estimateUserOperationGas`](./eth_estimateuseroperationgas): + Simulates the user operation and estimates the appropriate gas limits. +- [`eth_getUserOperationReceipt`](./eth_getuseroperationreceipt): + Fetches the receipt of a user operation. +- [`eth_getUserOperationByHash`](./eth_getuseroperationbyhash): + Fetches the user operation by hash. +- [`eth_supportedEntryPoints`](./eth_supportedentrypoints): + Fetches the EntryPoint addresses supported by the bundler. +- [`pimlico_getUserOperationGasPrice`](./pimlico_getuseroperationgasprice): + Returns the gas prices that must be used for the user operation. +- [`pimlico_getUserOperationStatus`](./pimlico_getuseroperationstatus): + Returns the user operation status. +- [`pimlico_simulateAssetChanges`](./pimlico_simulateassetchanges): + Simulates a user operation to predict the asset changes it will cause. \ No newline at end of file diff --git a/services/reference/mantle/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx b/services/reference/mantle/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx new file mode 100644 index 00000000000..cca3e21ef35 --- /dev/null +++ b/services/reference/mantle/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx @@ -0,0 +1,44 @@ +--- +title: pimlico_getUserOperationGasPrice +sidebar_label: pimlico_getUserOperationGasPrice +description: Get recommended gas prices for user operations on Pimlico bundlers. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-description.mdx" + +# `pimlico_getUserOperationGasPrice` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/mantle/_pimlico_getuseroperationgasprice-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-response.mdx" + + diff --git a/services/reference/mantle/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx b/services/reference/mantle/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx new file mode 100644 index 00000000000..b55af88e8fc --- /dev/null +++ b/services/reference/mantle/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx @@ -0,0 +1,44 @@ +--- +title: pimlico_getUserOperationStatus +sidebar_label: pimlico_getUserOperationStatus +description: Get the current status of a user operation by its hash. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-description.mdx" + +# `pimlico_getUserOperationStatus` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/mantle/_pimlico_getuseroperationstatus-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-response.mdx" + + diff --git a/services/reference/mantle/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx b/services/reference/mantle/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx new file mode 100644 index 00000000000..d37cd3ac324 --- /dev/null +++ b/services/reference/mantle/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx @@ -0,0 +1,50 @@ +--- +title: pimlico_simulateAssetChanges +sidebar_label: pimlico_simulateAssetChanges +description: Simulate a user operation and return predicted asset changes. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-description.mdx" + +# `pimlico_simulateAssetChanges` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/mantle/_pimlico_simulateassetchanges-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-response.mdx" + + + +## Errors + +import Errors from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-errors.mdx" + + diff --git a/services/reference/opbnb/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx b/services/reference/opbnb/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx new file mode 100644 index 00000000000..94ec23023aa --- /dev/null +++ b/services/reference/opbnb/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx @@ -0,0 +1,44 @@ +--- +title: eth_estimateUserOperationGas +sidebar_label: eth_estimateUserOperationGas +description: Simulate and estimate gas limits for a user operation before submission. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-description.mdx" + +# `eth_estimateUserOperationGas` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/opbnb/_eth_estimateuseroperationgas-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-response.mdx" + + diff --git a/services/reference/opbnb/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx b/services/reference/opbnb/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx new file mode 100644 index 00000000000..ff36c2a56e7 --- /dev/null +++ b/services/reference/opbnb/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx @@ -0,0 +1,44 @@ +--- +title: eth_getUserOperationByHash +sidebar_label: eth_getUserOperationByHash +description: Fetch user operation details by its hash. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-description.mdx" + +# `eth_getUserOperationByHash` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/opbnb/_eth_getuseroperationbyhash-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-response.mdx" + + diff --git a/services/reference/opbnb/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx b/services/reference/opbnb/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx new file mode 100644 index 00000000000..b2ca73bc35a --- /dev/null +++ b/services/reference/opbnb/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx @@ -0,0 +1,44 @@ +--- +title: eth_getUserOperationReceipt +sidebar_label: eth_getUserOperationReceipt +description: Fetch the receipt of a user operation by its hash. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-description.mdx" + +# `eth_getUserOperationReceipt` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/opbnb/_eth_getuseroperationreceipt-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-response.mdx" + + diff --git a/services/reference/opbnb/json-rpc-methods/bundler/eth_senduseroperation.mdx b/services/reference/opbnb/json-rpc-methods/bundler/eth_senduseroperation.mdx new file mode 100644 index 00000000000..ebb6fb5a818 --- /dev/null +++ b/services/reference/opbnb/json-rpc-methods/bundler/eth_senduseroperation.mdx @@ -0,0 +1,44 @@ +--- +title: eth_sendUserOperation +sidebar_label: eth_sendUserOperation +description: Submit a user operation to the mempool for bundling and execution. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_senduseroperation-description.mdx" + +# `eth_sendUserOperation` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_senduseroperation-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_senduseroperation-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_senduseroperation-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/opbnb/_eth_senduseroperation-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_senduseroperation-response.mdx" + + diff --git a/services/reference/opbnb/json-rpc-methods/bundler/eth_supportedentrypoints.mdx b/services/reference/opbnb/json-rpc-methods/bundler/eth_supportedentrypoints.mdx new file mode 100644 index 00000000000..4d10d6af3b7 --- /dev/null +++ b/services/reference/opbnb/json-rpc-methods/bundler/eth_supportedentrypoints.mdx @@ -0,0 +1,44 @@ +--- +title: eth_supportedEntryPoints +sidebar_label: eth_supportedEntryPoints +description: Get the list of EntryPoint addresses supported by the bundler. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_supportedentrypoints-description.mdx" + +# `eth_supportedEntryPoints` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_supportedentrypoints-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_supportedentrypoints-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_supportedentrypoints-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/opbnb/_eth_supportedentrypoints-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_supportedentrypoints-response.mdx" + + diff --git a/services/reference/opbnb/json-rpc-methods/bundler/index.md b/services/reference/opbnb/json-rpc-methods/bundler/index.md new file mode 100644 index 00000000000..80edf02ddfe --- /dev/null +++ b/services/reference/opbnb/json-rpc-methods/bundler/index.md @@ -0,0 +1,27 @@ +--- +title: opBNB bundler methods +sidebar_label: Bundler methods +description: opBNB bundler methods +--- + +Infura integrates with the Pimlico account abstraction bundler infrastructure, enabling +developers to access [ERC-4337](https://docs.erc4337.io/) smart account features. + +The following [bundler methods](../../../../concepts/bundler.md) are supported on opBNB mainnet: + +- [`eth_sendUserOperation`](./eth_senduseroperation): + Submits a user operation to be included onchain. +- [`eth_estimateUserOperationGas`](./eth_estimateuseroperationgas): + Simulates the user operation and estimates the appropriate gas limits. +- [`eth_getUserOperationReceipt`](./eth_getuseroperationreceipt): + Fetches the receipt of a user operation. +- [`eth_getUserOperationByHash`](./eth_getuseroperationbyhash): + Fetches the user operation by hash. +- [`eth_supportedEntryPoints`](./eth_supportedentrypoints): + Fetches the EntryPoint addresses supported by the bundler. +- [`pimlico_getUserOperationGasPrice`](./pimlico_getuseroperationgasprice): + Returns the gas prices that must be used for the user operation. +- [`pimlico_getUserOperationStatus`](./pimlico_getuseroperationstatus): + Returns the user operation status. +- [`pimlico_simulateAssetChanges`](./pimlico_simulateassetchanges): + Simulates a user operation to predict the asset changes it will cause. \ No newline at end of file diff --git a/services/reference/opbnb/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx b/services/reference/opbnb/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx new file mode 100644 index 00000000000..50a3d286fab --- /dev/null +++ b/services/reference/opbnb/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx @@ -0,0 +1,44 @@ +--- +title: pimlico_getUserOperationGasPrice +sidebar_label: pimlico_getUserOperationGasPrice +description: Get recommended gas prices for user operations on Pimlico bundlers. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-description.mdx" + +# `pimlico_getUserOperationGasPrice` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/opbnb/_pimlico_getuseroperationgasprice-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-response.mdx" + + diff --git a/services/reference/opbnb/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx b/services/reference/opbnb/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx new file mode 100644 index 00000000000..4d439900625 --- /dev/null +++ b/services/reference/opbnb/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx @@ -0,0 +1,44 @@ +--- +title: pimlico_getUserOperationStatus +sidebar_label: pimlico_getUserOperationStatus +description: Get the current status of a user operation by its hash. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-description.mdx" + +# `pimlico_getUserOperationStatus` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/opbnb/_pimlico_getuseroperationstatus-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-response.mdx" + + diff --git a/services/reference/opbnb/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx b/services/reference/opbnb/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx new file mode 100644 index 00000000000..e541ec20151 --- /dev/null +++ b/services/reference/opbnb/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx @@ -0,0 +1,50 @@ +--- +title: pimlico_simulateAssetChanges +sidebar_label: pimlico_simulateAssetChanges +description: Simulate a user operation and return predicted asset changes. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-description.mdx" + +# `pimlico_simulateAssetChanges` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/opbnb/_pimlico_simulateassetchanges-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-response.mdx" + + + +## Errors + +import Errors from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-errors.mdx" + + diff --git a/services/reference/optimism/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx b/services/reference/optimism/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx new file mode 100644 index 00000000000..391e6fbb8fb --- /dev/null +++ b/services/reference/optimism/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx @@ -0,0 +1,44 @@ +--- +title: eth_estimateUserOperationGas +sidebar_label: eth_estimateUserOperationGas +description: Simulate and estimate gas limits for a user operation before submission. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-description.mdx" + +# `eth_estimateUserOperationGas` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/optimism/_eth_estimateuseroperationgas-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-response.mdx" + + diff --git a/services/reference/optimism/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx b/services/reference/optimism/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx new file mode 100644 index 00000000000..7238ed1566c --- /dev/null +++ b/services/reference/optimism/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx @@ -0,0 +1,44 @@ +--- +title: eth_getUserOperationByHash +sidebar_label: eth_getUserOperationByHash +description: Fetch user operation details by its hash. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-description.mdx" + +# `eth_getUserOperationByHash` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/optimism/_eth_getuseroperationbyhash-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-response.mdx" + + diff --git a/services/reference/optimism/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx b/services/reference/optimism/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx new file mode 100644 index 00000000000..2b43140699d --- /dev/null +++ b/services/reference/optimism/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx @@ -0,0 +1,44 @@ +--- +title: eth_getUserOperationReceipt +sidebar_label: eth_getUserOperationReceipt +description: Fetch the receipt of a user operation by its hash. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-description.mdx" + +# `eth_getUserOperationReceipt` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/optimism/_eth_getuseroperationreceipt-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-response.mdx" + + diff --git a/services/reference/optimism/json-rpc-methods/bundler/eth_senduseroperation.mdx b/services/reference/optimism/json-rpc-methods/bundler/eth_senduseroperation.mdx new file mode 100644 index 00000000000..d1ddb6451b7 --- /dev/null +++ b/services/reference/optimism/json-rpc-methods/bundler/eth_senduseroperation.mdx @@ -0,0 +1,44 @@ +--- +title: eth_sendUserOperation +sidebar_label: eth_sendUserOperation +description: Submit a user operation to the mempool for bundling and execution. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_senduseroperation-description.mdx" + +# `eth_sendUserOperation` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_senduseroperation-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_senduseroperation-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_senduseroperation-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/optimism/_eth_senduseroperation-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_senduseroperation-response.mdx" + + diff --git a/services/reference/optimism/json-rpc-methods/bundler/eth_supportedentrypoints.mdx b/services/reference/optimism/json-rpc-methods/bundler/eth_supportedentrypoints.mdx new file mode 100644 index 00000000000..5b86bc89f0d --- /dev/null +++ b/services/reference/optimism/json-rpc-methods/bundler/eth_supportedentrypoints.mdx @@ -0,0 +1,44 @@ +--- +title: eth_supportedEntryPoints +sidebar_label: eth_supportedEntryPoints +description: Get the list of EntryPoint addresses supported by the bundler. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_supportedentrypoints-description.mdx" + +# `eth_supportedEntryPoints` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_supportedentrypoints-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_supportedentrypoints-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_supportedentrypoints-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/optimism/_eth_supportedentrypoints-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_supportedentrypoints-response.mdx" + + diff --git a/services/reference/optimism/json-rpc-methods/bundler/index.md b/services/reference/optimism/json-rpc-methods/bundler/index.md new file mode 100644 index 00000000000..f15c4b0962f --- /dev/null +++ b/services/reference/optimism/json-rpc-methods/bundler/index.md @@ -0,0 +1,28 @@ +--- +title: Optimism bundler methods +sidebar_label: Bundler methods +description: Optimism bundler methods +--- + +Infura integrates with the Pimlico account abstraction bundler infrastructure, enabling +developers to access [ERC-4337](https://docs.erc4337.io/) smart account features. + +The following [bundler methods](../../../../concepts/bundler.md) are supported on Optimism mainnet +and Sepolia: + +- [`eth_sendUserOperation`](./eth_senduseroperation): + Submits a user operation to be included onchain. +- [`eth_estimateUserOperationGas`](./eth_estimateuseroperationgas): + Simulates the user operation and estimates the appropriate gas limits. +- [`eth_getUserOperationReceipt`](./eth_getuseroperationreceipt): + Fetches the receipt of a user operation. +- [`eth_getUserOperationByHash`](./eth_getuseroperationbyhash): + Fetches the user operation by hash. +- [`eth_supportedEntryPoints`](./eth_supportedentrypoints): + Fetches the EntryPoint addresses supported by the bundler. +- [`pimlico_getUserOperationGasPrice`](./pimlico_getuseroperationgasprice): + Returns the gas prices that must be used for the user operation. +- [`pimlico_getUserOperationStatus`](./pimlico_getuseroperationstatus): + Returns the user operation status. +- [`pimlico_simulateAssetChanges`](./pimlico_simulateassetchanges): + Simulates a user operation to predict the asset changes it will cause. \ No newline at end of file diff --git a/services/reference/optimism/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx b/services/reference/optimism/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx new file mode 100644 index 00000000000..fd2b73e3659 --- /dev/null +++ b/services/reference/optimism/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx @@ -0,0 +1,44 @@ +--- +title: pimlico_getUserOperationGasPrice +sidebar_label: pimlico_getUserOperationGasPrice +description: Get recommended gas prices for user operations on Pimlico bundlers. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-description.mdx" + +# `pimlico_getUserOperationGasPrice` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/optimism/_pimlico_getuseroperationgasprice-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-response.mdx" + + diff --git a/services/reference/optimism/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx b/services/reference/optimism/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx new file mode 100644 index 00000000000..b3c0b3ed9f5 --- /dev/null +++ b/services/reference/optimism/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx @@ -0,0 +1,44 @@ +--- +title: pimlico_getUserOperationStatus +sidebar_label: pimlico_getUserOperationStatus +description: Get the current status of a user operation by its hash. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-description.mdx" + +# `pimlico_getUserOperationStatus` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/optimism/_pimlico_getuseroperationstatus-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-response.mdx" + + diff --git a/services/reference/optimism/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx b/services/reference/optimism/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx new file mode 100644 index 00000000000..6cfe789bfe6 --- /dev/null +++ b/services/reference/optimism/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx @@ -0,0 +1,50 @@ +--- +title: pimlico_simulateAssetChanges +sidebar_label: pimlico_simulateAssetChanges +description: Simulate a user operation and return predicted asset changes. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-description.mdx" + +# `pimlico_simulateAssetChanges` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/optimism/_pimlico_simulateassetchanges-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-response.mdx" + + + +## Errors + +import Errors from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-errors.mdx" + + diff --git a/services/reference/polygon-pos/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx b/services/reference/polygon-pos/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx new file mode 100644 index 00000000000..9bf38cb3839 --- /dev/null +++ b/services/reference/polygon-pos/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx @@ -0,0 +1,44 @@ +--- +title: eth_estimateUserOperationGas +sidebar_label: eth_estimateUserOperationGas +description: Simulate and estimate gas limits for a user operation before submission. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-description.mdx" + +# `eth_estimateUserOperationGas` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/polygon/_eth_estimateuseroperationgas-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-response.mdx" + + diff --git a/services/reference/polygon-pos/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx b/services/reference/polygon-pos/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx new file mode 100644 index 00000000000..35892bba0f1 --- /dev/null +++ b/services/reference/polygon-pos/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx @@ -0,0 +1,44 @@ +--- +title: eth_getUserOperationByHash +sidebar_label: eth_getUserOperationByHash +description: Fetch user operation details by its hash. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-description.mdx" + +# `eth_getUserOperationByHash` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/polygon/_eth_getuseroperationbyhash-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-response.mdx" + + diff --git a/services/reference/polygon-pos/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx b/services/reference/polygon-pos/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx new file mode 100644 index 00000000000..a3a011a1d6b --- /dev/null +++ b/services/reference/polygon-pos/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx @@ -0,0 +1,44 @@ +--- +title: eth_getUserOperationReceipt +sidebar_label: eth_getUserOperationReceipt +description: Fetch the receipt of a user operation by its hash. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-description.mdx" + +# `eth_getUserOperationReceipt` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/polygon/_eth_getuseroperationreceipt-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-response.mdx" + + diff --git a/services/reference/polygon-pos/json-rpc-methods/bundler/eth_senduseroperation.mdx b/services/reference/polygon-pos/json-rpc-methods/bundler/eth_senduseroperation.mdx new file mode 100644 index 00000000000..657918342a7 --- /dev/null +++ b/services/reference/polygon-pos/json-rpc-methods/bundler/eth_senduseroperation.mdx @@ -0,0 +1,44 @@ +--- +title: eth_sendUserOperation +sidebar_label: eth_sendUserOperation +description: Submit a user operation to the mempool for bundling and execution. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_senduseroperation-description.mdx" + +# `eth_sendUserOperation` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_senduseroperation-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_senduseroperation-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_senduseroperation-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/polygon/_eth_senduseroperation-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_senduseroperation-response.mdx" + + diff --git a/services/reference/polygon-pos/json-rpc-methods/bundler/eth_supportedentrypoints.mdx b/services/reference/polygon-pos/json-rpc-methods/bundler/eth_supportedentrypoints.mdx new file mode 100644 index 00000000000..aace96dbd2e --- /dev/null +++ b/services/reference/polygon-pos/json-rpc-methods/bundler/eth_supportedentrypoints.mdx @@ -0,0 +1,44 @@ +--- +title: eth_supportedEntryPoints +sidebar_label: eth_supportedEntryPoints +description: Get the list of EntryPoint addresses supported by the bundler. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_supportedentrypoints-description.mdx" + +# `eth_supportedEntryPoints` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_supportedentrypoints-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_supportedentrypoints-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_supportedentrypoints-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/polygon/_eth_supportedentrypoints-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_supportedentrypoints-response.mdx" + + diff --git a/services/reference/polygon-pos/json-rpc-methods/bundler/index.md b/services/reference/polygon-pos/json-rpc-methods/bundler/index.md new file mode 100644 index 00000000000..ea4d9b9eb07 --- /dev/null +++ b/services/reference/polygon-pos/json-rpc-methods/bundler/index.md @@ -0,0 +1,28 @@ +--- +title: Polygon bundler methods +sidebar_label: Bundler methods +description: Polygon bundler methods +--- + +Infura integrates with the Pimlico account abstraction bundler infrastructure, enabling +developers to access [ERC-4337](https://docs.erc4337.io/) smart account features. + +The following [bundler methods](../../../../concepts/bundler.md) are supported on Polygon mainnet +and Amoy: + +- [`eth_sendUserOperation`](./eth_senduseroperation): + Submits a user operation to be included onchain. +- [`eth_estimateUserOperationGas`](./eth_estimateuseroperationgas): + Simulates the user operation and estimates the appropriate gas limits. +- [`eth_getUserOperationReceipt`](./eth_getuseroperationreceipt): + Fetches the receipt of a user operation. +- [`eth_getUserOperationByHash`](./eth_getuseroperationbyhash): + Fetches the user operation by hash. +- [`eth_supportedEntryPoints`](./eth_supportedentrypoints): + Fetches the EntryPoint addresses supported by the bundler. +- [`pimlico_getUserOperationGasPrice`](./pimlico_getuseroperationgasprice): + Returns the gas prices that must be used for the user operation. +- [`pimlico_getUserOperationStatus`](./pimlico_getuseroperationstatus): + Returns the user operation status. +- [`pimlico_simulateAssetChanges`](./pimlico_simulateassetchanges): + Simulates a user operation to predict the asset changes it will cause. \ No newline at end of file diff --git a/services/reference/polygon-pos/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx b/services/reference/polygon-pos/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx new file mode 100644 index 00000000000..ba273ef15ef --- /dev/null +++ b/services/reference/polygon-pos/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx @@ -0,0 +1,44 @@ +--- +title: pimlico_getUserOperationGasPrice +sidebar_label: pimlico_getUserOperationGasPrice +description: Get recommended gas prices for user operations on Pimlico bundlers. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-description.mdx" + +# `pimlico_getUserOperationGasPrice` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/polygon/_pimlico_getuseroperationgasprice-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-response.mdx" + + diff --git a/services/reference/polygon-pos/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx b/services/reference/polygon-pos/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx new file mode 100644 index 00000000000..a8cf2c4f628 --- /dev/null +++ b/services/reference/polygon-pos/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx @@ -0,0 +1,44 @@ +--- +title: pimlico_getUserOperationStatus +sidebar_label: pimlico_getUserOperationStatus +description: Get the current status of a user operation by its hash. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-description.mdx" + +# `pimlico_getUserOperationStatus` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/polygon/_pimlico_getuseroperationstatus-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-response.mdx" + + diff --git a/services/reference/polygon-pos/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx b/services/reference/polygon-pos/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx new file mode 100644 index 00000000000..0a284289696 --- /dev/null +++ b/services/reference/polygon-pos/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx @@ -0,0 +1,50 @@ +--- +title: pimlico_simulateAssetChanges +sidebar_label: pimlico_simulateAssetChanges +description: Simulate a user operation and return predicted asset changes. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-description.mdx" + +# `pimlico_simulateAssetChanges` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/polygon/_pimlico_simulateassetchanges-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-response.mdx" + + + +## Errors + +import Errors from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-errors.mdx" + + diff --git a/services/reference/scroll/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx b/services/reference/scroll/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx new file mode 100644 index 00000000000..07e9b537d8c --- /dev/null +++ b/services/reference/scroll/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx @@ -0,0 +1,44 @@ +--- +title: eth_estimateUserOperationGas +sidebar_label: eth_estimateUserOperationGas +description: Simulate and estimate gas limits for a user operation before submission. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-description.mdx" + +# `eth_estimateUserOperationGas` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/scroll/_eth_estimateuseroperationgas-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-response.mdx" + + diff --git a/services/reference/scroll/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx b/services/reference/scroll/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx new file mode 100644 index 00000000000..38d7a51fecb --- /dev/null +++ b/services/reference/scroll/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx @@ -0,0 +1,44 @@ +--- +title: eth_getUserOperationByHash +sidebar_label: eth_getUserOperationByHash +description: Fetch user operation details by its hash. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-description.mdx" + +# `eth_getUserOperationByHash` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/scroll/_eth_getuseroperationbyhash-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-response.mdx" + + diff --git a/services/reference/scroll/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx b/services/reference/scroll/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx new file mode 100644 index 00000000000..036395d49bc --- /dev/null +++ b/services/reference/scroll/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx @@ -0,0 +1,44 @@ +--- +title: eth_getUserOperationReceipt +sidebar_label: eth_getUserOperationReceipt +description: Fetch the receipt of a user operation by its hash. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-description.mdx" + +# `eth_getUserOperationReceipt` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/scroll/_eth_getuseroperationreceipt-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-response.mdx" + + diff --git a/services/reference/scroll/json-rpc-methods/bundler/eth_senduseroperation.mdx b/services/reference/scroll/json-rpc-methods/bundler/eth_senduseroperation.mdx new file mode 100644 index 00000000000..bb87c425ff4 --- /dev/null +++ b/services/reference/scroll/json-rpc-methods/bundler/eth_senduseroperation.mdx @@ -0,0 +1,44 @@ +--- +title: eth_sendUserOperation +sidebar_label: eth_sendUserOperation +description: Submit a user operation to the mempool for bundling and execution. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_senduseroperation-description.mdx" + +# `eth_sendUserOperation` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_senduseroperation-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_senduseroperation-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_senduseroperation-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/scroll/_eth_senduseroperation-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_senduseroperation-response.mdx" + + diff --git a/services/reference/scroll/json-rpc-methods/bundler/eth_supportedentrypoints.mdx b/services/reference/scroll/json-rpc-methods/bundler/eth_supportedentrypoints.mdx new file mode 100644 index 00000000000..7d3a7773575 --- /dev/null +++ b/services/reference/scroll/json-rpc-methods/bundler/eth_supportedentrypoints.mdx @@ -0,0 +1,44 @@ +--- +title: eth_supportedEntryPoints +sidebar_label: eth_supportedEntryPoints +description: Get the list of EntryPoint addresses supported by the bundler. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_supportedentrypoints-description.mdx" + +# `eth_supportedEntryPoints` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_supportedentrypoints-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_supportedentrypoints-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_supportedentrypoints-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/scroll/_eth_supportedentrypoints-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_supportedentrypoints-response.mdx" + + diff --git a/services/reference/scroll/json-rpc-methods/bundler/index.md b/services/reference/scroll/json-rpc-methods/bundler/index.md new file mode 100644 index 00000000000..2be076c7d09 --- /dev/null +++ b/services/reference/scroll/json-rpc-methods/bundler/index.md @@ -0,0 +1,28 @@ +--- +title: Scroll bundler methods +sidebar_label: Bundler methods +description: Scroll bundler methods +--- + +Infura integrates with the Pimlico account abstraction bundler infrastructure, enabling +developers to access [ERC-4337](https://docs.erc4337.io/) smart account features. + +The following [bundler methods](../../../../concepts/bundler.md) are supported on Scroll mainnet +and Sepolia: + +- [`eth_sendUserOperation`](./eth_senduseroperation): + Submits a user operation to be included onchain. +- [`eth_estimateUserOperationGas`](./eth_estimateuseroperationgas): + Simulates the user operation and estimates the appropriate gas limits. +- [`eth_getUserOperationReceipt`](./eth_getuseroperationreceipt): + Fetches the receipt of a user operation. +- [`eth_getUserOperationByHash`](./eth_getuseroperationbyhash): + Fetches the user operation by hash. +- [`eth_supportedEntryPoints`](./eth_supportedentrypoints): + Fetches the EntryPoint addresses supported by the bundler. +- [`pimlico_getUserOperationGasPrice`](./pimlico_getuseroperationgasprice): + Returns the gas prices that must be used for the user operation. +- [`pimlico_getUserOperationStatus`](./pimlico_getuseroperationstatus): + Returns the user operation status. +- [`pimlico_simulateAssetChanges`](./pimlico_simulateassetchanges): + Simulates a user operation to predict the asset changes it will cause. \ No newline at end of file diff --git a/services/reference/scroll/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx b/services/reference/scroll/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx new file mode 100644 index 00000000000..a0d44319f0b --- /dev/null +++ b/services/reference/scroll/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx @@ -0,0 +1,44 @@ +--- +title: pimlico_getUserOperationGasPrice +sidebar_label: pimlico_getUserOperationGasPrice +description: Get recommended gas prices for user operations on Pimlico bundlers. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-description.mdx" + +# `pimlico_getUserOperationGasPrice` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/scroll/_pimlico_getuseroperationgasprice-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-response.mdx" + + diff --git a/services/reference/scroll/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx b/services/reference/scroll/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx new file mode 100644 index 00000000000..323ba41e3bc --- /dev/null +++ b/services/reference/scroll/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx @@ -0,0 +1,44 @@ +--- +title: pimlico_getUserOperationStatus +sidebar_label: pimlico_getUserOperationStatus +description: Get the current status of a user operation by its hash. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-description.mdx" + +# `pimlico_getUserOperationStatus` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/scroll/_pimlico_getuseroperationstatus-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-response.mdx" + + diff --git a/services/reference/scroll/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx b/services/reference/scroll/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx new file mode 100644 index 00000000000..6782f405385 --- /dev/null +++ b/services/reference/scroll/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx @@ -0,0 +1,50 @@ +--- +title: pimlico_simulateAssetChanges +sidebar_label: pimlico_simulateAssetChanges +description: Simulate a user operation and return predicted asset changes. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-description.mdx" + +# `pimlico_simulateAssetChanges` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/scroll/_pimlico_simulateassetchanges-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-response.mdx" + + + +## Errors + +import Errors from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-errors.mdx" + + diff --git a/services/reference/sei/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx b/services/reference/sei/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx new file mode 100644 index 00000000000..a9092f6db6f --- /dev/null +++ b/services/reference/sei/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx @@ -0,0 +1,44 @@ +--- +title: eth_estimateUserOperationGas +sidebar_label: eth_estimateUserOperationGas +description: Simulate and estimate gas limits for a user operation before submission. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-description.mdx" + +# `eth_estimateUserOperationGas` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/sei/_eth_estimateuseroperationgas-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-response.mdx" + + diff --git a/services/reference/sei/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx b/services/reference/sei/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx new file mode 100644 index 00000000000..a3a3dc74c01 --- /dev/null +++ b/services/reference/sei/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx @@ -0,0 +1,44 @@ +--- +title: eth_getUserOperationByHash +sidebar_label: eth_getUserOperationByHash +description: Fetch user operation details by its hash. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-description.mdx" + +# `eth_getUserOperationByHash` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/sei/_eth_getuseroperationbyhash-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-response.mdx" + + diff --git a/services/reference/sei/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx b/services/reference/sei/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx new file mode 100644 index 00000000000..ddf14dc548f --- /dev/null +++ b/services/reference/sei/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx @@ -0,0 +1,44 @@ +--- +title: eth_getUserOperationReceipt +sidebar_label: eth_getUserOperationReceipt +description: Fetch the receipt of a user operation by its hash. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-description.mdx" + +# `eth_getUserOperationReceipt` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/sei/_eth_getuseroperationreceipt-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-response.mdx" + + diff --git a/services/reference/sei/json-rpc-methods/bundler/eth_senduseroperation.mdx b/services/reference/sei/json-rpc-methods/bundler/eth_senduseroperation.mdx new file mode 100644 index 00000000000..558b421d839 --- /dev/null +++ b/services/reference/sei/json-rpc-methods/bundler/eth_senduseroperation.mdx @@ -0,0 +1,44 @@ +--- +title: eth_sendUserOperation +sidebar_label: eth_sendUserOperation +description: Submit a user operation to the mempool for bundling and execution. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_senduseroperation-description.mdx" + +# `eth_sendUserOperation` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_senduseroperation-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_senduseroperation-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_senduseroperation-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/sei/_eth_senduseroperation-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_senduseroperation-response.mdx" + + diff --git a/services/reference/sei/json-rpc-methods/bundler/eth_supportedentrypoints.mdx b/services/reference/sei/json-rpc-methods/bundler/eth_supportedentrypoints.mdx new file mode 100644 index 00000000000..7a196996dd6 --- /dev/null +++ b/services/reference/sei/json-rpc-methods/bundler/eth_supportedentrypoints.mdx @@ -0,0 +1,44 @@ +--- +title: eth_supportedEntryPoints +sidebar_label: eth_supportedEntryPoints +description: Get the list of EntryPoint addresses supported by the bundler. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_supportedentrypoints-description.mdx" + +# `eth_supportedEntryPoints` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_supportedentrypoints-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_supportedentrypoints-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_supportedentrypoints-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/sei/_eth_supportedentrypoints-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_supportedentrypoints-response.mdx" + + diff --git a/services/reference/sei/json-rpc-methods/bundler/index.md b/services/reference/sei/json-rpc-methods/bundler/index.md new file mode 100644 index 00000000000..2fdc73f614d --- /dev/null +++ b/services/reference/sei/json-rpc-methods/bundler/index.md @@ -0,0 +1,28 @@ +--- +title: Sei bundler methods +sidebar_label: Bundler methods +description: Sei bundler methods +--- + +Infura integrates with the Pimlico account abstraction bundler infrastructure, enabling +developers to access [ERC-4337](https://docs.erc4337.io/) smart account features. + +The following [bundler methods](../../../../concepts/bundler.md) are supported on Sei mainnet +and testnet: + +- [`eth_sendUserOperation`](./eth_senduseroperation): + Submits a user operation to be included onchain. +- [`eth_estimateUserOperationGas`](./eth_estimateuseroperationgas): + Simulates the user operation and estimates the appropriate gas limits. +- [`eth_getUserOperationReceipt`](./eth_getuseroperationreceipt): + Fetches the receipt of a user operation. +- [`eth_getUserOperationByHash`](./eth_getuseroperationbyhash): + Fetches the user operation by hash. +- [`eth_supportedEntryPoints`](./eth_supportedentrypoints): + Fetches the EntryPoint addresses supported by the bundler. +- [`pimlico_getUserOperationGasPrice`](./pimlico_getuseroperationgasprice): + Returns the gas prices that must be used for the user operation. +- [`pimlico_getUserOperationStatus`](./pimlico_getuseroperationstatus): + Returns the user operation status. +- [`pimlico_simulateAssetChanges`](./pimlico_simulateassetchanges): + Simulates a user operation to predict the asset changes it will cause. \ No newline at end of file diff --git a/services/reference/sei/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx b/services/reference/sei/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx new file mode 100644 index 00000000000..552b41a33fc --- /dev/null +++ b/services/reference/sei/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx @@ -0,0 +1,44 @@ +--- +title: pimlico_getUserOperationGasPrice +sidebar_label: pimlico_getUserOperationGasPrice +description: Get recommended gas prices for user operations on Pimlico bundlers. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-description.mdx" + +# `pimlico_getUserOperationGasPrice` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/sei/_pimlico_getuseroperationgasprice-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-response.mdx" + + diff --git a/services/reference/sei/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx b/services/reference/sei/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx new file mode 100644 index 00000000000..4eeecb1a398 --- /dev/null +++ b/services/reference/sei/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx @@ -0,0 +1,44 @@ +--- +title: pimlico_getUserOperationStatus +sidebar_label: pimlico_getUserOperationStatus +description: Get the current status of a user operation by its hash. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-description.mdx" + +# `pimlico_getUserOperationStatus` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/sei/_pimlico_getuseroperationstatus-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-response.mdx" + + diff --git a/services/reference/sei/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx b/services/reference/sei/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx new file mode 100644 index 00000000000..4f9c0b520f6 --- /dev/null +++ b/services/reference/sei/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx @@ -0,0 +1,50 @@ +--- +title: pimlico_simulateAssetChanges +sidebar_label: pimlico_simulateAssetChanges +description: Simulate a user operation and return predicted asset changes. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-description.mdx" + +# `pimlico_simulateAssetChanges` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/sei/_pimlico_simulateassetchanges-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-response.mdx" + + + +## Errors + +import Errors from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-errors.mdx" + + diff --git a/services/reference/unichain/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx b/services/reference/unichain/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx new file mode 100644 index 00000000000..1f83d5e6ba4 --- /dev/null +++ b/services/reference/unichain/json-rpc-methods/bundler/eth_estimateuseroperationgas.mdx @@ -0,0 +1,44 @@ +--- +title: eth_estimateUserOperationGas +sidebar_label: eth_estimateUserOperationGas +description: Simulate and estimate gas limits for a user operation before submission. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-description.mdx" + +# `eth_estimateUserOperationGas` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/unichain/_eth_estimateuseroperationgas-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_estimateuseroperationgas-response.mdx" + + diff --git a/services/reference/unichain/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx b/services/reference/unichain/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx new file mode 100644 index 00000000000..f02afc17ff6 --- /dev/null +++ b/services/reference/unichain/json-rpc-methods/bundler/eth_getuseroperationbyhash.mdx @@ -0,0 +1,44 @@ +--- +title: eth_getUserOperationByHash +sidebar_label: eth_getUserOperationByHash +description: Fetch user operation details by its hash. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-description.mdx" + +# `eth_getUserOperationByHash` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/unichain/_eth_getuseroperationbyhash-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_getuseroperationbyhash-response.mdx" + + diff --git a/services/reference/unichain/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx b/services/reference/unichain/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx new file mode 100644 index 00000000000..2503f8ae4c4 --- /dev/null +++ b/services/reference/unichain/json-rpc-methods/bundler/eth_getuseroperationreceipt.mdx @@ -0,0 +1,44 @@ +--- +title: eth_getUserOperationReceipt +sidebar_label: eth_getUserOperationReceipt +description: Fetch the receipt of a user operation by its hash. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-description.mdx" + +# `eth_getUserOperationReceipt` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/unichain/_eth_getuseroperationreceipt-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_getuseroperationreceipt-response.mdx" + + diff --git a/services/reference/unichain/json-rpc-methods/bundler/eth_senduseroperation.mdx b/services/reference/unichain/json-rpc-methods/bundler/eth_senduseroperation.mdx new file mode 100644 index 00000000000..9843b646075 --- /dev/null +++ b/services/reference/unichain/json-rpc-methods/bundler/eth_senduseroperation.mdx @@ -0,0 +1,44 @@ +--- +title: eth_sendUserOperation +sidebar_label: eth_sendUserOperation +description: Submit a user operation to the mempool for bundling and execution. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_senduseroperation-description.mdx" + +# `eth_sendUserOperation` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_senduseroperation-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_senduseroperation-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_senduseroperation-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/unichain/_eth_senduseroperation-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_senduseroperation-response.mdx" + + diff --git a/services/reference/unichain/json-rpc-methods/bundler/eth_supportedentrypoints.mdx b/services/reference/unichain/json-rpc-methods/bundler/eth_supportedentrypoints.mdx new file mode 100644 index 00000000000..03888c53c96 --- /dev/null +++ b/services/reference/unichain/json-rpc-methods/bundler/eth_supportedentrypoints.mdx @@ -0,0 +1,44 @@ +--- +title: eth_supportedEntryPoints +sidebar_label: eth_supportedEntryPoints +description: Get the list of EntryPoint addresses supported by the bundler. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_eth_supportedentrypoints-description.mdx" + +# `eth_supportedEntryPoints` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_eth_supportedentrypoints-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_eth_supportedentrypoints-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_eth_supportedentrypoints-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/unichain/_eth_supportedentrypoints-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_eth_supportedentrypoints-response.mdx" + + diff --git a/services/reference/unichain/json-rpc-methods/bundler/index.md b/services/reference/unichain/json-rpc-methods/bundler/index.md new file mode 100644 index 00000000000..b2e2d2e20f3 --- /dev/null +++ b/services/reference/unichain/json-rpc-methods/bundler/index.md @@ -0,0 +1,28 @@ +--- +title: Unichain bundler methods +sidebar_label: Bundler methods +description: Unichain bundler methods +--- + +Infura integrates with the Pimlico account abstraction bundler infrastructure, enabling +developers to access [ERC-4337](https://docs.erc4337.io/) smart account features. + +The following [bundler methods](../../../../concepts/bundler.md) are supported on Unichain mainnet +and Sepolia: + +- [`eth_sendUserOperation`](./eth_senduseroperation): + Submits a user operation to be included onchain. +- [`eth_estimateUserOperationGas`](./eth_estimateuseroperationgas): + Simulates the user operation and estimates the appropriate gas limits. +- [`eth_getUserOperationReceipt`](./eth_getuseroperationreceipt): + Fetches the receipt of a user operation. +- [`eth_getUserOperationByHash`](./eth_getuseroperationbyhash): + Fetches the user operation by hash. +- [`eth_supportedEntryPoints`](./eth_supportedentrypoints): + Fetches the EntryPoint addresses supported by the bundler. +- [`pimlico_getUserOperationGasPrice`](./pimlico_getuseroperationgasprice): + Returns the gas prices that must be used for the user operation. +- [`pimlico_getUserOperationStatus`](./pimlico_getuseroperationstatus): + Returns the user operation status. +- [`pimlico_simulateAssetChanges`](./pimlico_simulateassetchanges): + Simulates a user operation to predict the asset changes it will cause. \ No newline at end of file diff --git a/services/reference/unichain/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx b/services/reference/unichain/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx new file mode 100644 index 00000000000..30f5bde30ba --- /dev/null +++ b/services/reference/unichain/json-rpc-methods/bundler/pimlico_getuseroperationgasprice.mdx @@ -0,0 +1,44 @@ +--- +title: pimlico_getUserOperationGasPrice +sidebar_label: pimlico_getUserOperationGasPrice +description: Get recommended gas prices for user operations on Pimlico bundlers. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-description.mdx" + +# `pimlico_getUserOperationGasPrice` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/unichain/_pimlico_getuseroperationgasprice-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationgasprice-response.mdx" + + diff --git a/services/reference/unichain/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx b/services/reference/unichain/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx new file mode 100644 index 00000000000..ff81719cbbd --- /dev/null +++ b/services/reference/unichain/json-rpc-methods/bundler/pimlico_getuseroperationstatus.mdx @@ -0,0 +1,44 @@ +--- +title: pimlico_getUserOperationStatus +sidebar_label: pimlico_getUserOperationStatus +description: Get the current status of a user operation by its hash. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-description.mdx" + +# `pimlico_getUserOperationStatus` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/unichain/_pimlico_getuseroperationstatus-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_pimlico_getuseroperationstatus-response.mdx" + + diff --git a/services/reference/unichain/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx b/services/reference/unichain/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx new file mode 100644 index 00000000000..be844f9c47b --- /dev/null +++ b/services/reference/unichain/json-rpc-methods/bundler/pimlico_simulateassetchanges.mdx @@ -0,0 +1,50 @@ +--- +title: pimlico_simulateAssetChanges +sidebar_label: pimlico_simulateAssetChanges +description: Simulate a user operation and return predicted asset changes. +--- + +import Tabs from "@theme/Tabs" +import TabItem from "@theme/TabItem" + +import Description from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-description.mdx" + +# `pimlico_simulateAssetChanges` + + + +## Parameters + +import Params from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-parameters.mdx" + + + +## Returns + +import Returns from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-returns.mdx" + + + +## Example + +import Example from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-example.mdx" + + + +### Request + +import Request from "/services/reference/_partials/bundler/unichain/_pimlico_simulateassetchanges-request.mdx" + + + +### Response + +import Response from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-response.mdx" + + + +## Errors + +import Errors from "/services/reference/_partials/bundler/_pimlico_simulateassetchanges-errors.mdx" + + diff --git a/src/lib/data.js b/src/lib/data.js index 88acb63a93f..997745e31ca 100644 --- a/src/lib/data.js +++ b/src/lib/data.js @@ -357,4 +357,14 @@ export const API_COSTS = { busyThreshold: 80, suggestedGasFees: 80, }, + bundler: { + eth_estimateUserOperationGas: 1980, + eth_getUserOperationByHash: 100, + eth_getUserOperationReceipt: 100, + eth_sendUserOperation: 4950, + eth_supportedEntryPoints: 10, + pimlico_getUserOperationGasPrice: 100, + pimlico_getUserOperationStatus: 50, + pimlico_simulateAssetChanges: 4950, + }, } diff --git a/src/theme/Tabs/styles.module.scss b/src/theme/Tabs/styles.module.scss index d5e3c1c98c5..24d1888b052 100644 --- a/src/theme/Tabs/styles.module.scss +++ b/src/theme/Tabs/styles.module.scss @@ -36,6 +36,38 @@ p { padding: 1.6rem; } + + // Required for tabs that include bullet lists (e.g., bundler method parameters) + // Without this, L1 bullets are not visible and spacing is inconsistent + ul, + ol { + margin: 1.6rem 0 1.6rem 2rem; + + li { + margin-bottom: 1rem; + + // Handle list items that contain paragraphs (L1 bullets from markdown parsing) + p { + padding: 0; // Remove padding for paragraphs inside list items + margin: 0; // Remove margin to prevent double spacing + } + } + } + + ul { + list-style-type: disc; + list-style-position: outside; + } + + ul ul { + list-style-type: circle; + margin-left: 1.6rem; + margin-top: 1rem; + } + + ul ul ul { + list-style-type: square; + } } .flaskOnly::after {