upgrade to latest go-verkle
update go-verkle to get more fixes
simplify code by removing all stateless references (#25)
fix verkle proof test by enforcing values alignment to 32 bytes
remove unneeded KZG tag
fix the stateless test
Move AccessWitness into StateDB (#27)
* move AccessWitness into StateDB
* set Accesses in TxContext constructor
* Ensures that a statedb is initialized with a witness
* copy AccessWitness in StateDB.Copy. use copied state in miner worker.commit.
* remove redundant line
Co-authored-by: Guillaume Ballet <3272758+gballet@users.noreply.github.com>
Fix contract creation issue
verkle: Implement Trie, NodeIterator and Database ifs
Fix crash in TestDump
Fix TestDump
Fix TrieCopy
remove unnecessary traces
fix: Error() returned errIteratorEnd in verkle node iterator
rewrite the iterator and change the signature of OpenStorageTrie
add the adapter to reuse the account trie for storage
don't try to deserialize a storage leaf into an account
Fix statedb unit tests (#14)
* debug code
* Fix more unit tests
* remove traces
* Go back to the full range
One tree to rule them all
remove updateRoot, there is no root to update
store code inside the account leaf
fix build
save current state for Sina
Update go-verkle to latest
Charge WITNESS_*_COST gas on storage loads
Add witness costs for SSTORE as well
Charge witness gas in the case of code execution
corresponding code deletion
add a --verkle flag to separate verkle experiments from regular geth operations
use the snapshot to get data
stateless execution from block witness
AccessWitness functions
Add block generation test + genesis snapshot generation
test stateless block execution (#18)
* test stateless block execution
* Force tree resolution before generating the proof
increased coverage in stateless test execution (#19)
* test stateless block execution
* Force tree resolution before generating the proof
* increase coverage in stateless test execution
ensure geth compiles
fix issues in tests with verkle trees deactivated
Ensure stateless data is available when executing statelessly (#20)
* Ensure stateless data is available when executing statelessly
* Actual execution of a statless block
* bugfixes in stateless block execution
* code cleanup
- Reduce PR footprint by reverting NewEVM to its original signature
- Move the access witness to the block context
- prepare for a change in AW semantics
Need to store the initial values.
- Use the touch helper function, DRY
* revert the signature of MustCommit to its original form (#21)
fix leaf proofs in stateless execution (#22)
* Fixes in witness pre-state
* Add the recipient's nonce to the witness
* reduce PR footprint and investigate issue in root state calculation
* quick build fix
cleanup: Remove extra parameter in ToBlock
revert ToBlock to its older signature
fix import cycle in vm tests
fix linter issue
fix appveyor build
fix nil pointers in tests
Add indices, yis and Cis to the block's Verkle proof
upgrade geth dependency to drop geth's common dep
fix cmd/devp2p tests
fix rebase issues
quell an appveyor warning
fix address touching in SLOAD and SSTORE
fix access witness for code size
touch target account data before calling
make sure the proper locations get touched in (ext)codecopy
touch all code pages in execution
add pushdata to witness
remove useless code in genesis snapshot generation
testnet: fix some of the rebase/drift issues
Fix verkle proof generation in block
fix an issue occuring when chunking past the code size
fix: ensure the code copy doesn't extend past the code size
* all: work for eth1/2 transtition
* consensus/beacon, eth: change beacon difficulty to 0
* eth: updates
* all: add terminalBlockDifficulty config, fix rebasing issues
* eth: implemented merge interop spec
* internal/ethapi: update to v1.0.0.alpha.2
This commit updates the code to the new spec, moving payloadId into
it's own object. It also fixes an issue with finalizing an empty blockhash.
It also properly sets the basefee
* all: sync polishes, other fixes + refactors
* core, eth: correct semantics for LeavePoW, EnterPoS
* core: fixed rebasing artifacts
* core: light: performance improvements
* core: use keyed field (f)
* core: eth: fix compilation issues + tests
* eth/catalyst: dbetter error codes
* all: move Merger to consensus/, remove reliance on it in bc
* all: renamed EnterPoS and LeavePoW to ReachTDD and FinalizePoS
* core: make mergelogs a function
* core: use InsertChain instead of InsertBlock
* les: drop merger from lightchain object
* consensus: add merger
* core: recoverAncestors in catalyst mode
* core: fix nitpick
* all: removed merger from beacon, use TTD, nitpicks
* consensus: eth: add docstring, removed unnecessary code duplication
* consensus/beacon: better comment
* all: easy to fix nitpicks by karalabe
* consensus/beacon: verify known headers to be sure
* core: comments
* core: eth: don't drop peers who advertise blocks, nitpicks
* core: never add beacon blocks to the future queue
* core: fixed nitpicks
* consensus/beacon: simplify IsTTDReached check
* consensus/beacon: correct IsTTDReached check
Co-authored-by: rjl493456442 <garyrong0905@gmail.com>
Co-authored-by: Péter Szilágyi <peterke@gmail.com>
* all: mv loggers to eth/tracers
* core/vm: minor
* eth/tracers: tmp comment out testStoreCapture
* eth/tracers: uncomment and fix logger test
* eth/tracers: simplify test
* core/vm: re-add license
* core/vm: minor
* rename LogConfig to Config
This PR fixes two problems in devp2p tests (and through them, hive).
- Make the output more detailed about what is returned (always print packet kind).
- Allow Ping response to unsolicited findnode.
Without this PR, nethermind fails a hive protocol test, and I misinterpreted the result (NethermindEth/nethermind#3617). Ergo, the output was not fool-proof.
* cmd/evm: rename t8n args to improve clarity when tracing
* cmd/evm: add back removed tracing flags and note that they are deprecated
* cmd/evm: add warning when using deprecated flag
This fixes a bug in TransactionSender where it would return the
zero address for transactions where the sender address wasn't
cached already.
Co-authored-by: Felix Lange <fjl@twurst.com>
* cmd, core: add flag --dev.gaslimit to allow configuring initial block gas limit in dev mode
* core: use provided gaslimit
Co-authored-by: Martin Holst Swende <martin@swende.se>
This was apparently recently changed by Cloudflare, and
began returning an error: 'TTL must be between 60 and 86400
seconds, or 1 for Automatic'
Date: 2021-11-10 15:25:20-08:00
Signed-off-by: meows <b5c6@protonmail.com>
Debugging recent geth failures in hive, it took a while to realize that it's because
geth doesn't support eth/65 any longer. This PR makes such failures a bit more
easy to figure out.
The price limit is supposed to exclude transactions with too low fee
amount. Before EIP-1559, it was sufficient to check the limit against
the gas price of the transaction. After 1559, it is more complicated
because the concept of 'transaction gas price' does not really exist.
When mining, the price limit is used to exclude transactions below a
certain effective fee amount. This change makes it apply the same check
earlier, in tx validation. Transactions below the specified fee amount
cannot enter the pool.
Fixes#23837