You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* added ability to re-execute transactions locally
* debug ci
* debug ci
* soem small fixes
* updated rpc cache
* updated github ci
* fixed file paths
* re-enabled all tests
* updated readme
* fixed block number and timestamp in tx simulation. simulation now only during mapping decoding possible
* test fix
---------
Co-authored-by: Stefan Effenberger <stefan.effenberger@chainsecurity.com>
Copy file name to clipboardExpand all lines: README.md
+4-7Lines changed: 4 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -76,14 +76,12 @@ To successfully create DVFs for on-chain smart contracts, you need access to the
76
76
77
77
**Please note the following restrictions/requirements**:
78
78
79
-
1.While Blockscout and Etherscan API keys are optional, at least one of them is required to determine the deployment transaction of a contract. If you provide neither, you are limited to local RPC nodes with less than 100 blocks.
80
-
2.A Blockscout API key allows for faster execution.
79
+
1.The Blockscout API is required to fetch the transaction hashes of a contract. This API can only be omitted if you fetch transactions based on events.
80
+
2.The Etherscan API is optional but can be used instead of Blockscout to fetch the deployment transaction of a contract.
81
81
3. Your RPC node **must** support either `debug_traceTransaction` or `trace_transaction`.
82
-
4.Your RPC node **should** support `debug_traceTransaction` with [opcode logger](https://geth.ethereum.org/docs/developers/evm-tracing/built-in-tracers#struct-opcode-logger) enabled. Otherwise, `dv`won't be able to decode mapping keys.
82
+
4.For faster execution, your RPC node **may** support `debug_traceTransaction` with [opcode logger](https://geth.ethereum.org/docs/developers/evm-tracing/built-in-tracers#struct-opcode-logger) enabled. Otherwise, `dv`will locally re-execute all transactions which might increase execution time.
83
83
5. For faster execution, your RPC node **may** support `debug_storageRangeAt`.
84
84
85
-
The RPC provider [QuickNode](https://www.quicknode.com/) supports all aforementioned requirements. A full list of supported RPC providers may be added here at a later point in time.
86
-
87
85
To run `dv`, you can either [build from source](#building-from-source) it or use the pre-configured [Docker](#using-docker) image.
88
86
89
87
If you choose to install `dv`, the following dependencies have to be installed on your system:
@@ -614,9 +612,8 @@ This section will be updated soon.
614
612
- Empty-string mapping keys can currently not be decoded correctly.
615
613
- Big transaction traces (`debug_traceTransaction` with opcode logger) of multiple GB may cause a crash.
616
614
- Proxy Contracts without events when changing the implementation cannot be accurately secured, as implementation changes could be missed.
617
-
- Successfully running validation against an non-finalized block at height H does not guarantee, validity at height H.
615
+
- Successfully running validation against a non-finalized block at height H does not guarantee validity at height H.
618
616
- Missing optimizations can cause longer waiting times than necessary.
info!("Warning. The trace for {tx_hash} cannot be obtained. Some mapping slots might not be decodable. You can try to increase the timeout in the config. Error: {}", err);
236
+
}
237
+
ifletSome(anvil_instance) = anvil_instance {
238
+
stop_anvil_instance(anvil_instance);
239
+
}
240
+
}
241
+
Err(err) => {
216
242
missing_traces = true;
243
+
info!("Warning. The trace for {tx_hash} cannot be obtained. Some mapping slots might not be decodable. You can try to increase the timeout in the config. Error: {}", err);
217
244
}
218
-
}else{
219
-
found_trace = false;
220
-
missing_traces = true;
221
-
}
222
-
223
-
if !found_trace {
224
-
info!("Warning. The trace for {tx_hash} cannot be obtained. Some mapping slots might not be decodable.");
0 commit comments