Artem Vorotnikov
610d9baba4
Reformat the source code
2020-08-07 20:46:52 +03:00
5chdn
aa8487c1d0
ethcore: add clique engine ( #9981 )
...
* fix broken sync
* correct seal fields
* ethcore: fix comment
* parity: remove duplicate params
* clique: fix whitespaces
* ethcore: fix goerli chain spec
* refactor signer_snapshot into pending/finalized state
* move close_block_extra_data after seal is applied
* refactor most of the logic into the signer_snapshot
* clique: refactor locking logic out of the consensus engine interface
* Fix jsonspec and add an unittest
* Replace space with tabs
* Unbroke sync
* Fix broken sync
* 1/2 state tracking without votes
* 2/2 implement vote tracking
* ci: use travis for goerli
* ci: setup a clique network
* ci: sync a görli node
* add clique deploy script
* ci: fix paths in clique deploy script
* ci: use docker compose
* ci: fix travis job names
* ci: fix build deps
* ci: massively reduce tests
* Revert "ci: massively reduce tests"
This reverts commit 6369f0b069ed2607a7e9f2e1d85489bacdc43384.
* ci: run cargo test directly
* ci: separate build and test stages
* ci: cache rust installation
* ci: simplify ci stages
* ci: make clique deploy script executable
* ci: shutdown goerli sync after 20min
* ci: remove slow sync stage
* ci: use timeout to finish jobs
* ci: fix build path
* ci: use absolute paths to end this confusion
* ci: add geth and parity to path
* ci: be more verbose
* ci: allow for more relaxed caching timeout
* ci: update repositories for custom ppa
* ci: fix typo in file name
* ci: fix docker compose file
* ci: add ethkey to docker
* ci: make sure deploy script is up to date with upstream
* ci: stop docker container after certain time
* ci: force superuser to update permissions on docker files
* ci: reduce run time of script to ~30 min
* ci: remove duplicate caching in travis
* remove trace statements
* clique: add more validation involving the recent signer list
* ethcore: enable constantinople for rinkeby
* ethcore: fix whitespaces in rinkeby spec
* ethcore: reformat goerli.json
* Revert "ci: remove duplicate caching in travis"
This reverts commit a562838d3d194d37f9871dcbe00b783637978f89.
* tmp commit
* another tmp commit
* it builds!
* add sealing capabilities
* add seal_header hook to allow separation of block seal/importing code paths
* clique: remove populate_from_parent.
* add panic
* make turn delay random
* initialize OpenBlock properly in 'enact'
* misc: remove duplicate lines
* misc: fix license headers
* misc: convert spaces to tabs
* misc: fix tabs
* Update Cargo.toml
* Update Cargo.toml
* Update Cargo.toml
* clique: ensure validator restores state before trying to seal
* clique: make 'state' return an Error. Make some error messages more clear
* Fix compile error after rebase & toolchain upgrade
* fix a bunch of import warnings
* Refactor code
* Fix permissions
* Refactoring syncing
* Implement full validator checks
* Refactor util functions to seperate file
* mining 1
* ethcore: add chainspec for kotti
* ethcore: rename pre-goerli configs
* ethcore: load kotti chain spec
* cli: add kotti to params
* Implement working local sealing
* making sealing & syncing work together
* Relax timestamp checking
* ethcore: prepare for the real goerli to launch
* Implement NOTURN wiggle properly & cleanupnup warnings
* Implement vote casting
* Update docs & skip signing if no signer
* Optimize step-service interval
* Record state on local sealed block
* Fix script filemode
* Cleaning up codebase
* restore enact trace logging
* Delete clique.sh and move sync.sh
* remove travis.yml
* Remove dead code
* Cleanup compile warning
* address review comments
* adding more comments and removing unwrap()
* ci: remove sync script
* Address review comments
* fix compile error
* adding better debugging for timing
* Implement an dedicated thread for sealing timing
* fix(add helper for timestamp overflows) (#10330 )
* fix(add helper timestamp overflows)
* fix(simplify code)
* fix(make helper private)
* snap: official image / test (#10168 )
* official image / test
* fix / test
* bit more necromancy
* fix paths
* add source bin/df /test
* add source bin/df /test2
* something w paths /test
* something w paths /test
* add source-type /test
* show paths /test
* copy plugin /test
* plugin -> nil
* install rhash
* no questions while installing rhash
* publish snap only for release
* fix(docker): fix not receives SIGINT (#10059 )
* fix(docker): fix not receives SIGINT
* fix: update with reviews
* update with review
* update
* update
* Don't add discovery initiators to the node table (#10305 )
* Don't add discovery initiators to the node table
* Use enums for tracking state of the nodes in discovery
* Dont try to ping ourselves
* Fix minor nits
* Update timeouts when observing an outdated node
* Extracted update_bucket_record from update_node
* Fixed typo
* Fix two final nits from @todr
* change docker image based on debian instead of ubuntu due to the chan… (#10336 )
* change docker image based on debian instead of ubuntu due to the changes of the build container
* role back docker build image and docker deploy image to ubuntu:xenial based (#10338 )
* Bundle protocol and packet_id together in chain sync (#10315 )
Define a new `enum` where devp2p subprotocol packet ids (currently eth and par) are defined. Additionally provide functionality to query id value and protocol of a given id object.
* snap: prefix version and populate candidate channel (#10343 )
* snap: populate candidate releases with beta snaps to avoid stale channel
* snap: prefix version with v*
* addressing review comments
* engine: fix copyright header
* scripts: restore permissions on sign command
* ethcore: enforce tabs
* ethcore: enforce tabs
* ethcore: enforce tabs
* addressing comments
* addressing comments
* addressing more comments
* addressing more comments
* addressing more comments
* addressing more comments
* addressing more comments
* json-spec: fix clique epoch to non-zero u64
* ci: enable travis for parity goerli
* ci: don't separate build and test step
* ci: don't run c++ tests on travis
* ci: simplify cargo test to squeeze into travis timeout
* ci: don't run tests on travis at all
* style(fixes)
* fix(add tests)
* fix(recent_signer bug)
* fix(complete all tests)
* fix(nits)
* fix(simplify asserts)
* fix(cliqueState): simplify code
* fix(nits)
* docs(comments what's need to fixed)
* fix(revert unintended changes)
* fix(tests)
* fix(logs): voting logs
* fix(readability + more logs)
* fix(sync)
* docs(add missing licens header)
* fix(log): info! -> trace!
* docs(fix nits) + fix(remove assert)
* perf(use counter instead of vec)
* fix(remove needless block in match)
* fix(faulty comment)
* grumbles(docs for tests)
* fix(nits)
* fix(revert_vote): only remove vote when votes == 0
* fix(vote counter): checked arithmetics
* fix(simplify tests)
* fix(nits)
* fix(clique): err types
* fix(clique utils): make use of errors
* fix(cleanup nits)
* fix(clique sealing): don't read state no signer
* fix(replace Vec<Signers> with BTreeSet<Signers>)
* fix(tests): BTreeSet and more generic helpers
* fix(nits)
* fix(ethcore_block_seal): remove needless `Box`
* fix(faulty log): info -> trace
* fix(checked SystemTime): prevent SystemTime panics
* style(chain cfg): space after `:`
* style(fn enact): fix whitespace
* docs(clique): StepService
* docs(nit): fix faulty comment
* docs(fix typo)
* style(fix bad indentation)
* fix(bad regex match)
* grumble(on_seal_block): make `&mut` to avoid clone
* docs(on_seal_block): fix faulty documentation
* Delete .travis.yml
* docs: remove eth hf references in spec
* Update client.rs
* fix(nits)
* fix(clique step): `RwLock` -> `AtomicBool`
* fix(clique): use `Duration::as_millis`
* Clean up some Clique documentation
Co-authored-by: soc1c <soc1c@users.noreply.github.com>
Co-authored-by: HCastano <HCastano@users.noreply.github.com>
Co-authored-by: niklasad1 <niklasad1@users.noreply.github.com>
Co-authored-by: jwasinger <jwasinger@users.noreply.github.com>
Co-authored-by: ChainSafe <ChainSafe@users.noreply.github.com>
Co-authored-by: thefallentree <thefallentree@users.noreply.github.com>
Co-authored-by: 5chdn <5chdn@users.noreply.github.com>
2019-03-27 14:13:24 +01:00
Afri Schoedon
7c335e8764
misc: bump license header to 2019 ( #10135 )
...
* misc: bump license header to 2019
* misc: remove_duplicate_empty_lines.sh
* misc: run license header script
* commit cargo lock
2019-01-07 11:33:07 +01:00
Wei Tang
f092c10de5
Remove tendermint engine support ( #9980 )
...
* Remove tendermint engine support
* Remove tendermint test json spec
* Fix ethcore test compile
* Remove tendermint test in sync
2018-11-29 06:47:11 +08:00
Wei Tang
14c9cbd40e
Deny unknown fields for chainspec ( #9972 )
...
* Add deny_unknown_fields to chainspec
* Add tests and fix existing one
* Remove serde_ignored dependency for chainspec
* Fix rpc test eth chain spec
* Fix starting_nonce_test spec
2018-11-28 06:21:31 +08:00
Wei Tang
05be4b5b0e
Clean up serde rename and use rename_all = camelCase when possible ( #9823 )
...
* Clean up serde rename and use rename_all = camelCase when possible
* snake_case for pricing
* Use camelcase for engine
* Use camel case for seal
* Use camel case for validator set
* Use camel case for confirmation payload
* Use camel case for consensus status
* Use camel case for nodekind
* Use kebab case for provenance
* Use camel case for pubsub
* Use lowercase and camelcase for trace
* Use camel case for whisper
* rename Ethash as irregular name
2018-10-29 23:49:04 +08:00
Marek Kotewicz
6b286a5dee
make instantSeal engine backwards compatible, closes #9696 ( #9700 )
2018-10-04 15:08:20 +02:00
Wei Tang
5752869824
Support millisecond timestamp for instant seal engine ( #9469 )
...
* Support millisecond timestamp for instant seal engine
* Forgot to checkin instant_seal mod
* Fix instant seal config
* Fix json crate compile
* Fix private_spec.json
* Option<bool> -> bool
2018-09-06 11:38:00 +02:00
Niklas Adolfsson
98b7c07171
Update license header
and scripts
( #8666 )
...
* Update `add_license` script
* run script
* add `remove duplicate lines script` and run it
* Revert changes `English spaces`
* strip whitespaces
* Revert `GPL` in files with `apache/mit license`
* don't append `gpl license` in files with other lic
* Don't append `gpl header` in files with other lic.
* re-ran script
* include c and cpp files too
* remove duplicate header
* rebase nit
2018-06-04 10:19:50 +02:00
Robert Habermeier
bc167a211b
Generalize engine trait ( #6591 )
...
* move common forks and parameters to common params
* port specs over to new format
* fix RPC tests
* parity-machine skeleton
* remove block type
* extract out ethereum-specific methods into EthereumMachine
* beginning to integrate Machine into engines. dealing with stale transitions in Ethash
* initial porting to machine
* move block reward back into engine
* abstract block reward logic
* move last hash and DAO HF logic into machine
* begin making engine function parameters generic
* abstract epoch verifier and ethash block reward logic
* instantiate special ethereummachine for ethash in spec
* optional full verification in verify_block_family
* re-instate tx_filter in a way that works for all engines
* fix warnings
* fix most tests, further generalize engine trait
* uncomment nullengine, get ethcore tests compiling
* fix warnings
* update a bunch of specs
* re-enable engine signer, validator set, and transition handler
* migrate basic_authority engine
* move last hashes into executedblock
* port tendermint
* make all ethcore tests pass
* json-tests compilation
* fix RPC tests: change in gas limit for new block changed PoW hash
* fix minor grumbles
* validate chainspecs
* fix broken import
* fix transaction verification for pre-homestead
2017-09-26 14:19:08 +02:00
Robert Habermeier
003eef982b
Move more params to the common section. ( #6134 )
...
* move common forks and parameters to common params
* port specs over to new format
* fix RPC tests
2017-07-31 12:34:29 +02:00
Guanqun Lu
292eb1de62
add asserts in engine.rs
2017-05-20 12:12:16 +08:00
keorn
ade5a13f5b
Add registrar fields ( #4716 )
...
* add registrar field
* use constructor for dev registrar
* fix test
2017-03-02 12:25:55 +01:00
Gav Wood
8404edb656
Fix whitespace ( #4299 )
...
* Fix whitespace.
* Update copyright years/owner.
* Push release only for tags.
2017-01-25 18:51:41 +01:00
keorn
be30c44179
Validator/authority contract ( #3937 )
...
* dir
* simple validator list
* stub validator contract
* make the engine hold Weak<Client> instead of IoChannel
* validator set factory
* register weak client with ValidatorContract
* check chain security
* add address array to generator
* register provider contract
* update validator set on notify
* add validator contract spec
* simple list test
* split update and contract test
* contract change
* use client in tendermint
* fix deadlock
* step duration in params
* adapt tendermint tests
* add storage fields to test spec
* constructor spec
* execute under wrong address
* create under correct address
* revert
* validator contract constructor
* move genesis block lookup
* add removal ability to contract
* validator contract adding validators
* fix basic authority
* validator changing test
* more docs
* update sync tests
* remove env_logger
* another env_logger
* cameltoe
* hold EngineClient instead of Client
* add a comment about lock scope
2017-01-10 12:23:59 +01:00
keorn
46662899da
make spec naming consistent
2016-12-19 14:15:39 +01:00
keorn
fa504e510f
Merge branch 'master' into auth-bft
2016-12-12 21:28:46 +01:00
Gav Wood
17cc2be4b5
Rename ethcore -> parity in license.
2016-12-11 19:30:54 +01:00
keorn
8ac989cbeb
Merge remote-tracking branch 'parity/master' into bft
2016-11-16 10:29:54 +00:00
keorn
ea960f1c27
Merge remote-tracking branch 'parity/master' into bft
2016-11-07 11:34:45 +00:00
keorn
aa05823afe
Merge remote-tracking branch 'parity/master' into auth-round-no-mocknet
2016-10-24 15:32:30 +01:00
Gav Wood
85eeb3ea6e
EIP150.1c ( #2591 )
...
* EIP150.1b first part.
* Add documentation.
[ci:skip]
* Tweak comment
* Fix some tests.
* Fix create
* Add the new EIP150 test. (#2563 )
* Fix create some more.
* Another fix for create.
* Final fixes.
* Enable EIP150 test.
* Revert the costly suicides to respect EIP150.1b.
* Fixups for EIP150.1c
* Update tests.
* Updating tests
* Adding state tests
* Updating tests
* Updating HF block
* Removing flushln [ci:skip]
* Commenting out suicide test
* New tests.
* Switch to EIP tests.
* Rename some stuff, combine transition tests.
* Fix U256 overflows.
* Name cleanups and an effort to fix tests.
* Rename back for clarity.
* Fix non-EIP-150 OOG CALLs
* New transition block number & additional EIP150 tests
* Morden transition block set; Tests updated
* Added missing test
2016-10-15 14:39:15 +02:00
keorn
747898d8e7
add new engine to spec
2016-09-08 12:28:59 +02:00
keorn
3aa862c9c2
add test, start tendermint
2016-08-23 12:58:40 +02:00
keorn
a20a0de48f
add spec
2016-08-21 15:28:40 +02:00
keorn
b672d51a74
Instant sealing engine ( #1767 )
...
* add an instant sealing engine
* add sealing engine tests
* rename to InstantSeal
* update name in json
* whitespace
[ci:skip]
2016-07-30 14:42:31 -07:00
Gav Wood
799c69c8d5
DAO hard-fork ( #1483 )
...
* Minor additions to allow resetting of code.
* Add test.
* Provisional DAO hard-fork proposal.
* Change to reflect latest HF spec.
* Include extradata restrictions and overrides.
* Introduce new tests.
* Update tests to new spec format.
* Allow JSON chain spec fields to be optional.
* Remove superfluous definitions. Fix overflow risk.
* Fix build.
* Add missing file.
* Remove old flag.
* Update to latest address set.
* Update tests and test spec to latest.
Change the mining default to release only on own transactions.
2016-07-16 13:02:56 +02:00
Gav Wood
488ff88562
Remove soft-fork stuff.
2016-07-05 18:18:35 +02:00
Robert Habermeier
d8fca91a2f
add daoRescueSoftFork to failing rpc and json tests
2016-06-19 17:12:14 +02:00
Tomasz Drwięga
256557d3cc
Removing warnings
2016-05-23 11:46:01 +02:00
Gav Wood
ac73b2628a
Basic Authority ( #991 )
...
* Firt commit.
* First non-functional but correct implementation of BasicAuthority.
Still needs:
- Sealing infrastructure.
* Punch a hole to give miner access to key store.
* Fix test built.
* Basic version of synchronous mining.
This will seal a block whenever a new transaction comes through.
To be made better we need a timer which will wait for one second after the
last block before sealing a new one - better still would be to cooperatively
interleave blocks with other sealing nodes.
* Add tests.
* Fix minor issues from repotting.
* Address grumbles.
2016-05-03 17:23:53 +02:00
Tomasz Drwięga
c47d08e308
Fixing warnings
2016-04-21 16:06:54 +02:00
Marek Kotewicz
373284ca0a
spec loading cleanup ( #858 )
...
* spec loading cleanup in progress
* changed engine field in json spec
* refactored engine params
* polishing spec loading refactor
* fixed compiling json tests
* fixed compiling parity
* removed warnings
* removed commented out code
* fixed failing test
* bringing back removed TODO in spec.
2016-04-09 10:20:35 -07:00