Commit Graph

60 Commits

Author SHA1 Message Date
Gavin Wood d80adceea8 Update Substrate (#649)
* Bump Substrate

* Bump version

* Reinstate wasmtime

* Fix warning.
2019-12-03 19:05:24 +01:00
Fedor Sakharov 99d164b5e7 Erasure encoding availability (#345)
* Erasure encoding availability initial commit

 * Modifications to availability store to keep chunks as well as
   reconstructed blocks and extrinsics.
 * Gossip messages containig signed erasure chunks.
 * Requesting eraure chunks with polkadot-specific messages.
 * Validation of erasure chunk messages.

* Apply suggestions from code review

Co-Authored-By: Luke Schoen <ltfschoen@users.noreply.github.com>

* Fix build after a merge

* Gossip erasure chunk messages under their own topic

* erasure_chunks should use the appropriate topic

* Updates Cargo.lock

* Fixes after merge

* Removes a couple of leftover pieces of code

* Fixes simple stuff from review

* Updates erasure and storage for more flexible logic

* Changes validation and candidate receipt production.

* Adds add_erasure_chunks method

* Fixes most of the nits

* Better validate_collation and validate_receipt functions

* Fixes the tests

* Apply suggestions from code review

Co-Authored-By: Robert Habermeier <rphmeier@gmail.com>

* Removes unwrap() calls

* Removes ErasureChunks primitive

* Removes redundant fields from ErasureChunk struct

* AvailabilityStore should store CandidateReceipt

* Changes the way chunk messages are imported and validated.

 * Availability store now stores a validator_index and n_validators for
 each relay_parent.
 * Availability store now also stores candidate receipts.
 * Removes importing chunks in the table and moves it into network
 gossip validation.
 * Validation of erasure messages id done against receipts that are
 stored in the availability store.

* Correctly compute topics for erasure messages

* Removes an unused parameter

* Refactors availability db querying into a helper

* Adds the apis described in the writeup

* Adds a runtime api to extract erasure roots form raw extrinsics.

* Adds a barebone BlockImport impl for avalability store

* Adds the implementation of the availability worker

* Fix build after the merge with master.

* Make availability store API async

* Bring back the default wasmtime feature

* Lines width

* Bump runtime version

* Formatting and dead code elimination

* some style nits (#1)

* More nits and api cleanup

* Disable wasm CI for availability-store

* Another nit

* Formatting
2019-12-03 15:49:07 +01:00
Gavin Wood ec54d5b1e4 Make Kusama decentralised and permissionless (#647)
* Remove Sudo

* Bump versions

* Fixes

* Remove other mentions of sudo

* Remove sudo from Cargo
2019-12-03 15:46:47 +01:00
Arkadiy Paronyan 7cb57e7ab6 Update for new peerset API (#644)
* Reputation changes require reason

* Fixes

* Bump version
2019-12-03 12:09:05 +01:00
Gavin Wood 72bfa8c615 Bump Substrate and version (#645) 2019-12-02 23:40:35 +01:00
Benjamin Kampmann 518b6408a0 reverting to polkadot-master (#643) 2019-12-02 20:42:09 +01:00
Benjamin Kampmann 7832ad93cd fix for latest substrate crate renaming (#641)
* rename crates as appropriate

* Rename to use master - easy to revert, but shows it's working

* Bump runtime version

* Bump version

* Bump Substrate again
2019-12-02 16:56:50 +01:00
Gavin Wood a0edfd57f0 Nicks are 32 bytes (#634)
* Nicks 32 bytes

* Bump runtime version

* Update lock
2019-11-30 20:31:12 +01:00
Gavin Wood 756e0cd165 Update Substrate (#623)
* Update to latest Substrate master (#615)

* Update to latest Substrate master

* Remove unneeded patch + warning

* Update `Cargo.lock`

* Fix tests

* Update again

* Bump Substrate (#616)

* Update lock

* Fix

* Few fixes

* Bump to latest Substrate

* Fixes

* fix pre-tx-pool compilation

* more compilation fixes

* Updates for the injection period

- Liberal slash-refunding
- Instant unbonding

* *: Enable refactored authority discovery (#624)

* *: Enable authority discovery module

* *: List authority discovery id after parachain validator id

Make sure existing key types don't change their order by appending the
authority discovery id instead of injecting it between im online id and
parachain validator id.

* *: Gate authority discovery module behind feature flag

* cli/src/lib.rs: Fix warnings

* cli/src/lib.rs: Shorten line length

* Bump Substrate

* Bump Substrate

* Line widths

* Line widths again

* Revert bump.
2019-11-28 12:08:37 +00:00
Wei Tang c7743cd86b Mark unreachable match clause as unreachable! (#620)
* Mark unreachable match clause as unreachable!

* Fix indentation
2019-11-27 18:03:45 +01:00
Wei Tang 311d2a271d Move propose_with into a dedicated blocking threadpool (#614) 2019-11-26 19:34:06 +01:00
joe petrowski c9b1e3d959 Update for Substrate master (#600)
* update substrate for change to palette

* change paint to palette

* update lock

* Fix missing import

* change to polkadot-master

* Use same commit hash of parity-common

* Resolve linking errors

* Rename to frame

* bump spec

* Subsume #602 and #596

* Fix DispatchInfo

* Merge `futures03` and `joe-update-to-palette` (#606)

* Change repo and branch

* Made changes

* Bumped async-std version

* Fix line width

* Bump spec_version

* Fix `run_to_block` for Crowdfund module (#603)

Probably a copy paste error.

* Bump dependencies

* Update trie-db to be inline with substrate

* Fix documentation warning

* Fix test compilation
2019-11-23 00:16:04 +01:00
Gavin Wood d5c521a086 Update Substrate after repository reorganisation (#587) (#598)
* Update Substrate after repository reorganisation

* Switch back to polkadot-master

* Bump `bitvec` and `parity-scale-codec` (#591)

Also bump other dependencies, but respect semver on them.
2019-11-19 18:30:01 +01:00
Gavin Wood a7dfc317d5 Bump Substrate & version (#574)
* Bump Substrate.

* Bump version
2019-11-12 12:14:38 +01:00
Gavin Wood cc0e775810 Master backports (#571)
* Update to latest Substrate master (#570)

* Bump substrate/version (#557)

* Bump version and Substrate (#560)

* Bump version and Substrate

* Bump version and Substrate

* Bump versions

* bump substrate to release specific v0.6.15

* Update lock

* Prepare Polkadot update for Substrate runtime interface 2.0 (#563)

* Prepare Polkadot update for Substrate runtime interface 2.0

* bump substrate to release specific v0.6.15

* Switch to `polkadot-master`

* Version bump

* Master backports

* Bump runtime

* Fix tests

* Fix tests

* Another fix.
2019-11-12 02:10:02 +01:00
Gavin Wood bd79b34bb3 Backport all v0.6 changes to master... (#552)
* Bump Substrate and versions (#531)

* Bump versions

* Build fix.

* Enable governance (#536)

* Enable governance

* Tweak a few parameters

* Bump substrate, versions. (#538)

* Bump substrate, versions.

* Build fix

* Bump rpc deps (#537)

* Update to latest sub

* Revert branch update

* Update.

* Update tests.

* Ignore warnings in tests.

* Revert substrate (#540)

* Version bump

* Bump Substrate, versions. (#542)

* Bump Substrate, versions.

Also revert the enabling of democracy

* Build fix

* Bump Substrate (#544)

* Bump Substrate

* Fix

* A few tidyups

* Bump Substrate (#547)

* Bump Substrate

* Another bump

* Fixed build for new block_import API

* Enable grandpa migration. (#549)

* Enable grandpa migration.

* Bump runtime version
2019-11-08 11:49:04 +01:00
André Silva b16bd4de8d bump version to 0.6.6 (#516) 2019-10-30 10:48:45 +01:00
Gavin Wood b1f9b1ad07 Revert "Update to latest substrate (#504)" (#505)
This reverts commit 8fb635b5e5.
2019-10-28 14:44:29 +01:00
Kian Paimani 8fb635b5e5 Update to latest substrate (#504)
* Update cargo files

* First round of build fixes

* update lock file
2019-10-28 14:28:13 +01:00
André Silva a84a5f472c Update to latest substrate polkadot-master (#496)
* update to latest substrate polkadot-master

* Bump to 0.6.3
2019-10-25 12:12:41 +02:00
Gavin Wood b1558157cb Introduce Parathreads (runtime) (#341)
* Rest of parathread draft implementation, parachain permissioning.

* Update Substrate

* Update Substrate again

* Integrate weight/fee stuff.

* Council

* Build fixes

* More fixes

* Minor additions

* fix some small errors

* Revert "fix some small errors"

This reverts commit 4fb52c82adfdaf3af98edfe36b280133bcd4f9d3.

* Merge fix.

* do_swap -> on_swap

* Update depdendency to polkadot-master

* Fix more merge problems

* Some patching of errors

* Fix storage closure

* Actually fix storage. It builds!

* Tests run... but not successfully.

* Add `run_to_block` to get parachains active to start

* More `run_to_block`

* Fix build

* Queue up changes to threads

* Move registration test

* Fix regsiter/deregister test

* Retry queue.

* Minor refactor

* Refactor to avoid heavy storage items

* Make tests pass

* remove para on deregister, add events

* Remove println

* Fix register/deregister parathread test

* fix merge

* Parathread can be activated test

* Test auction

* Add `Debtors` storage item

I considered putting the debtor information in `ParaInfo`, but it did not make sense to me since this information only applies to parathreads, not `paras` in general.

* remove comment code

* Some new tests

* Fixes for removing threads when scheduled. Tests.

* Test progression of threads.

* Test that reschedule queuing works properly.

* Make test slightly more interesting

* whitespace

* Swap works properly.

* Update locks

* Build

* Rename can_swap

* Add test for funds to be correctly returned after a swap

Swap does not seem to have logic which correctly swaps the debtor account to the new parathread.

* Make tests consistant

* Add check that `PendingSwap` is cleaned up

* Update runtime/src/parachains.rs

Co-Authored-By: Robert Habermeier <rphmeier@gmail.com>

* Update runtime/src/registrar.rs

Co-Authored-By: Robert Habermeier <rphmeier@gmail.com>

* Some fixes/suggestions from review

* Docs

* Apply suggestions from code review

Co-Authored-By: Robert Habermeier <rphmeier@gmail.com>
Co-Authored-By: Shawn Tabrizi <shawntabrizi@gmail.com>

* Update network/src/gossip.rs

Co-Authored-By: Robert Habermeier <rphmeier@gmail.com>

* Rename OnSwap

* Add missing `]`

* Rejig ordering semantics, making everything a bit slower but correct.

* Some Fixes to Parathread Compile (#470)

* Some Fixes

* Fix queue_upward_messages

* Change back to const

* Build fixes

* Fix tests
2019-10-11 08:27:30 +02:00
thiolliere 444a19ec5f update substrate (#442) 2019-09-23 16:25:14 +02:00
Gavin Wood 99c6d600c4 Substrate.from() (#431)
* Update branches

* Bump runtime.

* Update again.
2019-09-13 15:27:41 +02:00
Gavin Wood 28e23d07ef Substrate.from() (#426)
* Substrate.from()

* Fix some transaction validation code

* must be more specific for matching now.

* Update `wasm-builder` and add `build-only-wasm` script

* Update to latest service builder interfaces

* ANother substrate update

* Another update
2019-09-11 13:14:20 +02:00
Robert Habermeier 55c4c830fe ICMP message-routing gossip (#304)
* core logic for ICMP gossip

* refactor gossip to make more extension friendly

* move files aroun

* extract attestation-gossip logic to its own module

* message validation and broadcast logic

* fix upstream crates' compilation

* add a test

* another test for overlapping

* Some grammar and phrasing tweaks

Co-Authored-By: Luke Schoen <ltfschoen@users.noreply.github.com>

* add since parameter to ingress runtime API

* broadcast out known unrouted message queues

* fix compilation of service and collator

* remove useless index_mapping

* some tests for icmp propagation

* fix decoding bug and test icmp queue validation

* simplify engine-id definition

Co-Authored-By: Sergei Pepyakin <sergei@parity.io>

* address some grumbles

* some cleanup of old circulation code

* give network a handle to extrinsic store on startup

* an honest collator ensures data available as well

* address some grumbles

* add docs; rename the attestation session to "leaf work"

* module docs

* move gossip back to gossip.rs

* clean up and document attestation-gossip a bit

* some more docs on the availability store

* store all outgoing message queues in the availability store

* filter `Extrinsic` out of validation crate

* expunge Extrinsic from network

* expunge Extrinsic from erasure-coding

* expunge Extrinsic from collator

* expunge from adder-collator

* rename ExtrinsicStore to AvailabilityStore everywhere

* annotate and clean up message-routing tests
2019-08-29 11:49:59 +02:00
Gavin Wood ccfa2b1828 Bump all versions to 0.6.0 (#397) 2019-08-24 13:40:57 +02:00
Robert Habermeier 742730c865 error variant for failed deadline compute in validation worker (#383)
* error variant for failed deadline compute

* fix compilation
2019-08-18 17:12:46 +02:00
Kian Paimani 10fc88f6b1 Update to latest Substrate master. (#353)
* Integrate srml/im-online

* Fix all build errors with old aura.

* Fix most of the build errors.

* Builds and tests seem to pass (I will not trust this commit yet)

* Apply suggestions from code review

Co-Authored-By: Robert Habermeier <rphmeier@gmail.com>

* Kill some warnings.

* fix panics on 0 validators

* Fix dev chain.

* Fix author stuff

* fix im online integration.

* Some tweaks

* Introduce app-crypto

* Initial build work

* codec update / tweaks

* patch polkadot-erasure-coding input

* More fixes for new crypto

* More fixes

* Update parachains module

* evamp parachain crypto

* More crypto work.

* Chain spec and service.

* ChainSpec stuff

* Last bits for a clean build

* Tweak coment

* adapt polkadot-validation to the new keystore

* polkadot-network compiles, but tests don't

* Integrate the new parachain validation stuff

* delete message_routing file

* make polkadot-network tests compile and pass

* runtime tests compile and pass

* update substrate ref

* service compiles

* all tests pass

* Add TODO, change branch back to polkadot-master

* Lock file

* TODOs done

* Issue number

* Remove old tODO

* Remove commented code
2019-08-12 15:48:29 +02:00
Gavin Wood 9b6e630816 Integrate the claims module (#355)
* Integrate the claims.

* Remove accidetnal code.

* Update runtime/src/lib.rs

Co-Authored-By: thiolliere <gui.thiolliere@gmail.com>

* Add Config.

* Introduce claims to config

* Expose claims module signing Prefix (#358)

* Update parking_lot, bette trait args
2019-08-07 23:49:32 +02:00
Robert Habermeier 4d19de4bd9 Track received attestations from recent blocks (#337)
* record attestations in storage ringbuffer

* remove some reliance on Aura

* fix up test configuration

* extract attestations stuff out to its own module

* add dummy inherent

* use double_map

* fix a couple more compilation errors
2019-08-06 23:08:38 +02:00
Stanislav Tkach c660c31937 Pass indices in serialized form (#318)
* Pass indices in serialized form

* Fix indentation and remove panic

* Fix tests and other code

* Remove unique voters tracking

* Restore validator group check

* Fix lock file

* Add test

* Add attestation sorting

* Add validation to the check_candidate function

* Update codec version one more time

* Remove patch versions
2019-08-05 22:44:05 +02:00
Bastian Köcher 4d5db52ca0 Update to latest Substrate (#340)
* Update Substrate

* Update Substrate again

* Integrate weight/fee stuff.

* Add new files.
2019-07-26 12:19:41 +02:00
Yuanchao Sun 2af72cef83 Fix fetch_candidates (#330)
fix the following error in the log:
Could not extract candidates from block body of imported block ...
2019-07-23 11:11:50 +02:00
Arkadiy Paronyan f1fdb0cb83 Parachain validation moved to external process (#325)
* Improved execution & tests

* Style

* Made CLI arg const

* Moved Upwards message

* CLI subcommand for validation worker

* Build halting parachain

* Build halting parachain

* Made stuff private

* Reorganized parachain tests

* Comment

* Whitespace

* Apply suggestions from code review

Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>

* Fixed call data size check and introduced an enum

* Apply suggestions from code review

Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>
2019-07-23 11:09:30 +02:00
Shawn Tabrizi 2c66adfb0a Update to latest Substrate (7688cbc) (#329)
* Initial fixes

* Clean up Timestamp

* Patch futures

* Typo

* Fix compilation of tests

* Fix parachains tests

* Update runtime/src/parachains.rs

Co-Authored-By: thiolliere <gui.thiolliere@gmail.com>

* Update runtime/src/parachains.rs

Co-Authored-By: Gavin Wood <github@gavwood.com>
2019-07-19 14:15:14 +08:00
Bastian Köcher f1c8f5e36d Make communication_for exit when we end a round (#313)
* Make `communication_for` exit when we end a round

* Fix compilation
2019-07-05 11:42:57 +02:00
Gavin Wood 29ee4e8f3a Update to Substrate master (#311)
* Best effort to bring up to date.

* Fix the executor stuff

* Update verisons.

* Finish fixing

* Final fixes and warnings.

* add some docs and bump Wasm versions

* Fix tests

* Fix final test
2019-07-04 17:15:59 +02:00
Robert Habermeier 7a5b9bddf5 Charge fees for parachain execution (#293)
* burn parachain funds depending on candidate fees

* charge fees when executing parachain

* fix test compilation

* branch grumble addressed

* test that Balance >= usize
2019-06-25 21:09:54 +02:00
Yuanchao Sun feb62bc52e Fix no pre-runtime digest error (#298) 2019-06-24 19:48:28 +02:00
Bastian Köcher a016bac6ad Update to latest Substrate master + warning fixes (#292)
* Update to latest Substrate master + warning fixes

* Update runtime/src/lib.rs

Co-Authored-By: thiolliere <gui.thiolliere@gmail.com>
2019-06-20 13:57:58 +02:00
Robert Habermeier 58ab4f6b9f Track and accumulate ingress roots in runtime (#287)
* track unrouted ingress in runtime

* test ingress routing

* fix compilation

* add space

Co-Authored-By: Gavin Wood <github@gavwood.com>
2019-06-17 14:38:03 +02:00
Andrew Jones bdc1502411 Remove dependency on error_chain (#277)
* Convert validation error

* Convert wasm_executor error

* Convert block evaluation error

* Convert collation errors and the compilation

* Remove error-chain dep from service

* Remove unused Result type

* Remove unused error variants

* Remove redundant intos

* Add missing comments

* Update validation/src/collation.rs

Co-Authored-By: thiolliere <gui.thiolliere@gmail.com>

* Fix new error variant
2019-06-05 10:25:08 +02:00
Gavin Wood 4b7dfc4c25 Allow parachains to send messages (#274)
* Slots module

* Integrate slots

* More drafting

* Minor updates

* Update parachains to use trati

* More build fixes

* Full code now compiles

* Add renew bid function

* Implement calculate_winner

* Warning remove

* Update gitignore

* Test framework

* Tests

* Further testing

* More tests, new parameterisation.

* Fix and new test

* Thread-safe tests

* Test off-boarding and a fix.

* Test onboarding

* Allow late onboarding.

* Another test and fix

* Avoid println in nostd

* Compact representation of paraids

* Introduce documentation.

* Introduce events.

* Additional test and fix

* Additional test

* Tidy up line lengths.

* Remove printlns

* Use later substrate utils.

* Allow parachains to send messages.

* Fix build/test

* Make slots work with latest substrate

* Update runtime/src/slot_range.rs

Co-Authored-By: Robert Habermeier <rphmeier@gmail.com>

* Update runtime/src/slots.rs

Co-Authored-By: Shawn Tabrizi <shawntabrizi@gmail.com>

* Update runtime/src/slots.rs

Co-Authored-By: Shawn Tabrizi <shawntabrizi@gmail.com>

* Polish logic

* Rewind to earlier substrate master

* Remove dead code.

* Fix build

* Update substrate ref to master

* Update to new inherent digests API

* address grumbles

* fix

* Fix a warning.

* Reworded a comment.

* Check that receipt matches expectations

* Add test for final checks

* Split out queuing logic.

* Test final piece of queuing logic

* Fix up docs.

* More docs fixes
2019-06-03 16:48:33 +02:00
Stanislav Tkach 2c85f90e0a Migrate to the 2018 edition (#273) 2019-05-29 18:33:49 +02:00
Pierre Krieger c699bdc10a Update to Substrate master (#271) 2019-05-25 20:23:14 +02:00
Stanislav Tkach 10ae8d48f5 Add block data size check (#230)
* Add block data size check

* Pass max_block_data_size everywhere

* Fix build after merge

* Fix ParachainWork initialization

* Fix tests compilation
2019-05-24 13:02:13 +02:00
Robert Habermeier 164943b961 strip out all ICMP network code and begin gossip refactor for attestations (#256)
* strip out all ICMP code and begin gossip refactor

* validate incoming statements

* message_allowed logic

* compiles

* do reporting and neighbor packet validation

* tests compile

* propagate gossip messages

* test message_allowed

* some more tests

* address grumbles
2019-05-17 14:30:10 -04:00
thiolliere 122ea89144 redirect to polkadot-master updated (#261) 2019-05-17 13:40:03 +02:00
thiolliere 6d778c99d2 update substrate (#259)
* WIP

* merging select_chain

* WIP

* update to point to gui-polkadot-master

* Fix collator

* update gui-polkadot-master and fix

* fix unwraps

* better returning an error
2019-05-15 14:35:27 -04:00
Stanislav Tkach e8fcb43fcf Don't pass validators' public keys with attestations (#186)
* Don't pass validators' public keys with attestations

* Update statement-table's Misbehaviour typedef

* Update network/router

* Expand MessageValidationData

* Try to fix tests

* Extend ApiContext

* Remove 'index_mapping' from the SessionParams

* Construct index_mapping from authorities

* Move index_mapping to TableContext

* Add test for index_mapping order
2019-05-08 15:19:39 -04:00