Commit graph

736 commits

Author SHA1 Message Date
Manav Darji
083c3fead1 internal/cli: add support for bor.logs flag in new-cli (#541)
* add support for bor.logs flag in new-cli

* handle bor.withoutheimdall flag commenting in conversion script
2022-10-05 14:51:12 -07:00
Manav Darji
54f97b8598
internal/cli: add support for bor.logs flag in new-cli (#541)
* add support for bor.logs flag in new-cli

* handle bor.withoutheimdall flag commenting in conversion script
2022-10-05 23:38:19 +05:30
Martin Holst Swende
07e0704ca9
internal/flags: fix issue with stringslice migration (#25830)
This fixes a cornercase bug where the flag migration would mess
up the value of StringSlice flags.
2022-09-29 20:16:36 +02:00
Pratik Patil
43e5d3aa09
PR#518 and PR#529 -> qa (#532)
* Added script to generate config.toml fromstart.sh (#518)

* added go and bash script to get config out of start.sh and updated flagset.go

* changed 'requiredblocks' flag back to 'eth.requiredblocks'

* updated script

* changed 'requiredblocks' flag back to 'eth.requiredblocks'

* updated tests, and removed requiredblocks from json and hcl

* addressed comments

* internal/cli/server: fix flag behaviour (#529)

* remove setting maxpeers to 0 for nodiscover flag

* set default prometheus and open-collector endpoint

* skip building grpc address from pprof address and port

* fix: linters

* fix and improve tests

* use loopback address for prometheus and open-collector endpoint

* add logs for prometheus and open-collector setup

* updated the script to handle prometheus-addr

* updated builder/files/config.toml

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

Co-authored-by: Manav Darji <manavdarji.india@gmail.com>
2022-09-29 14:25:27 +05:30
TY
88132afc3f
internal/ethapi: handle odd length hex in decodeHash (#25883)
This change adds zero-padding (prefix) of odd nibbles in the decodeHash function. 

Co-authored-by: ty <ty@oncoder.com>
2022-09-28 18:55:44 +02:00
Arpit Temani
f6875757bf merge develop 2022-09-27 15:04:08 +05:30
Manav Darji
457314783f
internal/cli/server: fix flag behaviour (#529)
* remove setting maxpeers to 0 for nodiscover flag

* set default prometheus and open-collector endpoint

* skip building grpc address from pprof address and port

* fix: linters

* fix and improve tests

* use loopback address for prometheus and open-collector endpoint

* add logs for prometheus and open-collector setup

* updated the script to handle prometheus-addr

* updated builder/files/config.toml

Co-authored-by: Pratik Patil <pratikspatil024@gmail.com>
2022-09-27 13:36:42 +05:30
Felix Lange
65f3c1b46f
internal/version: use gitCommit injection in version handling code (#25851)
This changes the CI build to store the git commit and date into package
internal/version instead of package main. Doing this essentially merges our
two ways of tracking the go-ethereum version into a single place, achieving
two objectives:

- Bad block reports, which use version.Info(), will now have the git commit
  information even when geth is built in an environment such as
  launchpad.net where git access is unavailable.

- For geth builds created by `go build ./cmd/geth` (i.e. not using `go run
  build/ci.go install`), git information stored by the go tool is now used
  in the p2p node name as well as in `geth version` and `geth
  version-check`.
2022-09-23 14:08:25 +02:00
Pratik Patil
77db80cc91
Added script to generate config.toml fromstart.sh (#518)
* added go and bash script to get config out of start.sh and updated flagset.go

* changed 'requiredblocks' flag back to 'eth.requiredblocks'

* updated script

* changed 'requiredblocks' flag back to 'eth.requiredblocks'

* updated tests, and removed requiredblocks from json and hcl

* addressed comments
2022-09-23 13:37:04 +05:30
Felix Lange
468d1844c7
core: move build version reading to its own package (#25806)
This fixes the build with Go 1.17, which does not have BuildInfo.Settings yet.
2022-09-19 10:04:16 +02:00
lightclient
8ade5e6c14
internal/ethapi: return error when requesting invalid trie key (#25762)
This change makes eth_getProof and eth_getStorageAt return an error when
the argument contains invalid hex in storage keys.

Co-authored-by: Felix Lange <fjl@twurst.com>
2022-09-16 18:16:32 +02:00
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
Pratik Patil
7c6f0a67e6 updated tests, and removed requiredblocks from json and hcl 2022-09-07 16:23:44 +04:00
Pratik Patil
d2eb2df62e changed 'requiredblocks' flag back to 'eth.requiredblocks' 2022-09-07 13:53:36 +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
Manav Darji
7bb7bacd50
Merge pull request #503 from maticnetwork/shivam/sealer-gasPrice (#506)
internal/cli/server: update default cli values

Co-authored-by: SHIVAM SHARMA <shivam691999@gmail.com>
2022-09-01 11:07:49 +05:30
Shivam Sharma
1ac5f09518 fix : TestConfigLegacy 2022-08-26 14:08:15 +05:30
Manav Darji
eb16a3d313 update defaults in new-cli 2022-08-26 11:24:51 +05:30
lightclient
70e1e65b1d
internal/ethapi: rename debug getters to match spec (#25176)
Some small fixes to get the existing debug methods to conform to the spec. Mainly dropping the encoding information from the method name as it should be deduced from the debug context and allowing the method to be invoked by either block number or block hash. It also adds the method debug_getTransaction which returns the raw tx bytes by tx hash. This is pretty much equivalent to the eth_getRawTransactionByHash method.
2022-08-25 10:41:37 +02:00
Shivam Sharma
632c1646a8 chg : default sealer.gasPrice from 1wei to 1Gwei 2022-08-25 12:47:54 +05:30
Shivam Sharma
8186e4d2a1 chg : sealer.gasPrice to 1 from 30Gwei 2022-08-24 14:58:38 +05:30
Shivam Sharma
057f50eb6c fix : TestConfigLegacy 2022-08-23 19:13:01 +05:30
Shivam Sharma
324187776a chg : txpool.pricelimit to 1 2022-08-23 18:35:24 +05:30
Pratik Patil
8c97faaa8c internal/cli, cmd/geth: replaced package naoina/toml with BurntSushi/toml and updated config name-tags (#486)
* removed package naoina/toml from dumpconfig and added BurntSushi/toml

* updated cmd/gethconfig.go
2022-08-22 23:43:17 -07:00
Manav Darji
2aacbde097 eth, cli: prevent snap sync mode migration - v0.3.x (#494)
* handle snap sync mode switches

* fix linters
2022-08-22 23:43:17 -07:00
Manav Darji
10c1ff2a74 internal/cli: add support for removedb (#478)
* internal/cli: add support for removedb

* update docs

* internal/cli: use constant path, handle err
2022-08-22 23:43:17 -07:00
Felix Lange
ac7ad811b4
internal/ethapi: fix build regression (#25555) 2022-08-19 14:48:49 +02:00
Sina Mahmoodi
36874b63a1
eth/filters: add global block logs cache (#25459)
This adds a cache for block logs which is shared by all filters. The cache
size of is configurable using the `--cache.blocklogs` flag.

Co-authored-by: Felix Lange <fjl@twurst.com>
2022-08-19 11:14:59 +02:00
ucwong
fa1305f8bf
internal/ethapi: fix comment typo (#25548) 2022-08-19 09:01:09 +03:00
Justin Traglia
2c5648d891
all: fix some typos (#25551)
* Fix some typos

* Fix some mistakes

* Revert 4byte.json

* Fix an incorrect fix

* Change files to fails
2022-08-19 09:00:21 +03:00
Manav Darji
9f1feac053
eth, cli: prevent snap sync mode migration - v0.3.x (#494)
* handle snap sync mode switches

* fix linters
2022-08-17 15:18:16 +05:30
Evgeny Danilenko
3c94dfb25f
A thread safe way to take a free port (#485)
* initial commit

* safe latest error

* remove json listener

* fix: debug block unit test

* remove jsonrpc listener from server

* fix: consume network's find port in heimdall client test

* update key in log while startup

* linters

* fix

Co-authored-by: Manav Darji <manavdarji.india@gmail.com>
2022-08-16 18:43:18 +03:00
lightclient
0be9d76e37
internal/ethapi: rework setDefaults for tx args so fee logic is separate (#25197)
Co-authored-by: bobpkr <bob.p@krustuniverse.com>
2022-08-11 10:56:53 +02:00
0xe3b0c4
c0cc6f6362
build: add static linking support (#25492)
This adds support for building statically-linked executables using ci.go.

Static linking is enabled by default in Docker builds, making it possible to
use the geth executable in any Docker image, regardless of the Linux
distribution the Dockerfile is based on.

Co-authored-by: Felix Lange <fjl@twurst.com>
2022-08-10 10:30:59 +02:00
Evgeny Danilenko
e699254142
Use atomic pointer in go 1.19 (#446)
* use atomic pointer

* golang version

* golang version

* go1.19

* linters

* Bump golangci-lint

* linters

* linters

* linters after merge

* generic logger

* generic logger

* logger

* logger

* linters

* bump toml

* linters1

* linters

* linters

* linter

* linter

* linters

* linters

* linters
2022-08-09 22:11:09 +03:00
Manav Darji
ac559bcd16
internal/cli: add support for removedb (#478)
* internal/cli: add support for removedb

* update docs

* internal/cli: use constant path, handle err
2022-08-09 09:16:42 +05:30
Pratik Patil
16408ba324
internal/cli, cmd/geth: replaced package naoina/toml with BurntSushi/toml and updated config name-tags (#486)
* removed package naoina/toml from dumpconfig and added BurntSushi/toml

* updated cmd/gethconfig.go
2022-08-05 14:56:41 +05:30
Manav Darji
ba18491841 fix: tests 2022-08-04 09:36:09 -07:00
Manav Darji
18fafc01c6 disable bor wallet by default 2022-08-04 09:36:09 -07:00
SHIVAM SHARMA
d8d9360dfe
Merge pull request #480 from maticnetwork/shivam/POS-705
Fixed GetTransactionByBlockNumberAndIndex and added testcase around it.
2022-08-04 00:27:53 +05:30
lightclient
948e08d55b
internal/ethapi: don't estimate gas if no limit provided in eth_createAccessList (#25467)
Because the goal of eth_createAccessList is providing the caller with the largest-possible
access list, it's generally not important that the gas limit used by the tracer will match the usage
of the call exactly. Avoiding the gas estimation step is a performance improvement. As long as the
call does not branch based on gas limit, the returned access list will be accurate.
2022-08-03 18:18:45 +02:00
Krishna Upadhyaya
f42a70f592
Merge pull request #468 from maticnetwork/POS-648
Implemented gRPC client for heimdall
2022-08-03 18:01:01 +05:30
Shivam Sharma
d3231c0884 fix :GetTransactionByBlockNumberAndIndex + testGetTransactionByBlockNumberAndIndex 2022-08-03 15:29:24 +05:30
Shivam Sharma
85cdd9d281 Initial Setup 2022-08-03 01:06:18 +05:30
Shivam Sharma
423734c0d4 fix : deferred close() + lint 2022-08-02 01:19:42 +05:30
Wany
aecdd74dc8 fix GetTransactionReceiptsByBlock bug
fix fields transactionHash
2022-07-31 16:54:13 +05:30
Pratik Patil
694dc02a01 fixed the bug caused by fillBigInt and FillTime.Duration functions (#474) 2022-07-29 17:13:00 -07:00
Pratik Patil
e62beee1b2 internal/cli: use config file for flags in new-cli, builder/files: update defaults (#457)
* updated simple.json and simple.hcl

* added annotations for developer and grpc block

* added toml tags and simple.toml file

* added support for toml config files

* updated simple files toml, hcl, json

* added config.toml in builder/files and updated bor.service

* add dumpconfig command in cli for exporting configs

* update docs

* updated .goreleaser.yml (POS-651)

* changed --config to -config

* added test config for tests and fixed lint errors

* made fields of type big.int and time.Duration private, removed merge from dumpconfig, setting up default values to the Raw fields in dumpconfig, and fixed one lint error

* fixed lint errors (strange)

* lint fix

* private no-more, using '-' in name tags to ignore

* updated name tags, made c.configFile as a stringFlag (only one config file supported) and updated the merge logic in command.go -> Run()

* fix: set method for big.Int flags, added a TODO

* handeled bigInt and timeDuration type, bug fix in config_legacy, lint fix

* updated flags, consistent across flags.go and config.go

* fixed config test and updated test hcl, json config files

* updated config legacy test

* added test to check values of cmd flags, restructured Run in command.go, linter fix

* fix linters

* lint again

* changed 2 flags and assert -> require

* changed the 2 flags back

* updated correct congig.toml path and made mainnet default

* updated config.toml with new flags

* added sample config (toml) file

* removed sample-config.toml and added it in docs/config.md

Co-authored-by: Manav Darji <manavdarji.india@gmail.com>
2022-07-29 17:12:30 -07:00
Pratik Patil
f53981809e Change diverged flags back to Geth's convention (POS-602) (#451)
* changed name -> identity

* changed no-snapshot -> snapchot=true/false

* changed jsonrpc.corsdomain -> http.corsdomain

* changed jsonrpc.vhosts -> http.vhosts

* changed http/ws.modules to http/ws.api

* updated readme

* updated config_test

* make docs

* handelling string array flag, overwrite insted of append

* added 'Default' to SliceStringFlag

* added separate flags for corsdomain and vhosts for http, ws, graphql

* modified tests
2022-07-29 16:56:58 -07:00
lightclient
9ad508018e
ethereum, ethclient: add FeeHistory support (#25403)
Co-authored-by: Felix Lange <fjl@twurst.com>
2022-07-29 18:22:04 +02:00
Pratik Patil
b64af9b843
fixed the bug caused by fillBigInt and FillTime.Duration functions (#474) 2022-07-29 17:30:25 +05:30
Krishna Upadhyaya
75bb3bdeb1 Merge branch 'develop' into POS-648 2022-07-27 19:09:04 +05:30
Pratik Patil
71980bf5b1
internal/cli: use config file for flags in new-cli, builder/files: update defaults (#457)
* updated simple.json and simple.hcl

* added annotations for developer and grpc block

* added toml tags and simple.toml file

* added support for toml config files

* updated simple files toml, hcl, json

* added config.toml in builder/files and updated bor.service

* add dumpconfig command in cli for exporting configs

* update docs

* updated .goreleaser.yml (POS-651)

* changed --config to -config

* added test config for tests and fixed lint errors

* made fields of type big.int and time.Duration private, removed merge from dumpconfig, setting up default values to the Raw fields in dumpconfig, and fixed one lint error

* fixed lint errors (strange)

* lint fix

* private no-more, using '-' in name tags to ignore

* updated name tags, made c.configFile as a stringFlag (only one config file supported) and updated the merge logic in command.go -> Run()

* fix: set method for big.Int flags, added a TODO

* handeled bigInt and timeDuration type, bug fix in config_legacy, lint fix

* updated flags, consistent across flags.go and config.go

* fixed config test and updated test hcl, json config files

* updated config legacy test

* added test to check values of cmd flags, restructured Run in command.go, linter fix

* fix linters

* lint again

* changed 2 flags and assert -> require

* changed the 2 flags back

* updated correct congig.toml path and made mainnet default

* updated config.toml with new flags

* added sample config (toml) file

* removed sample-config.toml and added it in docs/config.md

Co-authored-by: Manav Darji <manavdarji.india@gmail.com>
2022-07-27 12:28:26 +05:30
Krishna Upadhyaya
8de8a6815c Integrated heimdall gRPC server flow 2022-07-26 18:08:25 +05:30
Krishna Upadhyaya
385aff85f0 Implemented heimdall gRPC client 2022-07-26 02:18:37 +05:30
Marius van der Wijden
c6dcd018d2
core: eth: rpc: implement safe rpc block (#25165)
* core: eth: rpc: implement safe rpc block

* core: fix setHead, panics
2022-07-25 18:42:05 +03:00
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
Seungbae.yu
d2247d9f5d
eth, internal, light: fix error string capitalization (#25364) 2022-07-25 12:53:44 +03:00
Arpit Temani
062ea8b505 sprint type change 2022-07-21 17:20:15 +05:30
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
Pratik Patil
3df1d6f017
Change diverged flags back to Geth's convention (POS-602) (#451)
* changed name -> identity

* changed no-snapshot -> snapchot=true/false

* changed jsonrpc.corsdomain -> http.corsdomain

* changed jsonrpc.vhosts -> http.vhosts

* changed http/ws.modules to http/ws.api

* updated readme

* updated config_test

* make docs

* handelling string array flag, overwrite insted of append

* added 'Default' to SliceStringFlag

* added separate flags for corsdomain and vhosts for http, ws, graphql

* modified tests
2022-07-14 22:36:18 +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
lightclient
434ca026c9
internal/ethapi: error if tx args includes chain id that doesn't match local (#25157)
* internal/ethapi: error if tx args includes chain id that doesn't match local

* internal/ethapi: simplify code a bit

Co-authored-by: Péter Szilágyi <peterke@gmail.com>
2022-07-14 13:17:25 +03:00
Péter Szilágyi
b53d38246e
Merge pull request #25096 from lightclient/remove-version-field
all: remove version field
2022-07-14 12:13:59 +03:00
Péter Szilágyi
68cd0cda4a
internal/build: add a timestamp to the tar archive folder 2022-07-12 14:35:35 +03:00
Evgeny Danilenko
04e90e2426
internal/cli: update grpc/protobuf dependency (#449)
* update grpc_conn

* fix

* remove more deps from deprecated library

Co-authored-by: Manav Darji <manavdarji.india@gmail.com>
2022-07-11 19:09:49 +03:00
lightclient
ae8ce72022
internal/ethapi: fix chain ID check to return all non-zero IDs (#25244) 2022-07-07 21:50:28 +02:00
Sina Mahmoodi
cb7f35996d
internal/ethapi: add basefee to block overrides (#25219) 2022-07-05 14:48:34 +02:00
Felix Lange
f6ac80c507
cmd/geth, cmd/devp2p: fix some cli parsing issues (#25234)
* cmd/geth: add some missing argument count checks

* internal/flags: skip cmds with no action func in MigrateGlobalFlags

* internal/flags: add Merge

* cmd/devp2p: re-add listener config flags in discv4 commands
2022-07-04 19:52:19 +02:00
Seungbae.yu
2697e44d81
all: change format 0x%x to %#x (#25221) 2022-07-04 11:03:32 +03:00
Jerry
5f69302b3a
Merge pull request #442 from maticnetwork/v0.3.0-candidate
Merge fixes from v0.3.0-candidate to develop
2022-06-30 12:07:06 -07:00
Jerry
f90faf0687 Match default parameters to mainnet 2022-06-30 10:36:44 -07:00
lightclient
3e693e1ef6
internal/ethapi: return chain id for EIP-155 legacy txs (#25155) 2022-06-29 11:58:59 +02:00
Pratik Patil
657d262def
Merge pull request #435 from maticnetwork/POS-553
Adding correct miner address on API at the RPC level (POS-553)
2022-06-29 11:02:08 +05:30
Pratik Patil
473e09cd2d removed check from consensus, handelling everything in api.go 2022-06-28 21:03:36 +05:30
Pratik Patil
de03f3fb6a reverted back and made changes in the getAuthour API 2022-06-28 19:02:47 +05:30
willian.eth
52ed3570c4
cmd: migrate to urfave/cli/v2 (#24751)
This change updates our urfave/cli dependency to the v2 branch of the library.
There are some Go API changes in cli v2:

- Flag values can now be accessed using the methods ctx.Bool,
  ctx.Int, ctx.String, ... regardless of whether the flag is 'local' or
  'global'.

- v2 has built-in support for flag categories. Our home-grown category
  system is removed and the categories of flags are assigned as part of
  the flag definition.

For users, there is only one observable difference with cli v2: flags must now
strictly appear before regular arguments. For example, the following command is
now invalid:

   geth account import mykey.json --password file.txt

Instead, the command must be invoked as follows:

   geth account import --password file.txt mykey.json
2022-06-27 18:22:36 +02:00
lightclient@protonmail.com
0c6f81f888
all: remove version field from rpc.API 2022-06-27 12:39:46 +02:00
lightclient
119f955686
all: remove public field from rpc.API (#25059)
all: remove public field from rpc.API
2022-06-27 13:33:13 +03:00
lightclient
c7f485d9e5
internal/ethapi: add note about eth_chainId compatibility with EIP-695 (#25168)
Co-authored-by: Felix Lange <fjl@twurst.com>
2022-06-25 21:34:21 +02:00
Pratik Patil
0173d61d9f modified Authour() function in bor.go 2022-06-25 10:20:29 +05:30
lightclient
647c6f2db6
internal/ethapi: always return chain id (#25166)
The error was introduced in PR #21686, but there is no good reason to enforce sync
in this method, and it causes issues with EL/CL integration.
2022-06-24 18:03:13 +02:00
Pratik Patil
9b29d13a5d removed lint error 2022-06-24 19:31:44 +05:30
Pratik Patil
1970743f9d modified comment 2022-06-24 13:28:22 +05:30
Pratik Patil
aec6d05255 minor fix 2022-06-22 12:13:43 +05:30
lightclient
10dc5dce08
all: remove concept of public/private API definitions (#25053)
* internal/ethapi: rename PublicEthereumAPI to EthereumAPI

* eth: rename PublicEthereumAPI to EthereumAPI

* internal/ethapi: rename PublicTxPoolAPI to TxPoolAPI

* internal/ethapi: rename PublicAccountAPI to EthereumAccountAPI

* internal/ethapi: rename PrivateAccountAPI to PersonalAccountAPI

* internal/ethapi: rename PublicBlockChainAPI to BlockChainAPI

* internal/ethapi: rename PublicTransactionPoolAPI to TransactionAPI

* internal/ethapi: rename PublicDebugAPI to DebugAPI

* internal/ethapi: move PrivateDebugAPI methods to DebugAPI

* internal/ethapi: rename PublicNetAPI to NetAPI

* les: rename PrivateLightServerAPI to LightServerAPI

* les: rename PrivateLightAPI to LightAPI

* les: rename PrivateDebugAPI to DebugAPI

* les: rename PublicDownloaderAPI to DownloaderAPI

* eth,les: rename PublicFilterAPI to FilterAPI

* eth: rename PublicMinerAPI to MinerAPI

* eth: rename PublicDownloaderAPI to DownloaderAPI

* eth: move PrivateMinerAPI methods to MinerAPI

* eth: rename PrivateAdminAPI to AdminAPI

* eth: rename PublicDebugAPI to DebugAPI

* eth: move PrivateDebugAPI methods to DebugAPI

* node: rename publicAdminAPI to adminAPI

* node: move privateAdminAPI methods to adminAPI

* node: rename publicWeb3API to web3API

* eth,internal/ethapi: sync comments with previous renamings
2022-06-21 12:05:43 +03:00
Pratik Patil
b3c02842b9 modified GetBlockByNumber and GetBlockByHash function to call getHeaderWithAuthor function 2022-06-21 11:34:00 +05:30
Pratik Patil
b9d1869d95 added getHeaderWithAuthor function to change the coinbase filed in header with actual miner address 2022-06-21 11:32:19 +05:30
Sina Mahmoodi
d39f0cce71
internal/ethapi: remove SignAndSendTransaction (#25111) 2022-06-20 10:38:46 +02:00
Kosuke Taniguchi
ba99e19215
internal/ethapi: add comment explaining return of nil instead of error (#25097)
Co-authored-by: Felix Lange <fjl@twurst.com>
2022-06-16 17:08:25 +02:00
Jerry
33e646eea1 Add keystore option to cli 2022-06-15 11:30:47 -07:00
Evgeny Danilenko
342bf3089e
Merge develop branch into v0.3.0-dev (#430)
* merge geth v1.10.15

* fix: Removed FastSync from cli server

* fix: TestHeadersRLPStorage

* Added t.skip(ETH2 in bor)

* fix: flow in create consensus engine

* bumped version

* Fix typo

* increase block time

* remove file

* bumped version

* merge gethv1.10.17

* bumped version

* fix failing tests

* Bump Go version to v1.18 (#368)

* Bump Go version to v1.18.1

* Build using netgo tag

This will create a static build using Go native networking stack.

Checked and it works stable for all archs and distros.

* Fix meta

* initial implementation for common ancestor approach

* extract whitelist interface

* fix types

* fix tests and format

* add unit tests for IsValidChain function

* more tests

* wip

* test ErrCheckpointMismatch

* minor fixes

* fix test

* dont panic

* fmt

* Limit state sync by gas

* Added logging for state-sync total gas usage

* Added number of event-records in log

* Minor Changes

* Minor Fix

* Adding individual gasUsed

* Minor Fix

* fix: return value for no remote block

* handle all errors

* modularise fake chain validator in downloader

* add more tests

* fix tests

* Modifying miner.recommit flag and its adjustment function. (#370)

* changed min/max/current recommit values

* Remove Hardcoded min/max

* Code Sanitization

* Skipping tests for constant recommit interval

* Adding default miner.recommit value

* Minor Change

* Increased default value of rpc.txfeecap to 5

* add debug rpc endpoints for checkpoint whitelist service

* minor fixes and enhancements

* avoid capping warnings for gas set by internal system transactions

* use typed mocks

* fix

* fix

* fix

* fix close

* fix

* Create stale.yml

* Fix bor consensus checkpoint bug

Co-authored-by: Arpit Temani <temaniarpit27@gmail.com>
Co-authored-by: Shivam Sharma <shivam691999@gmail.com>
Co-authored-by: Manav Darji <manavdarji.india@gmail.com>
Co-authored-by: Sandeep Sreenath <sandeep.sreenath@gmail.com>
Co-authored-by: Victor Castell <victor@victorcastell.com>
Co-authored-by: Ferran <ferranbt@protonmail.com>
Co-authored-by: Krishna Upadhyaya <krishnau1604@gmail.com>
Co-authored-by: Karlo <karlonovak@gmail.com>
Co-authored-by: Sandeep Sreenath <ssandeep@users.noreply.github.com>
Co-authored-by: Jerry <jerrycgh@gmail.com>
2022-06-15 09:02:01 +03:00
lmittmann
bc013bc42e
all: prefer new(big.Int) over big.NewInt(0) (#25087)
minor performance improvement: `big.NewInt(0).Xxx` -> `new(big.Int).Xxx`
2022-06-14 15:09:48 +03:00
Martin Holst Swende
a907d7e81a
all: more linters (#24783)
This enables the following linters

- typecheck
- unused
- staticcheck
- bidichk
- durationcheck
- exportloopref
- gosec

WIth a few exceptions.

- We use a deprecated protobuf in trezor. I didn't want to mess with that, since I cannot meaningfully test any changes there.
- The deprecated TypeMux is used in a few places still, so the warning for it is silenced for now.
- Using string type in context.WithValue is apparently wrong, one should use a custom type, to prevent collisions between different places in the hierarchy of callers. That should be fixed at some point, but may require some attention.
- The warnings for using weak random generator are squashed, since we use a lot of random without need for cryptographic guarantees.
2022-06-13 16:24:45 +02:00
Luozhu
3f5b5ec3e5
internal/ethapi: fix typo in comment (#25056)
typo error: keccack256 -> keccak256
2022-06-10 10:57:32 +02:00
Arpit Temani
edd21b3950
Merge pull request #421 from karlonovak/master
avoid capping warnings for gas set by internal system transactions
2022-06-09 13:48:00 +05:30
Evgeny Danilenko
9c8bf51f57
Prepare Bor package for testing (#416)
* Limit state sync by gas

* Added logging for state-sync total gas usage

* Added number of event-records in log

* Minor Changes

* Minor Fix

* Adding individual gasUsed

* Minor Fix

* it works

* fix tests

* log wiggle and delay with block number

* log delays as numbers

* linters

* fix tests

* restore linters for the project

* fix linters

* fix

* fix

* fix

* linters

* generation

* fix tests

* remove heimdall wrapper response

* linters

* remove possible collisions

* remove possible collisions

* remove possible collisions

* tests for unique address generation

* generalize set

* bor miner tests got restored

* fixes after CR

* final step and mining test

* fix

* fix e2e

* more tests for Heimdall requests

* fix linters

Co-authored-by: Ferran <ferranbt@protonmail.com>
Co-authored-by: Shivam Sharma <shivam691999@gmail.com>
2022-06-08 16:39:30 +03:00
Sina Mahmoodi
d9566e39bd
eth/filters: fix getLogs for pending block (#24949)
* eth/filters: fix pending for getLogs

* add pending method to test backend

* fix block range validation
2022-06-07 08:31:19 +02:00
Jerry
8808c231df
Merge pull request #419 from cffls/v0.3.0-dev-flags
CLI improvements
2022-06-06 20:00:31 -07:00
Manav Darji
0d2b1d0630
internal/cli: add block tracing (#397)
* bad block tracing

* Add debug env framework

* add implementation of custom block tracing

* add few comments

* use tar name fn

* wip: add unit tests for block tracing

* complete test for block tracer

* fix: close grpc server

* refactor cli tests

* fix: change condition for parsing args

* Fix port binding for test server

* add helper for creating and closing mock server for tests

* consume mock server in tests

* fixes due to geth merge

* fix: handle port selection for http server

* update help and markdown for debug command

* update docs

* update debug synopsis

* fix: use chunked encoder to handle large data over grpc

* fix prints

* lint

* rm unused function, rename fn to TraceBorBlock

Co-authored-by: Ferran Borreguero <ferranbt@protonmail.com>
2022-06-06 14:54:05 +05:30
Karlo
57e829fae9 avoid capping warnings for gas set by internal system transactions 2022-06-03 11:07:36 +02:00
Manav Darji
d4e7603315 add debug rpc endpoints for checkpoint whitelist service 2022-06-02 16:23:38 +05:30
Martin Holst Swende
d8a2305565
eth/tracers: add support for block overrides in debug_traceCall (#24871)
This PR adds support for block overrides when doing debug_traceCall.

- Previously, debug_traceCall against pending erroneously used a common.Hash{} stateroot when looking up the state, meaning that a totally empty state was used -- so it always failed,
- With this change, we reject executing debug_traceCall against pending.
- And we add ability to override all evm-visible header fields.
2022-06-02 11:39:36 +02:00
Jerry
96ac8d16d4 Overwrite default config with CLI input even when the input value is considered as empty
This change will fix two issues:
1. When CLI sets a flag to an empty value in Go, e.g. 0 as to Uint64, the flag will be skipped and never set correctly. This problem could be solved by using option "WithOverwriteWithEmptyValue" when merge two configs.
2. The default non-empty value in server config will be overwritten to an empty value after flag initialization. This problem is solved by explicitly providing default value to all flags that have a default value option.
2022-05-31 20:30:40 -07:00
Jerry
4cec5f01c3 Add ability to parse legacy genesis file 2022-05-31 20:30:40 -07:00
Jerry
3ae87c0d46 Read static-nodes and trusted-nodes from default files if not specified in CLI 2022-05-31 20:30:40 -07:00
Jerry
2e2557a2d0 Enable prealloc check and improve address comparison 2022-05-26 11:55:44 -07:00
Jerry
45a72bc49e Lint internal/cli 2022-05-26 11:55:44 -07:00
Felix Lange
9244d5cd61
all: update license headers and AUTHORS from git history (#24947) 2022-05-24 20:39:40 +02:00
Jerry
63bedf374d
Merge pull request #405 from cffls/whitelist
Rename whitelist to requiredblocks
2022-05-23 09:18:48 -07:00
Manav Darji
2323f2c96e
fix: modify build eth fn definition for account unlock handling (#412) 2022-05-23 15:27:35 +05:30
Manav Darji
1b53044055
internal/cli/server, eth: add option to disable personal wallet endpoints (#394)
* initial disable-bor-wallet implementation

* fixes and enhancements

* update docs using clidoc

* fixes in clique auth
2022-05-23 14:06:51 +05:30
Marius van der Wijden
e6fa102eb0
core, eth, internal, rpc: implement final block (#24282)
* eth: core: implement finalized block

* eth/catalyst: fix final block

* eth/catalyst: update finalized head gauge

* internal/jsre/deps: updated web3.js to allow for finalized block

* eth/catalyst: make sure only one thread can call fcu

* eth/catalyst: nitpicks

* eth/catalyst: use plain mutex

* eth: nitpicks
2022-05-18 17:30:42 +03:00
Martin Holst Swende
57192bd0dc
ethdb/remotedb, cmd: add support for remote (readonly) databases (#24836)
* ethdb/remotedb, cmd: add support for remote (readonly) databases

* ethdb/remotedb: minor changes

* ethdb/remotedb: close the conn

* cmd, ethdb: add rpc accessor for ancient data

* internal/ethapi: license

* ethdb/remotedb: linter fixes
2022-05-18 17:27:17 +03:00
Jerry
c02e2cbb93 Rename whitelist to requiredblocks 2022-05-17 17:08:41 -07:00
Håvard Anda Estensen
4b309c7006
all: replace non-trivial uses of package ioutil with os (#24886)
Co-authored-by: Martin Holst Swende <martin@swende.se>
2022-05-17 14:27:04 +02:00
Jerry
8de6903eee Implement and enable 'unlock' flag 2022-05-16 14:57:26 -07:00
Håvard Anda Estensen
07508ac0e9
all: replace uses of ioutil with io and os (#24869) 2022-05-16 11:59:35 +02:00
Ryan Schneider
ae7d834bc7
internal/ethapi: add debug_getRawReceipts RPC method (#24773)
Adds a method to retrieve all the binary encoded receipts from a block
2022-05-14 22:33:41 +02:00
Jerry
110ea65c37
Merge pull request #385 from cffls/jc/prometheus
Fix prometheus path and add prometheus to bor.service
2022-05-10 11:37:17 -07:00
Jerry
8fc86ccb90 Fix prometheus path and add prometheus to bor.service 2022-05-10 10:45:29 -07:00
Jerry
ad8bede955 Add bootnode cli 2022-05-10 10:38:38 -07:00
Sina Mahmoodi
5b46f1d1eb
internal: drop TestSignCliqueBlock (#24837) 2022-05-10 10:46:26 +02:00
Jerry
a131e427f6 Automatically generate markdown pages from bor CLI
Adding a script that can automatically generate markdown pages from bor
CLI, so we can avoid copy-pasting helper strings whenever a flag is created,
deleted, or modified.

CLI docs could be generated with command `make docs`.
2022-05-09 17:10:36 +02:00
Manav Darji
597037df30 Update default cli config (#323)
* update the default cli config

* fix: handle maxpeers flag override, added tests

* add: no-snapshot flag, handle snapshot disable

* fix: update default flags

* add: update the sealer.GasPrice default to 30 gewi

* fix: remove snapshot flag, rely on no-snapshot only
2022-05-09 17:08:03 +02:00
Shivam Sharma
388b68cd05 Minor Fixes 2022-05-09 17:08:03 +02:00
Shivam Sharma
00e51a99c0 Removed console command 2022-05-09 17:08:03 +02:00
Shivam Sharma
0736fdef52 Added console + attach refactor 2022-05-09 17:08:03 +02:00
Shivam Sharma
065556d21a Minor Fixes 2022-05-09 17:08:03 +02:00
Shivam Sharma
15304529f2 minor fixes 2022-05-09 17:08:03 +02:00
Shivam Sharma
7f5469997a Initial Work Setup 2022-05-09 17:08:03 +02:00
Shivam Sharma
55aa9af209 Removed Fio installation process 2022-05-09 17:08:03 +02:00
Shivam Sharma
be2463b958 read/write IOPS added 2022-05-09 17:08:03 +02:00
Shivam Sharma
d50341053e code refactor 2022-05-09 17:08:03 +02:00
Shivam Sharma
5039f4fc1e Added bor fingerprint 2022-05-09 17:08:03 +02:00
Shivam Sharma
4e6d323382 Added GetSnapshotProposerSequence 2022-05-09 17:08:03 +02:00
Krishna Upadhyaya
98b71173df Rename chain test case 2022-05-09 17:08:03 +02:00
Krishna Upadhyaya
d7ebe2fca1 Add test case for Import from file 2022-05-09 17:08:03 +02:00
Krishna Upadhyaya
b3984096e2 Updated file check 2022-05-09 17:08:00 +02:00
Krishna Upadhyaya
1ef2726beb Add ability to run using chain json file 2022-05-09 17:06:28 +02:00
Manav Darji
e10b10a3dd start http rpc server and eth namespace by default (#319) 2022-05-09 17:06:28 +02:00
Victor Castell
b416577a8e Protobuf tooling fix and upgrade (#313)
* Protobuf tooling fix and upgrade

* Paths for protobuf files has changed, reflect that in Makefile
* Fix the tooling to make it work in macos
* Update protoc version and regenarate files.

* Regen proto
2022-05-09 17:05:29 +02:00
s7v7nislands
7caa2d8163
all: replace strings.Replace with string.ReplaceAll (#24835) 2022-05-09 13:13:23 +03:00
Arpit Temani
2321e64ed7
V0.2.16 candidate (#373)
* merge geth v1.10.15

* fix: Removed FastSync from cli server

* fix: TestHeadersRLPStorage

* Added t.skip(ETH2 in bor)

* fix: flow in create consensus engine

* bumped version

* Fix typo

* increase block time

* remove file

* bumped version

* merge gethv1.10.17

* bumped version

* fix failing tests

* Bump Go version to v1.18 (#368)

* Bump Go version to v1.18.1

* Build using netgo tag

This will create a static build using Go native networking stack.

Checked and it works stable for all archs and distros.

* Fix meta

* Bump version

* Meta as stable

Co-authored-by: Shivam Sharma <shivam691999@gmail.com>
Co-authored-by: Manav Darji <manavdarji.india@gmail.com>
Co-authored-by: Sandeep Sreenath <sandeep.sreenath@gmail.com>
Co-authored-by: Victor Castell <victor@victorcastell.com>
2022-05-06 12:31:48 +02:00
Krishna Upadhyaya
b91293a474
Merge pull request #375 from maticnetwork/krishna/update-mumbai-config
Update mumbai config
2022-04-28 16:57:12 +05:30
Sina Mahmoodi
16701c5169
internal/ethapi: add db operations to api (#24739)
Adds `debug_dbGet` method to rpc api
2022-04-27 08:37:48 +02:00
Manav Darji
0525715949 Merge 'master' into 'v0.2.16-candidate' 2022-04-26 17:21:51 +05:30
s7v7nislands
7ab15490e9
all: use 'embed' instead of go-bindata (#24744) 2022-04-25 11:15:14 +02:00
s7v7nislands
2951b50bae
internal/flags: fix godoc (#24734) 2022-04-23 16:52:26 +02:00
Krishna Upadhyaya
8ea9231c5f fix: update mumbai genesis config 2022-04-22 11:57:26 +05:30