Commit graph

696 commits

Author SHA1 Message Date
rjl493456442
743e404906
core, eth, les, tests, trie: abstract node scheme (#25532)
This PR introduces a node scheme abstraction. The interface is only implemented by `hashScheme` at the moment, but will be extended by `pathScheme` very soon.

Apart from that, a few changes are also included which is worth mentioning:

-  port the changes in the stacktrie, tracking the path prefix of nodes during commit
-  use ethdb.Database for constructing trie.Database. This is not necessary right now, but it is required for path-based used to open reverse diff freezer
2022-11-28 14:31:28 +01:00
Paweł Bylica
eb01927e46
tests: update evm-benchmarks (#26255)
tests: update evm-benchmarks
2022-11-28 11:13:41 +01:00
Marius van der Wijden
ec2ec2d08e
core: implement EIP-3651, warm coinbase (#25819)
Implements EIP-3651, "Warm Coinbase", for Shanghai hardfork. Specification: https://eips.ethereum.org/EIPS/eip-3651.
2022-11-22 22:39:52 +01:00
Mark Tyneway
b4ea2bf7dd
all: implement EIP-1153 transient storage (#26003)
Implements TSTORE and TLOAD as specified by the following EIP:

https://eips.ethereum.org/EIPS/eip-1153
https://ethereum-magicians.org/t/eip-1153-transient-storage-opcodes/553


Co-authored-by: Sara Reynolds <snreynolds2506@gmail.com>
Co-authored-by: Martin Holst Swende <martin@swende.se>
Co-authored-by: Gary Rong <garyrong0905@gmail.com>
2022-11-16 10:18:52 +01:00
Arpit Temani
4642045a4c Merge branch 'arpit/pos-655' of github.com:maticnetwork/bor into shivam/POS-972 2022-11-15 15:00:47 +05:30
Shivam Sharma
846abac772 fix : failing TestJaipurFork 2022-11-15 11:30:50 +05:30
Arpit Temani
102d293609 fix tests 2022-11-15 00:57:47 +05:30
Shivam Sharma
7d92be2f17 fix : jaipurFork & baseFeeChangeDenom hardfork num to bigInt 2022-11-14 17:52:55 +05:30
Shivam Sharma
f768136102 init : baseFeeChangeDenom HardFork Changes 2022-11-14 17:38:12 +05:30
Arpit Temani
a4cbe442d8 skip test 2022-11-14 16:18:06 +05:30
Arpit Temani
3da2f650cb fix lints 2022-11-14 12:18:05 +05:30
Arpit Temani
dd9147dcd7 fix testcases 2022-11-14 11:36:54 +05:30
Arpit Temani
b7a282792c merge develop 2022-11-13 19:05:26 +05:30
Arpit Temani
817ca2a2ba add 2 node testcase 2022-11-13 17:28:47 +05:30
Raneet Debnath
41fddd6a5e pos-845: efficient ticker 2022-11-09 21:25:30 +05:30
Raneet Debnath
82bf6d0c37
defer ticker.Stop
Co-authored-by: Evgeny Danilenko <6655321@bk.ru>
2022-11-09 19:32:43 +05:30
Raneet Debnath
27cd2ae11a pos-845: parallelise subtests 2022-11-09 18:19:28 +05:30
Raneet Debnath
3e4b872e16 pos-845: subtests 2022-11-09 16:21:05 +05:30
Péter Szilágyi
a6dda03644
all: refactor txpool into it's own package in prep for 4844 2022-10-24 16:35:53 +03:00
Raneet Debnath
1ae3d42866 fix: address PR comments 2022-10-20 00:43:43 +05:30
Arpit Temani
be7327e72d fix ci 2022-10-19 23:14:36 +05:30
Arpit Temani
fe5b6adac0 refactor 2022-10-19 22:49:15 +05:30
Arpit Temani
4afed25f7a disabling tests for now 2022-10-19 22:14:10 +05:30
Arpit Temani
1ffbfa4086 go routine for test 2022-10-19 02:05:20 +05:30
Raneet Debnath
793f8e1292 pull changes 2022-10-18 23:47:27 +05:30
Martin Holst Swende
15b7e0b254
common/math, tests/fuzzers: use big.Int clone (#26006)
* common/math, tests/fuzzers: use big.Int clone

* common/math: license
2022-10-18 15:42:16 +02:00
Arpit Temani
916c7d8196 increase max reorg len 2022-10-18 15:26:17 +05:30
Arpit Temani
a8a2d5d7e1 refactor testcase 2022-10-18 15:13:54 +05:30
Arpit Temani
e39da65458 modified testcase, modified producer delay 2022-10-18 00:44:48 +05:30
Arpit Temani
69e2a22819 results for 1000 cases 2022-10-13 00:52:26 +05:30
Felix Lange
e257b3add7
tests/fuzzers/modexp: gofmt (#25972) 2022-10-12 10:39:21 +02:00
Martin Holst Swende
bed3b10086
common/math: optimized modexp (+ fuzzer) (#25525)
This adds a 
* core/vm, tests: optimized modexp + fuzzer

* common/math: modexp optimizations

* core/vm: special case base 1 in big modexp

* core/vm: disable fastexp
2022-10-12 10:34:52 +02:00
Raneet Debnath
fdd7988e94 fix: PR comments 2022-10-12 09:29:40 +05:30
Arpit Temani
d5fdc0aea7 multiple testcases 2022-10-11 17:53:19 +05:30
Martin Holst Swende
5a02b2d6d0
all: fix spelling mistakes (#25961) 2022-10-11 09:37:00 +02:00
Raneet Debnath
0218f17bc0 new: add more cases 2022-10-07 16:00:34 +05:30
Shivam Sharma
c0b8375d70 add : functional TestSprintLengthReorg 2022-10-06 17:13:29 +05:30
Raneet Debnath
4e7cf125ae new: add cases 2022-10-06 13:12:39 +05:30
Shivam Sharma
58170b6141 chg : changes 2022-10-05 16:55:39 +05:30
Shivam Sharma
f98eb40871 changes 2022-10-05 13:48:57 +05:30
Shivam Sharma
fc16da5c76 add : minor changes 2022-10-04 17:44:23 +05:30
Arpit Temani
067c037859 testcase 2022-10-04 13:23:18 +05:30
Martin Holst Swende
ee301c750b
all: fix docstrings 2022-10-04 09:18:02 +02:00
Arpit Temani
67554f7d1d merge develop 2022-10-04 12:34:35 +05:30
Shivam Sharma
c8b2dd1649 add : TestSprintDependantReorgs init 2022-10-03 18:44:57 +05:30
Arpit Temani
2a6ea470a0
Mining Analysis (#429)
* base setup for miner opentel

* version change

* modify ctx passing

* add attributes

* update fill txs span attributes

* fix: use common attributes for remote and local txs

* pass context in seal

* fix

* fix

* add traces to finalize and assemble

* fix

* use task ctx in result loop

* only start parent span if no error

* send nil tracer from Finalize

* clean up

* add sub function timings in span attribute

* modify span attributes

* set time attribute to milliseconds

* linters fix

* fix linters for consensus

* add nolint to worker

* fix testcase

* Added fillTransactions subTraces

* add traces in intermediate root hash function

* add traces in WriteBlockAndSetHead function, fix linters

* fix: linting errors

* fix: test cases

* fix: go.mod

* fix: testcase

* extract tracing package

* linters fix

* debug

* Revert "debug"

This reverts commit 2d68b7c7b1105080563a4e1a6949dabc10acaff8.

* fix: panic in NewTransactionsByPriceAndNonce iteration

* change heimdall version to develop

* miner/worker: fix duplicate call to tx ordering

* miner/worker: refactor tracing

* consensus/bor: use tracing package

* tracing: add more abstraction for spans

* tracing: set all attributes at once

* remove nested tracing from blockchain.WriteBlockAndSetHead function

* remove nested tracing from statedb.IntermediateRoot function

* handle end span in bor.Seal function

* fix: typo

* minor fixes

* fix: linters

* fix: remove nolint

* go mod tidy

Co-authored-by: Manav Darji <manavdarji.india@gmail.com>
Co-authored-by: Shivam Sharma <shivam691999@gmail.com>
Co-authored-by: Evgeny Danienko <6655321@bk.ru>
2022-09-30 13:40:18 +05:30
Raneet Debnath
09e62ca35c new: assert block authors 2022-09-29 12:15:29 +05:30
Raneet Debnath
5b324f4b84 new: add some more checks 2022-09-29 11:15:56 +05:30
Raneet Debnath
8d5f66b7ad new: init pos-845 testcase 2022-09-28 21:25:19 +05:30
Alexey Shekhirin
53d68feea8
tests: report mgas/s metric in evm benchmarks (#25700)
* test(state): report mgas/s metric in EVM benchmark

* revert testdata submodule update

* aggregate mgas/s results

* calculate elapsed time better

* tests: benchmarks - handle access list + take refund into account

Co-authored-by: Martin Holst Swende <martin@swende.se>
2022-09-28 10:39:20 +02:00
Arpit Temani
f6875757bf merge develop 2022-09-27 15:04:08 +05:30
rjl493456442
bff84a99fe
cmd, core, eth, les, light: track deleted nodes (#25757)
* cmd, core, eth, les, light: track deleted nodes

* trie: add docs

* trie: address comments

* cmd, core, eth, les, light, trie: trie id

* trie: add tests

* trie, core: updates

* trie: fix imports

* trie: add utility print-method for nodeset

* trie: import err

* trie: fix go vet warnings

Co-authored-by: Martin Holst Swende <martin@swende.se>
2022-09-27 10:01:02 +02:00
meowsbits
3ec6fe6101
tests: fix state test error checking (#25702)
Some tests define an 'expectException' error but the tests runner does not check for conditions where this test value is filled (error expected) but in which no error is returned by the test runner.

An example of this scenario is GeneralStateTests/stTransactionTest/HighGasPrice.json, which expects a 'TR_NoFunds' error, but the test runner does not return any error.

Signed-off-by: meows <b5c6@protonmail.com>
2022-09-26 16:00:56 +02:00
Raneet Debnath
2db0dc8606 new: comments and cleanup 2022-09-26 17:26:05 +05:30
rjl493456442
3da42f85d9
all: clean up the configs for pruner and snapshotter (#22396)
This PR cleans up the configurations for pruner and snapshotter by passing a config struct.

And also, this PR disables the snapshot background generation if the chain is opened in "read-only" mode. The read-only mode is necessary in some cases. For example, we have a list of commands to open the etheruem node in "read-only" mode, like export-chain. In these cases, the snapshot background generation is non expected and should be banned explicitly.
2022-09-23 20:20:36 +02:00
Zachinquarantine
9b35f3f5b1
tests, les, eth: remove mentions of deprecated Morden testnet (#23570)
* remove morden

* Update commons.go

* Update handler.go

* empty commit to make appveyor happy
2022-09-23 19:33:15 +02:00
Raneet Debnath
0eec63716b new: unskip stCreateTest 2022-09-23 16:23:32 +05:30
Raneet Debnath
ae5323de02 new: unskip evm-benchmark tests 2022-09-23 11:42:10 +05:30
Arpit Temani
a7c11d51a0 fix testcases 2022-09-22 22:36:51 +05:30
Raneet Debnath
aa2ce7afb0 fix: add bor config 2022-09-22 18:00:23 +05:30
Arpit Temani
d71c6be482 change matic-cli version 2022-09-22 17:36:37 +05:30
Arpit Temani
cf35be19df edit genesis test file 2022-09-22 14:41:57 +05:30
Arpit Temani
4dc6651147 refactor tests 2022-09-22 14:31:44 +05:30
Arpit Temani
623d1ecf12 add unittest for calculate sprint 2022-09-22 14:28:52 +05:30
Arpit Temani
7e635edf23 refactor tests 2022-09-22 13:59:56 +05:30
Arpit Temani
9f85e71935 add tests 2022-09-22 13:19:59 +05:30
Raneet Debnath
cfb7a1cd1c new: unskip failing tests 2022-09-22 09:37:27 +05:30
Felix Lange
b628d72766
build: upgrade to go 1.19 (#25726)
This changes the CI / release builds to use the latest Go version. It also
upgrades golangci-lint to a newer version compatible with Go 1.19.

In Go 1.19, godoc has gained official support for links and lists. The
syntax for code blocks in doc comments has changed and now requires a
leading tab character. gofmt adapts comments to the new syntax
automatically, so there are a lot of comment re-formatting changes in this
PR. We need to apply the new format in order to pass the CI lint stage with
Go 1.19.

With the linter upgrade, I have decided to disable 'gosec' - it produces
too many false-positive warnings. The 'deadcode' and 'varcheck' linters
have also been removed because golangci-lint warns about them being
unmaintained. 'unused' provides similar coverage and we already have it
enabled, so we don't lose much with this change.
2022-09-10 13:25:40 +02:00
rjl493456442
dea1fb3cfc
all: cleanup tests (#25641)
Follow-up to PR #25523 to cleanup all relevant tests.
2022-09-07 20:21:59 +02:00
Arpit Temani
e5b8af5626 fix testcases 2022-09-05 16:17:50 +04:00
Arpit Temani
06858386bf Merge branch 'shiva/pos-730' of github.com:maticnetwork/bor into arpit/pos-655 2022-09-05 10:43:17 +04:00
Arpit Temani
c6c2e74919 Merge branch 'develop' of github.com:maticnetwork/bor into arpit/pos-655 2022-09-05 10:36:52 +04:00
Shivam Sharma
9ac97e03fc chg : minor changes 2022-09-02 13:58:00 +05:30
Shivam Sharma
a2dc545fac rm : interrupt + sleep 2022-08-31 19:34:38 +05:30
Shivam Sharma
5067c6cdeb add : TestValidatorWentOffline 2022-08-31 19:05:36 +05:30
rjl493456442
d10c280309
all: move genesis initialization to blockchain (#25523)
* all: move genesis initialization to blockchain

* core: add one more check

* core: fix tests
2022-08-30 18:22:28 +02:00
rjl493456442
a41ea8a97c
all: cleanup the APIs for initializing genesis (#25473)
* all: polish tests

* core: apply feedback from Guillaume

* core: fix comment
2022-08-09 12:44:39 +03:00
rjl493456442
8b53b92eb4
core, trie: rework trie committer (#25320)
* all: rework trie and trie committer

* all: get rid of internal cache in trie

* all: fixes

* trie: polish

* core, trie: address comments

* trie: fix imports

* core/state: address comments

* core/state/snapshot: polish

* trie: remove unused code

* trie: update tests

* trie: don't set db as nil

* trie: address comments

* trie: unskip test
2022-08-04 11:03:20 +03:00
Shivam Sharma
6b651f4956 rm : t.parallel() 2022-08-03 23:26:45 +05:30
Shivam Sharma
460bd4dde7 fix : tests 2022-08-03 16:42:01 +05:30
Shivam Sharma
d5e51c9f76 add : more comments 2022-08-03 16:05:45 +05:30
Shivam Sharma
d3231c0884 fix :GetTransactionByBlockNumberAndIndex + testGetTransactionByBlockNumberAndIndex 2022-08-03 15:29:24 +05:30
Shivam Sharma
a69109ce5e fix : removed debug logs 2022-08-02 10:34:25 +05:30
Shivam Sharma
423734c0d4 fix : deferred close() + lint 2022-08-02 01:19:42 +05:30
Shivam Sharma
b18370be6a fix : TestGetTransactionReceiptsByBlock 2022-08-02 00:57:42 +05:30
Delweng
b196ad1c16
all: add whitespace linter (#25312)
* golangci: typo

Signed-off-by: Delweng <delweng@gmail.com>

* golangci: add whietspace

Signed-off-by: Delweng <delweng@gmail.com>

* *: rm whitesapce using golangci-lint

Signed-off-by: Delweng <delweng@gmail.com>

* cmd/puppeth: revert accidental resurrection

Co-authored-by: Péter Szilágyi <peterke@gmail.com>
2022-07-25 13:14:03 +03:00
Arpit Temani
062ea8b505 sprint type change 2022-07-21 17:20:15 +05:30
Shivam Sharma
68f440a35f fix : integration test package 2022-07-20 16:58:40 +05:30
Shivam Sharma
43b18b7038 chg : moved TestBorFilters to tests/bor 2022-07-18 13:43:36 +05:30
Marius van der Wijden
a54a230a08
tests: only activate merge on london rules (#25239) 2022-07-15 15:01:07 +03:00
Manav Darji
c44693706a
RFC35/Common Ancestor: Modifying the forkchoice rule (#425)
* initial

* update

* fix: add validator to NewBlockchain function calls

* handle past chain reorg

* fix: only check with last checkpoint

* rm logs

* add: handle future chain import case

* fix: handle single block case

* add unit tests for past and future chain

* modularise forker tests

* minor fixes

* add: overlapping chain test case, minor fixes

* minor fixes

* add: isolated unit test for IsValidChain

* add more test case for IsValidChain

* fix: use index for header time

* add: fetch last N checkpoints in first run

* fix: change checkpoint count to int64

* fix: handle edge case

* fix: handle no checkpoint case separately

* fix: consider offset for future chain calculation

* re-write test case for split chain

* fix: typo

* add: split chain properties test

* separate reorg checks, validate chain before inserting

* fix: handle err incase of invalid chain

* fix: use error from whitelist service

* split chain property tests

* remove duplicate test cases

* cleanup

* clean up

* fix linters

* fix: fetch checkpoint count bug, add tests

* fix more linters

* fix: handle nil chain validator in downloader

* fix: mock bor tests

Co-authored-by: Evgeny Danienko <6655321@bk.ru>
2022-07-15 10:37:35 +05:30
Arpit Temani
7b25997830
Reciept e2e test (#431)
* initial

* fixed tests

* eip155 tests

* progress

* fix

* fix TestFetchStateSyncEvents*

* debug

* fixed with updated list of validators

* fix

* a bit more stable

* optimize allocations

* linters

* fix vals copy

* a bit of refactoring

* update TestGetTransactionReceiptsByBlock

* remove logs from TestGetTransactionReceiptsByBlock in favour of checks

* comments

* Linters

* linters

* fixes after merge

* fixes after merge

* fixes after merge

* fixes after merge

* fail fast

Co-authored-by: Evgeny Danienko <6655321@bk.ru>
2022-07-14 19:28:56 +03:00
Evgeny Danilenko
3c42bfc633
add context to Fetch* methods (#445)
* add context

* fix mocks

* fixes after CR

* fixes

* fix

* Linters
2022-07-13 09:07:32 +03:00
Marcello Ardizzone
752878d3c2 new: dev: pos-398 update testdata and skip last failing tests 2022-07-12 14:29:56 +02:00
Marcello Ardizzone
01bebeb22e new: dev: pos-398 remove merge error check on state tests 2022-07-12 11:55:47 +02:00
Marcello Ardizzone
56eefc6a0b new: dev: pos-398 restore old testing way 2022-07-12 11:53:30 +02:00
Marcello Ardizzone
cd366c64d8 new: dev: pos-398 move testdata to last stable release via tag v10.4 2022-07-07 11:12:57 +02:00
Marcello Ardizzone
f0d85e3703 new: dev: pos-398 remove unused bor tests derived from geth 2022-07-07 10:49:30 +02:00
Marcello Ardizzone
de1330aae6 new: dev: pos-398 comment for jira issue 2022-07-07 10:44:52 +02:00
Marcello Ardizzone
75d5646ef2 new: dev: pos-398 skipLoad stChangedEIP150 2022-07-07 10:08:39 +02:00