Commit graph

15585 commits

Author SHA1 Message Date
Pratik Patil
1f9c6bb045
version bump to 1.0.2-beta 2023-09-13 15:36:31 +05:30
Pratik Patil
67fc4d87fb
Added a new RPC endpoint (bor_sendRawTransactionConditional) to support EIP-4337 Bundled Transactions (#945)
* added new api to support conditional transactions (EIP-4337) (#700)

* Refactored the code and updated the miner to check for the validity of options (#793)

* refactored the code and updated the miner to check for the validity of options

* added new errors -32003 and -32005

* added unit tests

* addressed comments

* Aa 4337 update generics (#799)

* poc

* minor bug fix

* use common.Hash

* updated UnmarshalJSON function (reference - tynes)

* fix

* done

* linters

* with test

* undo some unintentional changes

---------

Co-authored-by: Pratik Patil <pratikspatil024@gmail.com>

* handelling the block range and timestamp range, also made timestamp a pointer

---------

Co-authored-by: Evgeny Danilenko <6655321@bk.ru>

* Added filtering of conditional transactions in txpool (#920)

* added filtering of conditional transactions in txpool

* minor fix in ValidateKnownAccounts

* bug fix

* Supporting nil knownAccounts

* lints

* bundled transactions are not announced/broadcasted to the peers

* fixed after upstream merge

* few fixes

* sentry reject conditional transaction

* Changed the namespace of conditional transaction API from `eth` to `bor` (#985)

* added conditional transaction to bor namespace

* test comit

* test comit

* added conditional transaction

* namespapce changed to bor

* cleanup

* cleanup

* addressed comments

* reverted changes in ValidateKnownAccounts

* addressed comments and removed unwanted code

* addressed comments

* bug fix

* lint

* removed licence from core/types/transaction_conditional_test.go

---------

Co-authored-by: Evgeny Danilenko <6655321@bk.ru>
2023-09-13 08:28:00 +05:30
Pratik Patil
3442c0336d
Merge pull request #998 from maticnetwork/v1.0.0-beta-candidate
V1.0.0 beta candidate
2023-09-12 21:41:19 +05:30
Vaibhav Jindal
47ad9e4c6f Rmv:Removed GetVoteOnHash() fn from consensus/bor/api.go 2023-09-12 16:39:08 +05:30
Vaibhav Jindal
43d54c4456 Implemented the GetVoteOnHash under Bor namespace 2023-09-12 16:39:08 +05:30
rroblak
ebc7dc231a
Add CLI flags to config LevelDB table/total sizes (#981)
* Add CLI flags to config LevelDB table/total sizes

I wired up CLI flags to allow configuring LevelDB table and total sizes:
  - `--leveldb.compaction.table.size`, LevelDB SSTable file size factor in MiB (default: 2)
  - `--leveldb.compaction.table.multiplier`, multiplier on LevelDB SSTable file size (default: 1)
  - `--leveldb.compaction.total.size`, total size factor in MiB of LevelDB levels (default: 10)
  - `--leveldb.compaction.total.multiplier`, multiplier on LevelDB total level size (default: 10)

N.B. that the default values for these configs are exactly the same as
before this changset and so Bor behavior should not change unless these
flags are deliberately overridden. Bor/Geth inherited the default values
from [the `goleveldb`
defaults](126854af5e/leveldb/opt/options.go).

We (Alchemy) found it necessary to override these configs as follows to
keep Bor archive nodes tracking the canonical chain:
  - `--leveldb.compaction.table.size=4`
  - `--leveldb.compaction.total.size=20`

These overrides double the size of LevelDB SSTable files (2 MiB -> 4
MiB) and also the total amount of data in each level (100 MiB -> 200
MiB, 1,000 MiB -> 2,000 MiB, etc.). The idea is to have LevelDB read and
write data in larger chunks while keeping the proportional frequency of
compaction operations the same as in the original defaults defined by
Dean and Ghemawat.

Without these overrides we found that our archive nodes would tend to
fall into a "LevelDB compaction loop of death" where the incoming stream
of blockchain data could not be flowed into LevelDB's structure quickly
enough, resulting in the node blocking writes for long periods of time
while LevelDB's single-threaded compaction organized the data.  Over
time the nodes would fall farther and farther behind the canonical chain
head, metaphorically dying a slow node's death.

These configs can be changed on existing node databases (resyncing is
not necessary). LevelDB appears to work correctly with SSTable files of
different sizes. Note that the database does not undergo any sort of
migration when changing these configs. Only newly-written files (due to
new data or compaction) are affected by these configs.

* Update docs

* Adjust line spacing for linter

* Replace map with `ExtraDBConfig`

* Rename `LevelDbConfig` to `ExtraDBConfig`

* Regenerate docs
2023-09-12 12:09:26 +02:00
Jerry
07d7c6c6e2
Update mumbai bootnodes 2023-09-11 11:44:36 -07:00
Jerry
d75081df72
Update mainnet bootnodes 2023-09-11 11:09:52 -07:00
marcello33
3344026585 internal/ethapi: sort imports in api_test 2023-09-11 10:29:18 +02:00
marcello33
c1aa41d28c internal/ethapi: fix linter 2023-09-11 09:50:44 +02:00
marcello33
76ef290edc internal/ethapi: use model for check 2023-09-11 09:15:23 +02:00
marcello33
eab7c9de0d internal/ethapi: use receipt inner field for check and implement tests 2023-09-11 09:06:06 +02:00
marcello33
fca0d89227 internal/ethapi: default effectiveGasPrice when nil 2023-09-11 07:46:45 +02:00
marcello33
19826950a8 core/types: fix receipt EffectiveGasPrice unmarshaling 2023-09-08 17:45:36 +02:00
Raneet Debnath
50d4f10a8b
Merge pull request #987 from maticnetwork/raneet10/pos-1781
CI: Increase smoke test timeout
2023-09-06 15:03:57 +05:30
Raneet Debnath
c5e6c79981
ci: increase smoke test timeout 2023-09-06 13:27:23 +05:30
Manav Darji
530a2331bf
.github/workflows: run more parallel CI jobs (#976)
* .github/workflows: run parallel CI jobs

* undo
2023-09-05 16:13:16 +05:30
SHIVAM SHARMA
4d96b145e4
miner/worker :: add : start commit work only after connecting to peers (#977)
* add : start commit work only after connecting to peers

* fix : chainconfig fix

* chg : change test and unitTest chainconfigs chainID from 80001

* fix : p2p server deadlock
2023-08-31 10:58:57 +05:30
dependabot[bot]
aea4881517
build(deps): bump github.com/docker/docker from 1.6.2 to v24.0.5+incompatible (#963) 2023-08-31 06:55:04 +02:00
Daniel Jones
1beedc7441
Merge pull request #980 from maticnetwork/djpolygon/remove_1804_runner
EOL 18.04 Support
2023-08-30 06:51:10 -05:00
Daniel Jones
bf3df86437
Adjusting the builder of bor, using 20.04 instead of now EOL 18.04 runner 2023-08-29 12:35:30 -05:00
Arpit Temani
40f329f7bc
Merge pull request #978 from maticnetwork/arpit/merge-latest-branch
Arpit/merge latest branch
2023-08-29 22:00:17 +05:30
Arpit Temani
b32521d456 version change for milestones 2023-08-29 17:50:05 +05:30
Arpit Temani
f10517918e Merge tag 'v0.5.0-beta-6' of github.com:maticnetwork/bor into arpit/merge-latest-branch 2023-08-29 17:44:54 +05:30
Shivam Sharma
d7478f726e bump : version to 0.5.0-beta-6 2023-08-29 00:01:54 +05:30
SHIVAM SHARMA
969caeb99b
Merge pull request #975 from maticnetwork/shivam/POS-1780
fix : eth_getLogs
2023-08-28 23:59:02 +05:30
Arpit Temani
b48b89f852
all: implement milestones (#961)
* Milestone Implementation

* Merge branch 'POS-347' into reciept-e2e-test

* Changes for testing, will be removed after testing

* Debugged the error

* Just for testing purpose

* refactor debug api methods, rename whitelist -> checkpoint

* remove first iteration based vars

* fix linters

* Rewind Changes

* Error changes

* RewindBack function in bor_checkpoint_verifier

* Testcases

* Added the fetch test for milestone and checkpoint

* Debugged the lint changes

* Debugged the lint changes

* Debugged the lint changes

* Debugged the lint changes

* Improved the error in Miner test file

* Improved the error of pointing to the wrong function

* Locking the sprint after the vote has been made on it.

* Adding more logs for testing

* Adding more logs for testing

* Adding more logs for testing

* Implemented the NoAckMilestone fetching mechanism

* Testcases for milestone implementation

* Testing code  for fetchNoAckMilestone and fetchLastNoAckMilestone

* Testing changes

* refactor else-if

* Corrected the number of params in bor_ext.go

* Dummy API for testing

* Defined the GetVoteOnRootHash in interface

* Defined the GetVoteOnRootHash in interface

* Made changes in the web3ext file

* Added the GetVoteOnRootHash in PublicBlockChain API

* Added the GetVoteOnRootHash in filterBackend

* Added the log of Root and RooHash

* Removed the 0x from rootHash

* Just for testing purpose

* "GetVoteOnRootHash" mock implementation

* bor_test.go

* Added the test for milestone implementation

* Added service for fetching milestone by ID

* Improved the comments

* Removed the duplicate code

* use setter for borVerifier

* use setter for borVerifier

* refactor handleNoAckMilestone

* remove code repetition with retry function

* Converged the repetitive code

* after CR

* persistence

* persistence implementation

* feature flag

* Persistence Changes

* cr

* initial

* fix

* fix

* Whitelist Flag

* 1 Add:Included the milestone flag  2.Add:Hardlimit the rewind to maximum of 255 blocks

* Chg:Updated go.mod file

* Remove:Dubai Hardfork code

* Add:checked errors for call functions to the Db, Rmv: Remote Header variable from the IsValidPeer() function

* Fix:Linting issues'

* Add:MilestoneGRPC functions

* Fix:Lint issues

* Fix:Lint issues

* Fix: TestFetchMilestoneFromMockHeimdall

* Fix:Integrations tests

* Add:Test for sprint length and milestone changes

* Add:Functionality to fetch the finalized block

* Chg:Changed default val of TriesInmemory to 1024

* fix:Some functions of heimdallGRPC client

* Restored the GRPC functionality, was commented out for  developing purpose

* Fix:Bor_checkpoint_Verfier function

* Test:Added the chain Rewinding test

* Test:Added the Sprint Length + Milestone merge test

* Add:Implemented the future milestone

* Add:Future milestone changes

* Add:Future milestone changes

* Chg: Voting on endBlockHash rather than rootHash

* Chg: Changed the logic of future milestone from rootHash checking to endBlockHash checking

* Fix:Using endBockHash while verifying the incoming milestone

* Chg:Variable names for better readiblity

* Fix:Testing changes

* Add:metrics for milestone implementation

* Add:Metrics for milestone implementatian

* Fix:Order of statements in a function for better optimization

* Chg:Removed unrequired file

* Fix:new variable intialization

* Add:Comment to increase readiblity

* Fix:Logs

* Chg:Name of GetVoteOnRootHash to GetVoteOnHash

* Fix:Linting issues

* Fixed linting issues

* Rmv: Unnecessary logs and Add:Skip test for long tests

* Fix:Checking current chain with whitelisted milestone or checkpoint in Finalized block function

* Fix:Test

* Fix:Whitelisting of Milestone and Checkpoint process

* Fix: Milestone JSON structure

* Chg:Testcases changes

* Fix:Change from VoteOnRootHash to VoteOnHash

* Fix:Variable name fix

* Fix:Finalized API

* internal/jsre/deps: update web3.js bundle

* Fix:milestone verifier

* Chg:Handling the long future chain import issue

* Fix:Lint issues

* Fix:TestLowDiffLongChain and TestPrunedImportSide tests, used hardcoded value 128 instead of DefaultTriesInMemory value

* Chg:Testcode for producing metrics

* Chg:Milestong polling value to 32 secs

* Add:Testcases

* Add:Implemented the check to fetch the milestoneId from heimdall before locking the fork

* Added GRPC method for FetchMilestoneID

* Fix:lint issue

* Fix:lint issue

* Skiped out the tests which were mainly used to produce the supporting data

* remove vcs build when running snyk

* Add:Improved the logs and comments

* fix linters

* Skipped some test as they are panic due to timeout issue in github

* Chg:Variable name LockerSprintNumber to LockedMilestoneNumber for better readablity and clarity

* Chg:Conflicting variable names in milestone test file

* Chg:Conflicting function names in milestone test file

* fix : minor fix in TestInsertingSpanSizeBlocks

* Fix:Mocking issue in TestInsertingSpanSizeBlocks

* Fix:GRPC Polyproto Version

* eth/downloader: skip peer drop due to whitelisting err

* eth, tests/bor: bug fixes and minor refactor

* Add:Implemented the milestone related functions in the HeimdallApp

* Fix:Lint Errors & Remove:Redundant Code

* Fix:Testing Errors

* Fix:Bor integeration tests

* Fix:Test errors

* update heimdall client mock files

* remove unused arguments

* remove redundant code

* Chg:Changed the milestone polling intervals

* Add: added block finality from whitelisted checkpoint

* skip future chain validation

* Add:confirmation check of 16 blocks over the end block while voting for the milestone in GetVoteHash() function

* Chg:Included endBlockNum in UnlockMutex function

* Add:Property based test for milestone

* Fix:Opening the lock while processing future milestone

* Add:Property based test for futureMilestone

* Defined the value of TempTriesInMemory

* Fixed the finalized api

* Fixed lint issues

* eth: add logs while fetching and rewinding

* fix linters: use default returns instead of recursive calls

* Fix:Milestone intergration test

* Add:GetVoteHash fn in mock backend

* tests/bor: fix mock span

* tests/bor: remove t.Parallel()

* use bor namespace in ethclient, fix mock function

---------

Co-authored-by: Vaibhav Jindal <vaibhavjindal29@gmail.com>
Co-authored-by: VaibhavJindal <74560896+VAIBHAVJINDAL3012@users.noreply.github.com>
Co-authored-by: Manav Darji <manavdarji.india@gmail.com>
Co-authored-by: Evgeny Danienko <6655321@bk.ru>
Co-authored-by: Shivam Sharma <shivam691999@gmail.com>
Co-authored-by: Anshal Shukla <shukla.anshal85@gmail.com>
2023-08-28 18:42:21 +05:30
Shivam Sharma
9eb44ad01f fix : lint 2023-08-28 17:55:31 +05:30
Shivam Sharma
1cee4dddb7 fix : eth_getLogs 2023-08-28 17:36:54 +05:30
VaibhavJindal
b38412dd9b
Merge pull request #970 from maticnetwork/manav/remove-logs
log cleanup
2023-08-24 13:01:48 +05:30
Manav Darji
e502a81ae1 remove indore hf logs 2023-08-24 11:51:10 +05:30
Manav Darji
9eb9bfe181 core/txpool: convert lock acquire log to debug 2023-08-24 11:42:05 +05:30
Daniel Jones
3d7639cc26
Adding fix for postrm removing the config.toml and service file (#951) 2023-08-23 14:43:22 -07:00
Manav Darji
c7561dbb62
rename db.engine key for config files (#969) 2023-08-22 21:11:43 +05:30
SHIVAM SHARMA
66e8296287
Merge pull request #947 from maticnetwork/shivam/POS-1608
add : statesync execution verbosity
2023-08-21 15:36:02 +05:30
Manav Darji
bebd296116
ethclient: use bor_getRootHash instead of eth (#967) 2023-08-18 14:39:05 +05:30
Manav Darji
f5c4c2e9ac bump version to 0.5.0-beta-5 2023-08-18 11:58:00 +05:30
Anshal Shukla
d0f0cef267
Merge pull request #964 from maticnetwork/pebble
internal/cli: add db.engine flag
2023-08-17 20:19:23 +05:30
Anshal Shukla
18dd5dc643 Update docs and add default config 2023-08-17 11:38:21 +05:30
Arpit Temani
58729e50f0
Merge pull request #960 from ForwardSlashBack/patch-1
fix: Improve RETESTBOR.md document formatting
2023-08-17 10:55:52 +05:30
Jerry
3fa0fec5cf
Disable shuffling in unit test (#954) 2023-08-17 10:54:09 +05:30
Manav Darji
a5b1ae5d16
metrics/prometheus: fix count field of metric (#965) 2023-08-16 18:24:23 +05:30
Anshal Shukla
d342e654f3 add db.engine flag 2023-08-16 10:46:57 +05:30
Arpit Temani
e3ad905f31
exempt draft PRs (#962) 2023-08-15 11:25:56 +05:30
Shivam Sharma
d43ad036ae fix : lint 2023-08-14 16:06:48 +05:30
ForwardSlashBack
b58ce594c2
Additional reformatting and cleanup of RETESTBOR document 2023-08-13 15:21:21 -04:00
ForwardSlashBack
30e37c5c7b
Fix minor documentation typo 2023-08-12 23:53:09 -04:00
marcello33
b4cc1f65be
graphql: dev: chg: avoid greedy allocation on graphql blocks call (#958)
* dev: chg: avoid greedy allocation on graphql blocks call

* dev: fix: linter issues
2023-08-11 14:37:11 +02:00
Shivam Sharma
a602479f72 bump : version to 0.5.0-beta-4 2023-08-08 13:34:26 +05:30
Jerry
4b6f1a6fd6
Minor fix 2023-08-07 14:59:40 -07:00