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
Copy file name to clipboardExpand all lines: core/tracing/CHANGELOG.md
+55-11Lines changed: 55 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,6 +4,27 @@ All notable changes to the tracing interface will be documented in this file.
4
4
5
5
## [Unreleased]
6
6
7
+
### Deprecated methods
8
+
9
+
-`OnCodeChange(addr common.Address, prevCodeHash common.Hash, prevCode []byte, codeHash common.Hash, code []byte)`: This hook is deprecated in favor of `OnCodeChangeV2` which includes a reason parameter ([#32525](https://github.com/ethereum/go-ethereum/pull/32525)).
10
+
11
+
### New methods
12
+
13
+
-`OnCodeChangeV2(addr common.Address, prevCodeHash common.Hash, prevCode []byte, codeHash common.Hash, code []byte, reason CodeChangeReason)`: This hook is called when a code change occurs. It is a successor to `OnCodeChange` with an additional reason parameter ([#32525](https://github.com/ethereum/go-ethereum/pull/32525)).
14
+
15
+
### New types
16
+
17
+
-`CodeChangeReason` is a new type used to provide a reason for code changes. It includes various reasons such as contract creation, genesis initialization, EIP-7702 authorization, self-destruct, and revert operations ([#32525](https://github.com/ethereum/go-ethereum/pull/32525)).
-`GasChangeReason` has been extended with auto-generated String() methods for better debugging and logging ([#31234](https://github.com/ethereum/go-ethereum/pull/31234)).
24
+
-`NonceChangeReason` has been extended with auto-generated String() methods for better debugging and logging ([#31234](https://github.com/ethereum/go-ethereum/pull/31234)).
The tracing interface has been extended with backwards-compatible changes to support more use-cases and simplify tracer code. The most notable change is a state journaling library which emits reverse events when a call is reverted.
8
29
9
30
### Deprecated methods
@@ -23,8 +44,13 @@ The tracing interface has been extended with backwards-compatible changes to sup
23
44
24
45
### Modified types
25
46
26
-
-`VMContext.StateDB` has been extended with `GetCodeHash(addr common.Address) common.Hash` method used to retrieve the code hash an account.
47
+
-`VMContext.StateDB` has been extended with the following method:
48
+
-`GetCodeHash(addr common.Address) common.Hash` method used to retrieve the code hash of an account.
49
+
-`BlockEvent` has been modified:
50
+
- The `TD` (Total Difficulty) field has been removed ([#30744](https://github.com/ethereum/go-ethereum/pull/30744)).
27
51
-`BalanceChangeReason` has been extended with the `BalanceChangeRevert` reason. More on that below.
52
+
-`GasChangeReason` has been extended with the following reason:
53
+
-`GasChangeTxDataFloor` is the amount of extra gas the transaction has to pay to reach the minimum gas requirement for the transaction data. This change will always be a negative change.
28
54
29
55
### State journaling
30
56
@@ -49,21 +75,34 @@ The state changes that are covered by the journaling library are:
-`GasChangeReason` has been extended with the following reasons which will be enabled only post-Verkle. There shouldn't be any gas changes with those reasons prior to the fork.
57
-
-`GasChangeWitnessContractCollisionCheck` flags the event of adding to the witness when checking for contract address collision.
80
+
This release contains a change in behavior for `OnCodeChange` hook and an extension to the StateDB interface.
58
81
59
-
##[v1.14.12]
82
+
### Modified types
60
83
61
-
This release contains a change in behavior for `OnCodeChange` hook.
84
+
-`VMContext.StateDB` has been extended with the following method:
85
+
-`GetTransientState(addr common.Address, slot common.Hash) common.Hash` method used to access contract transient storage ([#30531](https://github.com/ethereum/go-ethereum/pull/30531)).
62
86
63
87
### `OnCodeChange` change
64
88
65
89
The `OnCodeChange` hook is now called when the code of a contract is removed due to a selfdestruct. Previously, no code change was emitted on such occasions.
-`OpContext` has been extended with the following method:
96
+
-`ContractCode() []byte` provides access to the contract bytecode within the OpContext interface ([#30466](https://github.com/ethereum/go-ethereum/pull/30466)).
-`GasChangeReason` has been extended with the following reasons which will be enabled only post-Verkle. There shouldn't be any gas changes with those reasons prior to the fork.
103
+
-`GasChangeWitnessContractCollisionCheck` flags the event of adding to the witness when checking for contract address collision.
104
+
105
+
67
106
## [v1.14.4]
68
107
69
108
This release contained only minor extensions to the tracing interface.
@@ -148,7 +187,12 @@ The hooks `CaptureStart` and `CaptureEnd` have been removed. These hooks signale
148
187
-`CaptureState` -> `OnOpcode(pc uint64, op byte, gas, cost uint64, scope tracing.OpContext, rData []byte, depth int, err error)`. `op` is of type `byte` which can be cast to `vm.OpCode` when necessary. A `*vm.ScopeContext` is not passed anymore. It is replaced by `tracing.OpContext` which offers access to the memory, stack and current contract.
149
188
-`CaptureFault` -> `OnFault(pc uint64, op byte, gas, cost uint64, scope tracing.OpContext, depth int, err error)`. Similar to above.
0 commit comments