From ebb2ff65ffb13adecff3cf5ac9c28879c43e07f9 Mon Sep 17 00:00:00 2001 From: Nazaret Garcia Date: Fri, 20 Dec 2024 16:43:18 -0300 Subject: [PATCH 1/4] Updating estimate gas doc --- .../03-blockchain-essentials/02-overview/index.md | 3 ++- docs/02-developers/07-rpc-api/02-rootstock/02-methods.md | 3 ++- docs/03-node-operators/03-json-rpc/01-methods.md | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/docs/02-developers/03-blockchain-essentials/02-overview/index.md b/docs/02-developers/03-blockchain-essentials/02-overview/index.md index f4ca8595..32c0ffd0 100644 --- a/docs/02-developers/03-blockchain-essentials/02-overview/index.md +++ b/docs/02-developers/03-blockchain-essentials/02-overview/index.md @@ -89,7 +89,8 @@ Note that when `eth_estimateGas` is called, the node simulates the transaction e The simulation runs through the entire transaction process as if it were being executed, including checking for sufficient balance, contract code execution, etc. During the simulation, the method calculates the exact amount of gas that would be consumed by the transaction if it were to be executed on the blockchain. The estimated gas amount is returned, helping users set an appropriate gas limit for the actual transaction. -There is a difference in Rootstock compared to Ethereum, and it is that if one of the steps of the simulated transaction fails, the node will return the gas estimation needed for the transaction, while on Ethereum, the node will return an error instead of the gas estimation. +There is a difference in Rootstock compared to Ethereum, and it is that if one of the steps of the simulated transaction fails, the node will return the gas estimation needed for the transaction, while on Ethereum, the node will return an error instead of the gas estimation. Starting with Arrowhead 6.4.0 this is +not valid anymore. You can see this behavior in the following example, where a call for `eth_estimateGas` on a transaction that would be executed from an address without enough balance. diff --git a/docs/02-developers/07-rpc-api/02-rootstock/02-methods.md b/docs/02-developers/07-rpc-api/02-rootstock/02-methods.md index cdff10a7..0a98244d 100644 --- a/docs/02-developers/07-rpc-api/02-rootstock/02-methods.md +++ b/docs/02-developers/07-rpc-api/02-rootstock/02-methods.md @@ -199,7 +199,8 @@ Note that when `eth_estimateGas` is called, the node simulates the transaction e The simulation runs through the entire transaction process as if it were being executed, including checking for sufficient balance, contract code execution, etc. During the simulation, the method calculates the exact amount of gas that would be consumed by the transaction if it were to be executed on the blockchain. The estimated gas amount is returned, helping users set an appropriate gas limit for the actual transaction. -There is a difference in Rootstock compared to Ethereum, and it is that if one of the steps of the simulated transaction fails, the node will return the gas estimation needed for the transaction, while on Ethereum, the node will return an error instead of the gas estimation. +There is a difference in Rootstock compared to Ethereum, and it is that if one of the steps of the simulated transaction fails, the node will return the gas estimation needed for the transaction, while on Ethereum, the node will return an error instead of the gas estimation. Starting with Arrowhead 6.4.0 this is +not valid anymore. You can see this behavior on the following example, where we call `eth_estimateGas` for a transaction that would be executed from an address without enough balance. diff --git a/docs/03-node-operators/03-json-rpc/01-methods.md b/docs/03-node-operators/03-json-rpc/01-methods.md index f9e9d8c3..c5692e3d 100644 --- a/docs/03-node-operators/03-json-rpc/01-methods.md +++ b/docs/03-node-operators/03-json-rpc/01-methods.md @@ -1089,7 +1089,8 @@ Note that when `eth_estimateGas` is called, the node simulates the transaction e The simulation runs through the entire transaction process as if it were being executed, including checking for sufficient balance, contract code execution, etc. During the simulation, the method calculates the exact amount of gas that would be consumed by the transaction if it were to be executed on the blockchain. The estimated gas amount is returned, helping users set an appropriate gas limit for the actual transaction. -There is a difference in Rootstock compared to Ethereum, and it is that if one of the steps of the simulated transaction fails, the node will return the gas estimation needed for the transaction, while on Ethereum, the node will return an error instead of the gas estimation. +There is a difference in Rootstock compared to Ethereum, and it is that if one of the steps of the simulated transaction fails, the node will return the gas estimation needed for the transaction, while on Ethereum, the node will return an error instead of the gas estimation. Starting with Arrowhead 6.4.0 this is +not valid anymore. You can see this behavior on the following example, where we call `eth_estimateGas` for a transaction that would be executed from an address without enough balance. From 32fe153d1a4ab57c2f1e9f787363c19854b7577e Mon Sep 17 00:00:00 2001 From: Nazaret Garcia Date: Fri, 20 Dec 2024 16:43:42 -0300 Subject: [PATCH 2/4] Updating trace block doc --- .../03-json-rpc/05-management-api-methods.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/03-node-operators/03-json-rpc/05-management-api-methods.md b/docs/03-node-operators/03-json-rpc/05-management-api-methods.md index 78d9e558..87da8475 100644 --- a/docs/03-node-operators/03-json-rpc/05-management-api-methods.md +++ b/docs/03-node-operators/03-json-rpc/05-management-api-methods.md @@ -32,8 +32,8 @@ description: "The JSON-RPC methods supported by Rootstock nodes." | `debug_startGoTrace` | NO | | | `debug_stopGoTrace` | NO | | | `debug_traceBlock` | NO | | -| `debug_traceBlockByNumber` | NO | | -| `debug_traceBlockByHash` | NO | | +| `debug_traceBlockByNumber` | YES | | +| `debug_traceBlockByHash` | YES | | | `debug_traceBlockFromFile` | NO | | | `debug_traceTransaction` | YES | | | `debug_vmodule` | NO | | From 49fd33b3b90ecfe8b395d5c011aef1fa9b9af875 Mon Sep 17 00:00:00 2001 From: Nazaret Garcia Date: Mon, 23 Dec 2024 11:28:28 -0300 Subject: [PATCH 3/4] Adjusting description --- .../03-blockchain-essentials/02-overview/index.md | 3 +-- docs/02-developers/07-rpc-api/02-rootstock/02-methods.md | 3 +-- docs/03-node-operators/03-json-rpc/01-methods.md | 3 +-- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/docs/02-developers/03-blockchain-essentials/02-overview/index.md b/docs/02-developers/03-blockchain-essentials/02-overview/index.md index 32c0ffd0..7d66080f 100644 --- a/docs/02-developers/03-blockchain-essentials/02-overview/index.md +++ b/docs/02-developers/03-blockchain-essentials/02-overview/index.md @@ -89,8 +89,7 @@ Note that when `eth_estimateGas` is called, the node simulates the transaction e The simulation runs through the entire transaction process as if it were being executed, including checking for sufficient balance, contract code execution, etc. During the simulation, the method calculates the exact amount of gas that would be consumed by the transaction if it were to be executed on the blockchain. The estimated gas amount is returned, helping users set an appropriate gas limit for the actual transaction. -There is a difference in Rootstock compared to Ethereum, and it is that if one of the steps of the simulated transaction fails, the node will return the gas estimation needed for the transaction, while on Ethereum, the node will return an error instead of the gas estimation. Starting with Arrowhead 6.4.0 this is -not valid anymore. +Until `Arrowhead 6.5.0`, there was a difference in Rootstock compared to Ethereum, and it is that if one of the steps of the simulated transaction fails, the node would return the gas estimation needed for the transaction, while on Ethereum, the node would return an error instead of the gas estimation. Starting with `Arrowhead 6.5.0` this is not valid anymore, Rootstock will behave same way as Ethereum, returning an error if one of the steps of the simulated transaction fails. You can see this behavior in the following example, where a call for `eth_estimateGas` on a transaction that would be executed from an address without enough balance. diff --git a/docs/02-developers/07-rpc-api/02-rootstock/02-methods.md b/docs/02-developers/07-rpc-api/02-rootstock/02-methods.md index 0a98244d..3289c353 100644 --- a/docs/02-developers/07-rpc-api/02-rootstock/02-methods.md +++ b/docs/02-developers/07-rpc-api/02-rootstock/02-methods.md @@ -199,8 +199,7 @@ Note that when `eth_estimateGas` is called, the node simulates the transaction e The simulation runs through the entire transaction process as if it were being executed, including checking for sufficient balance, contract code execution, etc. During the simulation, the method calculates the exact amount of gas that would be consumed by the transaction if it were to be executed on the blockchain. The estimated gas amount is returned, helping users set an appropriate gas limit for the actual transaction. -There is a difference in Rootstock compared to Ethereum, and it is that if one of the steps of the simulated transaction fails, the node will return the gas estimation needed for the transaction, while on Ethereum, the node will return an error instead of the gas estimation. Starting with Arrowhead 6.4.0 this is -not valid anymore. +Until `Arrowhead 6.5.0`, there was a difference in Rootstock compared to Ethereum, and it is that if one of the steps of the simulated transaction fails, the node would return the gas estimation needed for the transaction, while on Ethereum, the node would return an error instead of the gas estimation. Starting with `Arrowhead 6.5.0` this is not valid anymore, Rootstock will behave same way as Ethereum, returning an error if one of the steps of the simulated transaction fails. You can see this behavior on the following example, where we call `eth_estimateGas` for a transaction that would be executed from an address without enough balance. diff --git a/docs/03-node-operators/03-json-rpc/01-methods.md b/docs/03-node-operators/03-json-rpc/01-methods.md index c5692e3d..90253418 100644 --- a/docs/03-node-operators/03-json-rpc/01-methods.md +++ b/docs/03-node-operators/03-json-rpc/01-methods.md @@ -1089,8 +1089,7 @@ Note that when `eth_estimateGas` is called, the node simulates the transaction e The simulation runs through the entire transaction process as if it were being executed, including checking for sufficient balance, contract code execution, etc. During the simulation, the method calculates the exact amount of gas that would be consumed by the transaction if it were to be executed on the blockchain. The estimated gas amount is returned, helping users set an appropriate gas limit for the actual transaction. -There is a difference in Rootstock compared to Ethereum, and it is that if one of the steps of the simulated transaction fails, the node will return the gas estimation needed for the transaction, while on Ethereum, the node will return an error instead of the gas estimation. Starting with Arrowhead 6.4.0 this is -not valid anymore. +Until `Arrowhead 6.5.0`, there was a difference in Rootstock compared to Ethereum, and it is that if one of the steps of the simulated transaction fails, the node would return the gas estimation needed for the transaction, while on Ethereum, the node would return an error instead of the gas estimation. Starting with `Arrowhead 6.5.0` this is not valid anymore, Rootstock will behave same way as Ethereum, returning an error if one of the steps of the simulated transaction fails. You can see this behavior on the following example, where we call `eth_estimateGas` for a transaction that would be executed from an address without enough balance. From f941284b73093c6c8cded385504f51100babeb4e Mon Sep 17 00:00:00 2001 From: Owanate Amachree Date: Tue, 7 Jan 2025 13:36:48 +0200 Subject: [PATCH 4/4] minor update to text and add info callout --- .../03-blockchain-essentials/02-overview/index.md | 14 +++++++++++++- .../07-rpc-api/02-rootstock/02-methods.md | 14 +++++++++++++- docs/03-node-operators/03-json-rpc/01-methods.md | 14 +++++++++++++- 3 files changed, 39 insertions(+), 3 deletions(-) diff --git a/docs/02-developers/03-blockchain-essentials/02-overview/index.md b/docs/02-developers/03-blockchain-essentials/02-overview/index.md index 7d66080f..27573244 100644 --- a/docs/02-developers/03-blockchain-essentials/02-overview/index.md +++ b/docs/02-developers/03-blockchain-essentials/02-overview/index.md @@ -89,7 +89,19 @@ Note that when `eth_estimateGas` is called, the node simulates the transaction e The simulation runs through the entire transaction process as if it were being executed, including checking for sufficient balance, contract code execution, etc. During the simulation, the method calculates the exact amount of gas that would be consumed by the transaction if it were to be executed on the blockchain. The estimated gas amount is returned, helping users set an appropriate gas limit for the actual transaction. -Until `Arrowhead 6.5.0`, there was a difference in Rootstock compared to Ethereum, and it is that if one of the steps of the simulated transaction fails, the node would return the gas estimation needed for the transaction, while on Ethereum, the node would return an error instead of the gas estimation. Starting with `Arrowhead 6.5.0` this is not valid anymore, Rootstock will behave same way as Ethereum, returning an error if one of the steps of the simulated transaction fails. +:::info[Info] + +**Prior to Arrowhead 6.5.0**, there was a difference in Rootstock compared to Ethereum: + +- If one of the steps of the simulated transaction fails, the node would return the gas estimation needed for the transaction +- On Ethereum, the node would return an error instead of the gas estimation. + +**Starting with Arrowhead 6.5.0:** + +- Rootstock will behave same way as Ethereum's behavior for simulated transaction failures. +- If a simulated transaction step fails, the node will now return an error, mirroring Ethereum's response. + +::: You can see this behavior in the following example, where a call for `eth_estimateGas` on a transaction that would be executed from an address without enough balance. diff --git a/docs/02-developers/07-rpc-api/02-rootstock/02-methods.md b/docs/02-developers/07-rpc-api/02-rootstock/02-methods.md index 3289c353..0e1dffd5 100644 --- a/docs/02-developers/07-rpc-api/02-rootstock/02-methods.md +++ b/docs/02-developers/07-rpc-api/02-rootstock/02-methods.md @@ -199,7 +199,19 @@ Note that when `eth_estimateGas` is called, the node simulates the transaction e The simulation runs through the entire transaction process as if it were being executed, including checking for sufficient balance, contract code execution, etc. During the simulation, the method calculates the exact amount of gas that would be consumed by the transaction if it were to be executed on the blockchain. The estimated gas amount is returned, helping users set an appropriate gas limit for the actual transaction. -Until `Arrowhead 6.5.0`, there was a difference in Rootstock compared to Ethereum, and it is that if one of the steps of the simulated transaction fails, the node would return the gas estimation needed for the transaction, while on Ethereum, the node would return an error instead of the gas estimation. Starting with `Arrowhead 6.5.0` this is not valid anymore, Rootstock will behave same way as Ethereum, returning an error if one of the steps of the simulated transaction fails. +:::info[Info] + +**Prior to Arrowhead 6.5.0**, there was a difference in Rootstock compared to Ethereum: + +- If one of the steps of the simulated transaction fails, the node would return the gas estimation needed for the transaction +- On Ethereum, the node would return an error instead of the gas estimation. + +**Starting with Arrowhead 6.5.0:** + +- Rootstock will behave same way as Ethereum's behavior for simulated transaction failures. +- If a simulated transaction step fails, the node will now return an error, mirroring Ethereum's response. + +::: You can see this behavior on the following example, where we call `eth_estimateGas` for a transaction that would be executed from an address without enough balance. diff --git a/docs/03-node-operators/03-json-rpc/01-methods.md b/docs/03-node-operators/03-json-rpc/01-methods.md index 90253418..6abfbb38 100644 --- a/docs/03-node-operators/03-json-rpc/01-methods.md +++ b/docs/03-node-operators/03-json-rpc/01-methods.md @@ -1089,7 +1089,19 @@ Note that when `eth_estimateGas` is called, the node simulates the transaction e The simulation runs through the entire transaction process as if it were being executed, including checking for sufficient balance, contract code execution, etc. During the simulation, the method calculates the exact amount of gas that would be consumed by the transaction if it were to be executed on the blockchain. The estimated gas amount is returned, helping users set an appropriate gas limit for the actual transaction. -Until `Arrowhead 6.5.0`, there was a difference in Rootstock compared to Ethereum, and it is that if one of the steps of the simulated transaction fails, the node would return the gas estimation needed for the transaction, while on Ethereum, the node would return an error instead of the gas estimation. Starting with `Arrowhead 6.5.0` this is not valid anymore, Rootstock will behave same way as Ethereum, returning an error if one of the steps of the simulated transaction fails. +:::info[Info] + +**Prior to Arrowhead 6.5.0**, there was a difference in Rootstock compared to Ethereum: + +- If one of the steps of the simulated transaction fails, the node would return the gas estimation needed for the transaction +- On Ethereum, the node would return an error instead of the gas estimation. + +**Starting with Arrowhead 6.5.0:** + +- Rootstock will behave same way as Ethereum's behavior for simulated transaction failures. +- If a simulated transaction step fails, the node will now return an error, mirroring Ethereum's response. + +::: You can see this behavior on the following example, where we call `eth_estimateGas` for a transaction that would be executed from an address without enough balance.