Fantom-foundation / go-opera

Opera blockchain protocol secured by the Lachesis consensus algorithm
https://fantom.foundation/
GNU Lesser General Public License v3.0
283 stars 283 forks source link

Feature/transient storage opcodes #486

Open mprishchepo opened 1 year ago

mprishchepo commented 1 year ago

all: implement EIP-1153 transient storage Implements TSTORE and TLOAD as specified by the following EIP:

It is necessary to activate this functionality by commenting out the line (line 73) in the core/vm/jump_table.go file.

There is no additional standard EIP-4399 (prerandao) in the implementation, since there is no need to track the implementation without PoS in the go-opera system.

rus-alex commented 1 year ago

Looks like the changes are incomplete

go test ./evmcore/...
# github.com/Fantom-foundation/go-opera/evmcore [github.com/Fantom-foundation/go-opera/evmcore.test]
evmcore/chain_makers.go:94:12: b.statedb.SetTxContext undefined (type *state.StateDB has no field or method SetTxContext)
evmcore/state_prefetcher.go:69:11: statedb.SetTxContext undefined (type *state.StateDB has no field or method SetTxContext)
evmcore/state_processor.go:82:11: statedb.SetTxContext undefined (type *state.StateDB has no field or method SetTxContext)
evmcore/state_transition.go:285:11: st.state.Prepare undefined (type vm.StateDB has no field or method Prepare)
FAIL    github.com/Fantom-foundation/go-opera/evmcore [build failed]