Commit graph

288 commits

Author SHA1 Message Date
atvanguard
0e8b5ca4b7 minor: separate path, query params with FetchWithRetry 2020-05-18 23:36:16 +05:30
atvanguard
8f47b3945e test: Handle 204 and add test for new deposit mechanism 2020-05-18 19:26:42 +05:30
atvanguard
fa0266a347 merge develop into mew-deposits 2020-05-18 18:51:29 +05:30
atvanguard
bda638d974 Merge branch 'develop' into mew-deposits 2020-05-18 11:03:13 +05:30
Jaynti Kanani
c5a015a8a4 fix: make data fetch more robust 2020-05-18 11:02:43 +05:30
atvanguard
8dea9114e8 dev: update changes in StateReceiver contract 2020-05-17 17:44:44 +05:30
atvanguard
9a56de6d84 dev: cleanup isValidatorAction logic 2020-05-17 17:33:59 +05:30
atvanguard
4be5477f64 dev: cleanup comments 2020-05-17 17:28:55 +05:30
atvanguard
868dc81c8a new: New fetch State sync logic 2020-05-17 17:24:09 +05:30
atvanguard
71c3bf757c refactor: Tests + add test for OutOfTurnSign 2020-05-14 16:28:45 +05:30
atvanguard
c27b8b7801 new: Add wiggle to block time 2020-05-14 16:28:45 +05:30
atvanguard
9f6df9ade0 dev: Remove concurrent seal check 2020-05-13 20:11:13 +05:30
Arpit Agarwal
0f8d3b1006
fix: Check validator bytes at first block of sprint (MAT-1311) (#56)
* Check validator bytes at first block of sprint

* not required to get parent again

* fix tests

* fix build error
2020-05-13 14:08:21 +05:30
Martin Holst Swende
4535230059
cmd, core, eth: background transaction indexing (#20302)
* cmd, core, eth: init tx lookup in background

* core/rawdb: tiny log fixes to make it clearer what's happening

* core, eth: fix rebase errors

* core/rawdb: make reindexing less generic, but more optimal

* rlp: implement rlp list iterator

* core/rawdb: new implementation of tx indexing/unindex using generic tx iterator and hashing rlp-data

* core/rawdb, cmd/utils: fix review concerns

* cmd/utils: fix merge issue

* core/rawdb: add some log formatting polishes

Co-authored-by: rjl493456442 <garyrong0905@gmail.com>
Co-authored-by: Péter Szilágyi <peterke@gmail.com>
2020-05-11 18:58:43 +03:00
Arpit Agarwal
d1ea515af1
chg: Cancel active sealing op when a new chain segment is received (MAT-1116) (#54)
* dev: Fix out-of-turn signing log statement

* dev: Cancel active sealing op when a new chain segment is received

* remove debug statement and return value

* minor: no need to use a channel

* Fix race condition in shouldSeal channel

* Info -> Debug statement
2020-05-11 17:00:33 +05:30
atvanguard
67c29d7ce3 chg: Add GetRootHash to ethClient / use uint64 2020-05-07 20:17:15 +05:30
atvanguard
50c0b662cf Remove once.do 2020-05-06 17:14:53 +05:30
atvanguard
54bbdff1e4 Initialize apiCache in once.do 2020-05-06 16:35:12 +05:30
atvanguard
bbe6522f35 new: Add GetRootHash to api backend 2020-05-05 14:45:56 +05:30
atvanguard
5bd72779d5 new: Add GetRootHash bor api method 2020-05-05 09:45:57 +05:30
atvanguard
f02da00855 chg: dev: errMismatchingSprintValidators 2020-04-29 10:55:27 +05:30
atvanguard
7e4e2b722c test: Add tests for GetSignerSuccessionNumber 2020-04-28 11:01:37 +05:30
atvanguard
52dbf54808 refactor: Fix minor issues from audit (2.36/37/40/41) 2020-04-27 08:57:03 +05:30
atvanguard
54609b6168 refactor: Bubble up error in updateTotalVotingPower instead of panic (2.29) 2020-04-27 08:56:55 +05:30
atvanguard
18266b0d7a minor: Throw error if proposer/signer are not in the validator set (2.28) 2020-04-22 12:42:03 +05:30
atvanguard
bfab1d932d dev: rename CompareProposerPriority to Cmp, add nil check (2.27) 2020-04-21 11:31:45 +05:30
atvanguard
48d6d76d18 minor: Remove the redundant validator.Bytes() func, fix comments (2.26) 2020-04-21 10:29:59 +05:30
atvanguard
b00299ca13 fix: Validator list could be invalid making the node crash (2.13) 2020-04-21 09:50:44 +05:30
atvanguard
122a2304db minor: Run gofmt -w . 2020-04-20 20:34:58 +05:30
Arpit Agarwal
d8c07f302a
fix: Check block delay in verifyHeaders / remove empty chainId check (MAT-1080, MAT-1089) (#49)
* fix: Check block delay in verifyHeaders

* Pull block time check out of if condition

* fix: Always check chainId equality in heimdall response
2020-04-20 11:53:05 +05:30
Arpit Agarwal
4401581ef1
dev: Provide Heimdall URL as flag instead of in genesis (#46) 2020-04-07 10:56:29 +05:30
Arpit Agarwal
7183e217c0
fix: ethClient.SubscribeNewDeposit should accept StateData channel (#44)
* ethClient.SubscribeNewDeposit should accept StateData channel

* remove redundant function

* Fix compilation error
2020-04-06 11:40:14 +05:30
Sayli Patil
260243cf88
MAT-865: Add subscribe deposit event filter (#21)
* add eth_depositById rpc method

* add sample depositById test

* change ethereum to bor

* add subscription for new deposit data

* create channel to listen new state change

* push state data to subcribed channel

* apply filter on deposit events sub

* remove unused methods

* Fix: no filter

* Remove unused method

* revert changes

* Fix: RPC port

* refactor and cleanup

* Fix: SubscribeStateEvent

* remove unused import

* Resolve comments

Co-authored-by: Arpit Agarwal <93arpit@gmail.com>
2020-04-06 09:52:21 +05:30
Hanjiang Yu
8f05cfa122
cmd, consensus: add option to disable mmap for DAG caches/datasets (#20484)
* cmd, consensus: add option to disable mmap for DAG caches/datasets

* consensus: add benchmarks for mmap with/with lock
2020-03-31 11:44:04 +03:00
Jaynti Kanani
ae82c4cd37
fix polluted path and check data length for validation action 2020-03-25 18:41:16 +05:30
Jaynti Kanani
1a360aeb9e
fix build once and for all + go mod tidy 2020-03-20 19:09:19 +05:30
atvanguard
d56c75d90a Test isValidatorAction after span changes 2020-03-18 14:48:57 +05:30
atvanguard
2ea69833dd Cleanup debug statements 2020-03-18 14:48:57 +05:30
atvanguard
e6de60b80e TestCommitSpan finally works 2020-03-18 14:48:57 +05:30
atvanguard
2d0b9ea63d try to use same statedb 2020-03-18 14:48:57 +05:30
atvanguard
9dd4e4b0f9 Refactor HeimdallClient + commitSpan test 🚧 2020-03-18 14:48:57 +05:30
atvanguard
57ccdb5482 Revert unintended changes 2020-03-18 14:48:57 +05:30
atvanguard
f7e58d6030 Test for IsValidatorAction 2020-03-18 14:48:57 +05:30
atvanguard
1d5b263362 WIP 2020-03-18 14:48:57 +05:30
atvanguard
a3e01638a4 Test isValidatorAction 🚧 2020-03-18 14:48:57 +05:30
atvanguard
27fc66ef24 Add bor.isValidatorAction and call it while validating underpriced tx 2020-03-18 14:48:57 +05:30
atvanguard
5f96b06add Send key while logging error msg 2020-03-06 16:00:04 +05:30
Jaynti Kanani
14ffde834c
Merge pull request #20 from maticnetwork/develop
Develop
2020-02-17 19:52:49 +05:30
atvanguard
04f5abcc13 Expose API methods 2020-02-17 18:56:23 +05:30
atvanguard
4037b09968 Add GetCurrentProposer API call 🚧 2020-02-17 11:32:15 +05:30
Jaynti Kanani
cfac491edb
check bor chain id for commit span and state 2020-02-15 15:36:53 +05:30
Jaynti Kanani
b343bd10c6
fix log for retry 2020-02-10 19:30:09 +05:30
Jaynti Kanani
e36fb38183
remove unwanted comments 2020-02-08 02:48:02 +05:30
Guillaume Ballet
c49a4165d0 consensus/ethash: fix a typo and error message (#20503) 2020-01-07 18:19:21 +01:00
Jaynti Kanani
36ff50845e
use hex encoding for record bytes 2020-01-01 17:12:34 +05:30
Martin Holst Swende
bc01593afb consensus/ethash, params: eip-2384: bump difficulty bomb (#20347)
* consensus/ethash, params: implement eip-2384: bump difficulty bomb

* params: EIP 2384 compat checks

* consensus, params: add Muir Glacier block number (mainnet,ropsten) + official name

* core/forkid: forkid tests for muir glacier

* params/config: address review concerns

* params, core/forkid: review nitpicks

* cmd/geth,eth,les: add override option for muir glacier

* params: nit fix
2019-12-06 11:36:40 +02:00
Jaynti Kanani
bd9cd503a1
fix merge conflict 2019-12-04 22:28:21 +05:30
vaibhavchellani
039c932fc7 removed conflicts 2019-12-04 18:29:51 +05:30
vaibhavchellani
088b57ebea removed fmt log from snapshot 2019-12-04 14:21:12 +05:30
vaibhavchellani
783d094a28 log usage standardised 2019-12-04 14:18:25 +05:30
Jaynti Kanani
2f0b5ce143
increase backup limit 2019-12-03 22:55:30 +05:30
Jaynti Kanani
29e8a42df6
verify before validator set change at sprint end 2019-12-03 18:50:30 +05:30
Jaynti Kanani
4b452d8a3a
retry span and states in bor 2019-12-03 16:47:28 +05:30
Felix Lange
a91b704b01
consensus/ethash: refactor remote sealer (#20335)
The original idea behind this change was to remove a use of the
deprecated CancelRequest method. Simply removing it would've been an
option, but I couldn't resist and did a bit of a refactoring instead.

All remote sealing code was contained in a single giant function. Remote
sealing is now extracted into its own object, remoteSealer.
2019-11-28 10:51:57 +01:00
Felix Lange
c5c5e0dbe8
consensus/clique: fix struct tags for status API (#20316)
Also unexport the status struct.
2019-11-18 18:14:59 +01:00
Martin Holst Swende
3f4a875bf6 consensus/clique: add clique_status API method (#20103)
This PR introduces clique_status which gives info about the health of
the clique network.

It's currently a bit PITA to find out how a clique network is
performing, and it can easily happen that sealers drop off -- and
everything is 'fine' until one more signer drops off, and the network
suddenly halts.

The new method provides the following stats:

- Which signers are currently active, and have signed blocks in the last
  N (set to 64) blocks?
- How many blocks has each signer signed?
- What is the difficulty in the last N blocks, compared to the
  theoretical maximum?
2019-11-18 17:03:57 +01:00
Jaynti Kanani
0f172fd0eb
change package name 2019-11-12 13:17:12 -05:00
Guillaume Ballet
de2259d27c travis: enable test suite on ARM64 (#20219)
* travis: Enable ARM support

* Include fixes from 20039

* Add a trace to debug the invalid lookup issue

* Try increasing the timeout to see if the arm test passes

* Investigate the resolver issue

* Increase arm64 timeout for clique test

* increase timeout in tests for arm64

* Only test the failing tests

* Review feedback: don't export epsilon

* Remove investigation tricks+include fjl's feeback

* Revert the retry ahead of using the mock resolver

* Fix rebase errors
2019-11-08 10:58:57 +02:00
Jaynti Kanani
dc16740906
fix errors and refactoring 2019-11-05 12:12:10 +05:30
Guillaume Ballet
72617a0742 consensus: fix possessives in comments. (#20209) 2019-10-28 09:57:34 +02:00
Jaynti Kanani
0d86eed2c3
add method to commit states 2019-10-27 01:50:57 +05:30
Jaynti Kanani
a4d92f8e30
span sync done right 2019-10-25 20:11:07 +05:30
Jaynti Kanani
521e7e295a
commit span WIP 2019-10-25 15:02:04 +05:30
Jaynti Kanani
26ce6db06d
WIP span sync 2019-10-24 13:07:50 +05:30
Jaynti Kanani
dae44a2a9c
add more logs 2019-09-26 14:42:33 +05:30
Jaynti Kanani
374e438f42
use wiggle as 2*period 2019-09-26 13:54:12 +05:30
Jaynti Kanani
6cc7e88e94
remove log 2019-09-26 12:49:35 +05:30
Jaynti Kanani
48c0745964
fix :) 2019-09-25 19:16:36 +05:30
venkatesh mankena
0edf50b540 initial span size condition change 2019-09-20 17:54:01 +05:30
venkatesh mankena
ee77e5bd0f removing unwanted logs 2019-09-20 17:51:21 +05:30
venkatesh mankena
ad215df33b fix first_end_block 2019-09-20 17:33:59 +05:30
venkatesh mankena
a4be27641a udpated bor.go to fetch firstEndBlock 2019-09-20 14:39:09 +05:30
Jaynti Kanani
3e8e4dfe88
bor changes 2019-09-04 19:20:28 +05:30
Felix Lange
54b271a86d
crypto: add SignatureLength constant and use it everywhere (#19996)
Original change by @jpeletier
2019-08-22 15:14:06 +02:00
Péter Szilágyi
1a83114c74
all: update author list and licenses 2019-07-22 12:17:27 +03:00
Jaynti Kanani
cc9b230fc0
merge release/1.9 2019-07-14 15:55:04 +05:30
Jaynti Kanani
73d080c125
fix difficulty 2019-06-26 15:08:02 +05:30
Jaynti Kanani
f12ae309cf
fix block time bug 2019-06-21 17:40:23 +05:30
Jaynti Kanani
ad198aeefd
bor validator set 2019-06-15 19:56:16 +05:30
Jaynti Kanani
ceae9134b9
validator contract 2019-06-09 21:47:25 +05:30
Jaynti Kanani
34bcfb42a3
Merge branch 'master' into bor 2019-05-18 14:56:03 +05:30
Jaynti Kanani
17ed765ce0
bor producer change delay 2019-05-18 14:55:02 +05:30
Jaynti Kanani
f37d07db3d
update bor consensus 2019-05-17 23:25:56 +05:30
Péter Szilágyi
536b3b416c
cosensus, core, eth, params, trie: fixes + clique history cap 2019-05-16 10:39:35 +03:00
Jaynti Kanani
84828e7c94
fix epoch 2019-05-15 19:26:21 +05:30
Jaynti Kanani
f2cd20e591
Fork clique consensus for Bor 2019-05-15 16:45:00 +05:30
Péter Szilágyi
6ec6b29051
core: fix import errors on clique crashes + empty blocks (#19544)
* core: fix import errors on clique crashes + empty blocks

* cosensus/clique, core: add test for the mirrored state issue

* core: address todo question wrt log count

* core: raise a louder warning for non-clique known blocks
2019-05-10 17:04:10 +03:00
Martin Holst Swende
4c90efdf57 consensus,core,miner: avoid overhead of creating a new block (#19301)
* consensus,core,miner: avoid overhead of creating a new block

* consensus: nitpick dot

* consensus: fix some comment formatting nits
2019-04-30 16:42:36 +03:00
Martin Holst Swende
d763b49ae3
consensus,core: shortcut uncle validation 2019-04-08 10:57:15 +02:00
Martin Holst Swende
0b4fe8d192 all: simplify timestamps to uint64 (#19372)
* all: simplify timestamps to uint64

* tests: update definitions

* clef, faucet, mobile: leftover uint64 fixups

* ethash: fix tests

* graphql: update schema for timestamp

* ethash: remove unused variable
2019-04-02 23:28:48 +03:00
Péter Szilágyi
72b21db2d3
Merge pull request #19021 from karalabe/database-cleanup
all: clean up and properly abstract database accesses
2019-03-07 10:21:40 +02:00
Péter Szilágyi
054412e335
all: clean up and proerly abstract database access 2019-03-06 13:35:03 +02:00
Péter Szilágyi
2f24e254a9
consensus/clique: fix test copy paste error, test what's documented 2019-03-06 12:42:08 +02:00
Paul Berg
572baae10a signer, clef: implement EIP191/712 (#17789)
* Named functions and defined a basic EIP191 content type list

* Written basic content type functions

* Added ecRecover method in the clef api

* Updated the extapi changelog and addded indications in the README

* Changed the version of the external API

* Added tests for 0x45

* Implementing UnmarshalJSON() for TypedData

* Working on TypedData

* Solved the auditlog issue

* Changed method to signTypedData

* Changed mimes and implemented the 'encodeType' function for EIP-712

* Polished docstrings, ran goimports and swapped fmt.Errorf with errors.New where possible

* Drafted recursive encodeData

* Ran goimports and gofmt

* Drafted first version of EIP-712, including tests

* Temporarily switched to using common.Address in tests

* Drafted text/validator and and rewritten []byte as hexutil.Bytes

* Solved stringified address encoding issue

* Changed the property type required by signData from bytes to interface{}

* Fixed bugs in 'data/typed' signs

* Brought legal warning back after temporarily disabling it for development

* Added example RPC calls for account_signData and account_signTypedData

* Named functions and defined a basic EIP191 content type list

* Written basic content type functions

* Added ecRecover method in the clef api

* Updated the extapi changelog and addded indications in the README

* Added tests for 0x45

* Implementing UnmarshalJSON() for TypedData

* Working on TypedData

* Solved the auditlog issue

* Changed method to signTypedData

* Changed mimes and implemented the 'encodeType' function for EIP-712

* Polished docstrings, ran goimports and swapped fmt.Errorf with errors.New where possible

* Drafted recursive encodeData

* Ran goimports and gofmt

* Drafted first version of EIP-712, including tests

* Temporarily switched to using common.Address in tests

* Drafted text/validator and and rewritten []byte as hexutil.Bytes

* Solved stringified address encoding issue

* Changed the property type required by signData from bytes to interface{}

* Fixed bugs in 'data/typed' signs

* Brought legal warning back after temporarily disabling it for development

* Added example RPC calls for account_signData and account_signTypedData

* Polished and fixed PR

* Polished and fixed PR

* Solved malformed data panics and also wrote tests

* Solved malformed data panics and also wrote tests

* Added alphabetical sorting to type dependencies

* Added alphabetical sorting to type dependencies

* Added pretty print to data/typed UI

* Added pretty print to data/typed UI

* signer: more tests for typed data

* signer: more tests for typed data

* Fixed TestMalformedData4 errors and renamed IsValid to Validate

* Fixed TestMalformedData4 errors and renamed IsValid to Validate

* Fixed more new failing tests and deanonymised some functions

* Fixed more new failing tests and deanonymised some functions

* Added types to EIP712 output in cliui

* Added types to EIP712 output in cliui

* Fixed regexp issues

* Fixed regexp issues

* Added pseudo-failing test

* Added pseudo-failing test

* Fixed false positive test

* Fixed false positive test

* Added PrettyPrint method

* Added PrettyPrint method

* signer: refactor formatting and UI

* signer: make ui use new message format for signing

* Fixed breaking changes

* Fixed rules_test failing test

* Added extra regexp for reference types

* signer: more hard types

* Fixed failing test, formatted files

* signer: use golang/x keccak

* Fixed goimports error

* clef, signer: address some review concerns

* Implemented latest recommendations

* Fixed comments and uintint256 issue

* accounts, signer: fix mimetypes, add interface to sign data with passphrase

* signer, accounts: remove duplicated code, pass hash preimages to signing

* signer: prevent panic in type assertions, make cliui print rawdata as quotable-safe

* signer: linter fixes, remove deprecated crypto dependency

* accounts: fix goimport
2019-02-06 08:30:49 +01:00
Martin Holst Swende
43e8efe895
accounts, eth, clique, signer: support for external signer API (#18079)
* accounts, eth, clique: implement external backend + move sighash calc to backend

* signer: implement account_Version on external API

* accounts/external: enable ipc, add copyright

* accounts, internal, signer: formatting

* node: go fmt

* flags: disallow --dev in combo with --externalsigner

* accounts: remove clique-specific signing method, replace with more generic

* accounts, consensus: formatting + fix error in tests

* signer/core: remove (test-) import cycle

* clique: remove unused import

* accounts: remove CliqueHash and avoid dependency on package crypto

* consensus/clique: unduplicate header encoding
2019-02-05 11:23:57 +01:00
Dave McGregor
33d233d3e1
vendor, crypto, swarm: switch over to upstream sha3 package 2019-01-04 09:26:07 +02:00
mr_franklin
9a000601c6 consensus/clique: fix comment typo (#18103) 2018-11-14 14:50:30 +02:00
gary rong
144c1c6c52 consensus: extend getWork API with block number (#18038) 2018-11-08 17:08:57 +02:00
gary rong
d6254f827b all: protect self-mined block during reorg (#17656) 2018-09-20 15:09:30 +03:00
gary rong
0b477712a1 consensus/clique: hide no transaction error (#17614) 2018-09-19 12:06:55 +03:00
gary rong
5d1d1a808d consensus, ethdb, metrics: implement forced-meter (#17667) 2018-09-17 15:32:34 +03:00
Péter Szilágyi
41ac8dd803
Merge pull request #17675 from holiman/eip1234
Eip1234
2018-09-17 15:18:17 +03:00
Martin Holst Swende
7efb12d29b
ethash: documentation + cleanup 2018-09-17 11:53:36 +02:00
Martin Holst Swende
3df7df0386
ethash: less copy-paste for EIP 1234 2018-09-15 23:54:16 +02:00
EOS Classic
0732617b65
consensus: implement Constantinople EIP 1234 2018-09-12 20:02:34 +09:00
Péter Szilágyi
4bb25042eb
consensus/clique, core: chain maker clique + error tests 2018-09-11 16:40:00 +03:00
Péter Szilágyi
bcfb7f58b9
consensus/clique: only trust snapshot for genesis or les checkpoint 2018-09-10 15:00:54 +03:00
Anton Evangelatov
cc2b39bbd1 consensus/ethash: increase timeout in test (#17526)
This is an attempt to fix the flaky consensus/ethash tests under macOS.
2018-09-03 16:59:23 +02:00
ult-bobonovski
992b77992f consensus: fix comment typo (#17562) 2018-09-03 16:49:00 +02:00
gary rong
c1c003e4ff consensus, miner: stale block mining support (#17506)
* consensus, miner: stale block supporting

* consensus, miner: refactor seal signature

* cmd, consensus, eth: add miner noverify flag

* cmd, consensus, miner: polish
2018-08-28 16:59:05 +03:00
Mymskmkt
c64d72bea2 consensus/ethash: remove unnecessary type declaration (#17529) 2018-08-28 10:05:25 +03:00
gary rong
40a71f28cf miner: fix state commit, track old work packages too (#17490)
* miner: commit state which is relative with sealing result

* consensus, core, miner, mobile: introduce sealHash interface

* miner: evict pending task with threshold

* miner: go fmt
2018-08-23 16:02:57 +03:00
Péter Szilágyi
9f036647e4
consensus/clique, light: light client snapshots on Rinkeby 2018-08-21 15:21:59 +03:00
Péter Szilágyi
251c868008
consensus/ethash: reduce notify test aggressiveness 2018-08-17 18:12:39 +03:00
Péter Szilágyi
d8541a9f99
consensus/ethash: use DAGs for remote mining, generate async 2018-08-15 14:38:39 +03:00
Péter Szilágyi
f0998415ba
cmd, consensus/ethash, eth: miner push notifications 2018-08-10 09:06:59 +03:00
gary rong
51db5975cc consensus/ethash: move remote agent logic to ethash internal (#15853)
* consensus/ethash: start remote ggoroutine to handle remote mining

* consensus/ethash: expose remote miner api

* consensus/ethash: expose submitHashrate api

* miner, ethash: push empty block to sealer without waiting execution

* consensus, internal: add getHashrate API for ethash

* consensus: add three method for consensus interface

* miner: expose consensus engine running status to miner

* eth, miner: specify etherbase when miner created

* miner: commit new work when consensus engine is started

* consensus, miner: fix some logics

* all: delete useless interfaces

* consensus: polish a bit
2018-08-03 11:33:37 +03:00
hadv
49f63deb24
consensus/clique: replace bubble sort by golang stable sort 2018-07-24 14:56:53 +07:00
Wenbiao Zheng
f6206efe5b consensus: move test use only var/func to test(#17004) 2018-07-24 02:14:15 +02:00
Ralph Caraveo III
5d30be412b all: switch out defunct set library to different one (#16873)
* keystore, ethash, eth, miner, rpc, whisperv6: tech debt with now defunct set.

* whisperv5: swap out gopkg.in/fatih/set.v0 with supported set
2018-07-16 10:54:19 +03:00
Kwuaint
facf1bc9d6 consensus/ethash: fix the algorithm of fakeBlockNumber in comments (#17166)
correct the algorithm in the comments for fakeBlockNumber, from "min" to "max".
2018-07-12 13:32:23 +03:00
LeoLiao
0b20b1a050 consensus/clique: fixed documentation copy-paste issue (#17137) 2018-07-09 11:39:43 +03:00
Zak Cole
eb794af833 consensus/ethash: fixed documentation typo (#17121)
"proot-of-work" to "proof-of-work"
2018-07-04 11:20:58 +03:00
Felix Lange
3f33a7c8ce consensus/ethash: reduce keccak hash allocations (#16857)
Use Read instead of Sum to avoid internal allocations and
copying the state.

name                      old time/op  new time/op  delta
CacheGeneration-8          764ms ± 1%   579ms ± 1%  -24.22%  (p=0.000 n=20+17)
SmallDatasetGeneration-8  75.2ms ±12%  60.6ms ±10%  -19.37%  (p=0.000 n=20+20)
HashimotoLight-8          1.58ms ±11%  1.55ms ± 8%     ~     (p=0.322 n=20+19)
HashimotoFullSmall-8      4.90µs ± 1%  4.88µs ± 1%   -0.31%  (p=0.013 n=19+18)
2018-06-04 10:32:32 +03:00
hadv
f2fdb75dd9
core, consensus: fix some typos in comment code and output log 2018-05-19 15:44:36 +07:00
gary rong
7beccb29be all: get rid of error when creating memory database (#16716)
* all: get rid of error when create mdb

* core: clean up variables definition

* all: inline mdb definition
2018-05-09 15:24:25 +03:00
Péter Szilágyi
6cf0ab38bd
core/rawdb: separate raw database access to own package (#16666) 2018-05-07 14:35:06 +03:00
YH-Zhou
fd3da7c69d consensus/ethash: fixed typo (#16665) 2018-05-03 12:44:47 +03:00
thomasmodeneis
ba1030b6b8 build: enable goimports and varcheck linters (#16446) 2018-04-18 00:53:50 +02:00
Kyuntae Ethan Kim
d429a92f09 consensus/ethash: fixed typo (#16253) 2018-03-05 11:32:56 +02:00
Péter Szilágyi
17b0e226d3
travis, build, consensus: drop support for Go 1.7 2018-02-27 18:25:56 +02:00
Anton Evangelatov
ae9f97221a metrics: pull library and introduce ResettingTimer and InfluxDB reporter (#15910)
* go-metrics: fork library and introduce ResettingTimer and InfluxDB reporter.

* vendor: change nonsense/go-metrics to ethersphere/go-metrics

* go-metrics: add tests. move ResettingTimer logic from reporter to type.

* all, metrics: pull in metrics package in go-ethereum

* metrics/test: make sure metrics are enabled for tests

* metrics: apply gosimple rules

* metrics/exp, internal/debug: init expvar endpoint when starting pprof server

* internal/debug: tiny comment formatting fix
2018-02-23 11:56:08 +02:00
Péter Szilágyi
55599ee95d core, trie: intermediate mempool between trie and database (#15857)
This commit reduces database I/O by not writing every state trie to disk.
2018-02-05 17:40:32 +01:00
Felix Lange
924065e19d consensus/ethash: improve cache/dataset handling (#15864)
* consensus/ethash: add maxEpoch constant

* consensus/ethash: improve cache/dataset handling

There are two fixes in this commit:

Unmap the memory through a finalizer like the libethash wrapper did. The
release logic was incorrect and freed the memory while it was being
used, leading to crashes like in #14495 or #14943.

Track caches and datasets using simplelru instead of reinventing LRU
logic. This should make it easier to see whether it's correct.

* consensus/ethash: restore 'future item' logic in lru

* consensus/ethash: use mmap even in test mode

This makes it possible to shorten the time taken for TestCacheFileEvict.

* consensus/ethash: shuffle func calc*Size comments around

* consensus/ethash: ensure future cache/dataset is in the lru cache

* consensus/ethash: add issue link to the new test

* consensus/ethash: fix vet

* consensus/ethash: fix test

* consensus: tiny issue + nitpick fixes
2018-01-23 12:05:30 +02:00
gary rong
3a5a5599dd consensus/ethash: fix byzantium difficulty comment typo (#15842) 2018-01-10 10:58:03 +02:00
Péter Szilágyi
6f69cdd109
all: switch gas limits from big.Int to uint64 2018-01-03 14:45:35 +02:00
sunxiaojun2014
908faf8cd7 consensus/ethash: fix overdue link (#15786) 2017-12-31 13:38:39 +02:00
gary rong
5f8888e116 accounts, consensus, core, eth: make chain maker consensus agnostic (#15497)
* accounts, consensus, core, eth: make chain maker consensus agnostic

* consensus, core: move CalcDifficulty to Engine interface

* consensus: add docs for calcDifficulty function

* consensus, core: minor comment fixups
2017-12-22 14:37:50 +02:00
Péter Szilágyi
5129ef22c2
Merge pull request #15629 from holiman/relax_futuretime
consensus/ethash: relax requirements when determining future-blocks
2017-12-14 11:28:42 +02:00
Zach
3da1bf8ca1 all: use gometalinter.v2, fix new gosimple issues (#15650) 2017-12-12 19:05:47 +01:00