Commit Graph

83 Commits

Author SHA1 Message Date
Benjamin Kampmann 9fb22ce28d Cleaning up dependencies (#125)
* cargo update
* Update to latest ctrlc crate
* Update vergen
* Update to latest pretty_assertions
* Update log
* Update parking_lot
* Update hex-rustc
2019-02-08 18:25:15 +01:00
Bastian Köcher 36034e79a2 Update to latest substrate (#120) 2019-02-04 18:58:03 -03:00
Bastian Köcher 2b0dbd2d77 Updates substrate to latest master (#107)
* Updates substrate to latest master

* Use slot_duration and not slot

* Update to latest substrate master again to have latest CLI

* Rename iherent indentifier

* Update after master merge
2019-01-27 15:21:25 +01:00
Gav Wood c5bb21ab3c Claim yer sale DOTs (#97)
* Add claims.

* Failing build

* Updatee to latest substrate, fix tests

* Remove unneeded

* Introduce tests with real work sig

* Use right 64 bytes of pubkey to get eth addr

* Fix for eth sig

* Fix build

* Fix wasm
2019-01-25 08:43:05 +00:00
Robert Habermeier fe6351ca65 Parachain execution yields messages to send (#96)
* read head-data directly out of WASM memory

* implement ext_post_message for parachain WASM

* further refactoring of the parachain module

* add externalities error type

* accumulate posted messages when validating parachain candidate

* define Extrinsic type in primitives

* availability-store: store extrinsic data

* compute extrinsic and check against candidate

* add some egress queue tests

* grumbles & substrate update

* ensure everything builds
2019-01-22 12:32:32 +01:00
Robert Habermeier 152bb30889 limit number of transactions when building blocks (#91) 2019-01-18 16:31:39 +01:00
Robert Habermeier 32cef97681 Remove availability statement (#79)
* remove availability vote type from statement-table

* expunge availability statement from consensus module

* expunge availability from duty roster

* rename StatementProducer to ParachainWork

* fix runtime tests and remove availability statement variant

* update wasm
2019-01-18 11:45:05 +01:00
Benjamin Kampmann 819a90ce67 Update log message for propsing blocks (#77)
in accordance with https://github.com/paritytech/substrate/pull/1397
2019-01-14 21:00:03 -03:00
Gav Wood f66b5115fd Update to latest substrate (#66)
* Update to latest substrate

* Fix as much as I can

* Store key out of Environment::init

* Fix service compile
2019-01-08 14:08:31 +01:00
Robert Habermeier b2db7857a7 ensure all spawned futures are exit-guarded (#59) 2018-12-29 18:05:45 +01:00
Gav Wood a7cd223104 Introduce sudo module 2018-12-21 12:54:16 +01:00
Robert Habermeier ccbae389c2 Update to latest substrate (#57)
* update to latest substrate

* update WASM and runtime

* Rename Id to ParaId in decl_{module,storage} (exported metadata type) (#58)

* Rename Id to ParaId in decla_module (exported type)

* AccountParaId -> AccountId
2018-12-20 13:43:48 +01:00
Robert Habermeier 19095168ce Authorship works again (#50)
* provide through inherent-data when authoring

* remove unneeded codec round-trip in proposer

* refactor polkadot-consensus service architecture

* integrate block authorship into polkadot service

* remove unused extern substrate-network crate in service

* write wrapper for unifying errors in consensus proposer

* extend wrapper further

* switch temporarily to macro-changing branch

* runtime compiles

* implement `inherent_extrinsics` for runtime

* block authorship works

* add GRANDPA to polkadot runtime

* get everything compiling

* use substrate master branch again

* remove some unneeded params

* update WASM

* parse only extrinsics when pruning availability store

* update recent deps

* runtime almost compiles

* need to expose trait type in build : I had to put phantomdata manually.

* finish updating authorship to latest GRANDPA and Aura

* fix tests

* update wasm
2018-12-11 17:55:04 +01:00
Robert Habermeier 7b46856159 Blocks carry full attestations for candidates (#42)
* statement table yields fully-attested candidates

* attestation types in polkadot-primitives

* propose block with fully-attested candidates in consensus

* some signature-checking logic in the runtime

* fix runtime compilation

* ensure attestations are full and without duplicate when checking

* fix consensus-service compilation

* add some tests

* use bitvec from crates.io now that it's published

* sign statements based on primitive statement's encoding

* remove some serialize bounds

* Fix error message with duplicate availability attestations

Co-Authored-By: rphmeier <rphmeier@gmail.com>
2018-11-26 17:30:04 +01:00
Gav Wood c31f8168df Make work with Substrate master (#36)
* Fix up wasm runtime build

* Fixes for runtime

* Fix.

* More fixes

* Runtime builds on native.

* Native and wasm both build without warnings.

* Fix runtime tests.

* Merge #20

* Final fix for native runtime.

* Compile polkadot wo consensus

* Reverted changes to polkadot-consensus

* reintroduce minimal subset of consensus

* reintroduce checked_block to runtime for std

* polkadot_consensus compiles without most of the code

* remove checked_block again and do more checks in parachains for runtime

* uncomment proposer

* remove offline tracker

* extract out parachain-attestation logic from proposal directly

* reintroduce transaction_pool

* write some custom aura verification logic for the block verifier

* use transaction pool in more generic way

* service compiles again

* polkadot-network and tests pass

* remove unused session_key function from router

* everything but CLI compiles due to service hell

* Fixes compilation of `polkadot_cli`

* everything compiles

* update adder wasm
2018-11-25 11:25:36 +01:00
Gav Wood 84748fccd3 Bring runtime API up to date with Substrate master (#17)
* Fixups for 646

* Fixes for API

* For for #678

* Fix runtime

* Update and build

* Tests build

* Fix tests
2018-09-12 19:36:33 +02:00
Arkadiy Paronyan 192907811b BFT delay adjustments (#593)
* force delay only on votes

* set proposal timestamp forward

* Adjusted timeout formula
2018-08-31 13:26:51 +02:00
Gav d4e761ae7d No need for specific branch 2018-08-30 13:53:04 +02:00
Gav 57e2257a54 Merge remote-tracking branch 'origin/master' into gav-compat-629 2018-08-30 12:42:59 +02:00
Gav Wood 96c269ad08 Merge branch 'master' into rh-testnet-fp 2018-08-30 12:37:24 +02:00
Gav 74b4bc0911 Update to latest substrate 2018-08-30 11:17:48 +02:00
Gav 5138feb801 Fix up polkadot runtime 2018-08-30 09:57:09 +02:00
Robert Habermeier 624c2ca0dc Merge remote-tracking branch 'substrate-disk/polkadot-testnet-fixes-fp' 2018-08-23 13:57:43 +02:00
Robert Habermeier 430e3920e5 Rollup of various testnet-related fixes.
fix a deadlock when spawning agreement as non-authority

fix test compilation for BFT

more accurate consensus superseding logic

mild revision to `can_build_on` logic

block evaluation without redundant initialisation

refactor BFT delay: update rhododendron and poll after delaying. (#589)

dropping BFT future before poll doesn't lead to service deadlock
2018-08-22 18:14:58 +02:00
arkpar d10733c3fe More generic extrinsic pool 2018-08-20 17:21:33 +02:00
Robert Habermeier f1cc82ae53 Continue from next round when re-building on same block (#582)
* keep rounds consistent when encountering bad block

* fix interval logic

* Fixed indentation
2018-08-17 22:13:01 +02:00
Robert Habermeier 321441c1f7 fix interval logic 2018-08-17 13:56:13 +02:00
Gav Wood 314e2eeaf9 New slashing mechanism (#554)
* Slashing improvements

- unstake when balance too low
- unstake after N slashes according to val prefs
- don't early-terminate session/era unless unstaked
- offline grace period before punishment

* Fix warning

* Cleanups and ensure slash_count decays

* Bump authoring version and introduce needed authoring stub

* Rename

* Fix offline tracker

* Fix offline tracker

* Renames

* Add test

* Tests

* Tests.
2018-08-15 18:08:21 +02:00
Robert Habermeier 898c7d3138 parity-substrate -> substrate 2018-08-15 14:34:49 +02:00
Robert Habermeier 56759c781c replacing references to staging branch 2018-08-15 14:17:28 +02:00
Robert Habermeier f85fcd4fc2 get building 2018-08-15 13:40:46 +02:00
Robert Habermeier 6e0903613b point to upstream split-substrate branch 2018-08-15 13:16:54 +02:00
Robert Habermeier cfdda87d44 point things to substrate git repo 2018-08-14 18:53:12 +02:00
Tomasz Drwięga a5a4144ef0 Reject too large transactions (#558)
* Fix is_valid condition when removing transactions from the pool.

* Less verbosity.

* Reject too large transctions from the pool.

* Bring back the warning level.

* Fix link.
2018-08-14 13:13:18 +02:00
Robert Habermeier 74260a0847 Vote out offline authorities (#524)
* notify when an authority appears to have missed their block

* Runtime API

* offline tracker

* Move to consensus

* generating reports of offline indices

* stubbed-out evaluation logic

* Slashing data pathwat

* usize -> u32

* Slash bad validators.

* update to rhododendron 0.3

* fix compilation of polkadot-consensus

* Support offline noting in checked_block

* include offline reports in block authorship voting

* do not vote validators offline after some time

* add test for offline-tracker

* fix test build

* bump spec version

* update wasm

* Only allow validators that are possible to slash

* Fix grumble

* More idiomatic

* New Wasm.

* update rhododendron

* improve logging and reduce round time exponent

* format offline validators in ss58
2018-08-11 11:29:30 +02:00
Robert Habermeier 22c9ac76aa format offline validators in ss58 2018-08-10 18:40:39 +02:00
Robert Habermeier 539650c063 Slashing for voted-offline validators. (#541)
[Backport] Vote out offline authorities
2018-08-10 16:12:17 +02:00
Robert Habermeier 5547b2797b fix block body fetch for availability pruning (#539) 2018-08-10 16:02:07 +02:00
Robert Habermeier fc16b193de Fix some formatting grumbles (#501) 2018-08-06 14:42:39 +03:00
Robert Habermeier 7143e85f39 Availability/Extrinsic store (#465) 2018-08-06 11:55:55 +02:00
Arkadiy Paronyan 5691ad850b [backport] Lower bft timeout (#484)
* v0.2.3

* Lower bft timeout

* force BFT delay in consensus service, not in proposer logic (#477)

* move forced delay to consensus service

* fiddle with logging
2018-08-02 17:17:16 +02:00
Robert Habermeier a7c7bd49d9 force BFT delay in consensus service, not in proposer logic (#477)
* move forced delay to consensus service

* fiddle with logging
2018-08-02 17:01:27 +02:00
Robert Habermeier f4cd995558 Collator for the "adder" (formerly basic-add) parachain and various small fixes (#438)
* update basic_add wasm

* wasm feature and collator feature

* move test parachains around a little

* fix wasm build for basic_add

* move basic_add to adder, introduce README

* minimal basic_add collator

* ensure collator messages are sent in the right order

* more logging

* route consensus statements to all peers

* minor bugfixes for parachains

* genesis builder accounts for parachain heads

* fix parachains tests

* targets for txpool

* tweak runtime + collator

* fix version in adder-collator

* consistency for overflowing

* adjust comment

* fix stable test run

* remove dummy registration test

* final grumbles
2018-08-01 17:04:04 +02:00
Guanghua Guo 075f3f34d5 Fix typo in service.rs (#472) 2018-08-01 12:15:09 +03:00
Chevdor 526de11fe8 WIP: Asciidoc (#407)
* Rename readme

* Add some Asciidoc demo

* Remove extra lines
2018-07-24 11:12:53 +02:00
Robert Habermeier 90ea33c9fe hash random seed when using to choose round proposer (#336) 2018-07-16 18:17:52 +02:00
Arkadiy Paronyan 1e1ddf61f2 Refactored Slicable (#324)
* Refactored Slicable

* Docs

* Wasm build

* Wasm build

* Renamed traits

* Review nits

* Renamed Slicable as well
2018-07-15 22:51:21 +02:00
Gav Wood 257c6d240f Fix and cleanups (#314)
* Cleanups (remove genesis.wasm & nicer errors)

- Pretty errors for version mismatch
- Remove the need for genesis wasm

* Remove unneeded wasm files

* Improve code of conduct

* Leaner code

* Test fixes

* fix tests

* Fix consensus checking
2018-07-15 00:30:13 +02:00
Robert Habermeier 88c40c8fb4 Validator side of the collation protocol. (#295)
* skeleton of collators object

* awaiting and handling collations. rename `collators` to CollationPool

* add some tests

* add tests

* implement Collators trait for ConsensusNetwork

* plug collators into main polkadot-network

* ignore collator role message

* add a couple more tests

* garbage collection for collations

* ensure disconnected backup collator is removed from pool

* address other grumbles
2018-07-12 10:47:10 +02:00
Benjamin Kampmann a876d656bd Rename Hashing Trait to Hash (#288) 2018-07-10 10:05:53 +02:00