Commit Graph

78 Commits

Author SHA1 Message Date
Gavin Wood 040b0dbea2 Update Substrate (#661)
* Make compat with exit-future updates

* Update exit-future entirely

* Tidy

* Bump Substrate
2019-12-04 19:56:16 +01:00
Gavin Wood 0bf7d294ba Tweak some Kusama params (#659)
* Tweak some Kusama params

- Council elections daily
- No treasury burn
- Bonding/slash defer periods of 7 days

* Bump runtime

* Bump version
2019-12-04 16:14:21 +01:00
Gavin Wood ec77d728b9 Bump versions (#655)
* Bump version

* Update Cargo lock and bump runtime version

* Remove balance transfer disabler.
2019-12-04 11:12:02 +01:00
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
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
Bastian Köcher 687244f989 Pass client and task_executor to BuildParachainContext (#484)
* Pass `client` and `task_executor` to `BuildParachainContext`

* Update `Cargo.lock`
2019-10-19 13:26:15 +02:00
Bastian Köcher cb4875ec81 Make ParachainContext take self as mutable (#458)
This replicates changes to `Environment`/`Proposer` that are used
internally at Cumulus.
2019-10-08 17:41:52 +02:00
Bastian Köcher 4f4baa9b07 Update to lastest Substrate master (#443) 2019-09-24 13:09: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
Pierre Krieger bd8ebbfee5 Update to latest Substrate (#407)
* Update to latest Substrate

* Fix main.rs
2019-08-27 15:50:24 +02:00
Gavin Wood ccfa2b1828 Bump all versions to 0.6.0 (#397) 2019-08-24 13:40:57 +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
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
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 d99f721540 Make collator::Network require Send + Sync to make it work (#316) 2019-07-05 15:37:05 +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
Bastian Köcher b92dd81300 Introduce BuildParachainContext trait (#302)
* Introduce `BuildParachainContext` trait

* Change the structure and hide the actual network implementation behind a
trait

* Add functions to collator `Network` trait
2019-06-27 23:55:40 +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
Bastian Köcher 23432bb043 Pass relay_parent hash to produce_candidate (#300)
* Pass `relay_parent` hash to `produce_candidate`

* Fixes compilation
2019-06-25 17:53:37 +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 bc59254f41 allow asynchronous collation (#290)
* allow asynchronous collation

* remove unnecessary leading colons

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

* remove unneeded bound

* Fixes compilation
2019-06-17 08:35:01 +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
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 4e9fb2d2b5 Use authorities from Authorities runtime API, not Core (#248) 2019-05-07 17:05:02 +02:00
Robert Habermeier 1437c8e224 Introduce a Proof-of-Validation block type and use that in place of BlockData (#227)
* validators expect collators to give them parachain messages

* mostly port network to use pov_block

* network tests pass

* verify ingress when fetching pov block

* fix runtime compilation

* all tests build

* fix some grumbles

* Update validation/src/collation.rs

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

* Update primitives/src/parachain.rs

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

* Update network/src/lib.rs

Co-Authored-By: rphmeier <rphmeier@gmail.com>
2019-04-24 13:24:03 +02:00
Bastian Köcher 7e2714f843 Update to latest substrate-master and polkadot v0.3 (#195)
* Rebuild runtime

* Remove invalid value from chainspec (#68)

* service: use grandpa block import for locally sealed aura blocks (#85)

* bump version to v0.3.1

* Update lock file.

* limit number of transactions when building blocks (#91)

* Update to latest Substrate

* Bump to 0.3.2

* Actually bump.

* v0.3.2 (#98)

* bump substrate version

* fix polkadot-collator

* point to alexander-backports of substrate

* bump version

* cli: fix node shutdown (#100)

* update to latest substrate, change to v0.3.4

* update to latest substrate, bump version to 0.3.5

* v0.3.6

* try to build on every v0.3 commit and update alexander-backports

* bump to v0.3.7

* bump to 0.3.8

* Bump to 0.3.9: network and pruning improvements

* Bump to 0.3.10: reduce network bandwidth usage

* Use libp2p-kad 0.3.2 (#122)

* Bump libp2p-identify to 0.3.1 (#123)

* Bump to 0.3.12 (#127)

* Update Substrate again (#128)

* update substrate and bump version to v0.3.13

* bump version to v0.3.14: fix --reserved-nodes

* add a manually curated grandpa module (#136)

* updating v0.3 to use substrate v0.10 (#146)

* updating to latest substrate v0.10

* better handling of outer poll

* nit

* fix tests

* remove comment

* reduce indentation

* use self.poll

* bring oneshot into scope

* spaces

* wrap

* remove match

* wrap

* Update primitives/Cargo.toml

Co-Authored-By: gterzian <2792687+gterzian@users.noreply.github.com>

* Update runtime/wasm/Cargo.toml

Co-Authored-By: gterzian <2792687+gterzian@users.noreply.github.com>

* Update runtime/wasm/Cargo.toml

Co-Authored-By: gterzian <2792687+gterzian@users.noreply.github.com>

* Update test-parachains/adder/collator/src/main.rs

Co-Authored-By: gterzian <2792687+gterzian@users.noreply.github.com>

* indent

* add paranthese

* config: fix wrong ip for alexander bootnode (#161)

* fix curated-grandpa and rebuild wasm (#162)

* [v0.3] Integrates new gossip system into Polkadot (#166)

* new gossip validation in network

* integrate new gossip into service

* network: guard validation network future under exit signal (#168)

* bump version to v0.3.15: substrate v0.10

* [v0.3] update to substrate master (#175)

* update to substrate master

* fix test

* service: fix telemetry endpoints on alexander chainspec (#169) (#178)

* Update v0.3 to latest Substrate master (#177)

* update substrate v0.3 to latest master

* bump spec version

* update to latest master: remove fees module

* update runtime blobs

* bump version to 0.3.16

* replace sr25519 accountid with anysigner

* bump version to v0.3.17

* Some PoC-3 GRANDPA tweaks (#181)

* call on_finalise after triggering curated_grandpa change

* make grandpa rounds shorter for faster finalization

* use authorities when calculating duty roster (#185)

* [v0.3] Update to substrate master (#183)

* update to latest substrate master

* bump version to 0.3.18

* update to latest substrate master

* bump spec version

* update runtime wasm blobs

* remove current_offline_slash from chain spec

* update to substrate master: bump version to v0.3.19 (#188)

* update to substrate master: bump version to v0.3.19

libp2p network improvements

* network: replace NodeIndex with PeerId

* network: fix tests

* polkadot v0.3.20 (#190)

* update to substrate master: bump version to 0.3.20

* runtime: add offchain worker trait

* runtime: rebuild wasm blobs

* bump spec version (#191)

* Fix compilation

* Update version to 0.4.0

* Switch to use `polkadot-master` branch from substrate

* Remove unused struct

* Remove `grandpa::SyncedAuthorities` from `OnSessionChange`
2019-03-28 15:20:39 +01:00
Robert Habermeier 454ddf8921 Collators get incoming parachain messages (#149)
* refactor out a consensus data fetcher from table router

* move statement checking logic into router

* refuse to start authority if collator

* support building the table router asynchronously

* instantiate_consensus does not overwrite old

* update key in new consensus if there was none before

* collator collects ingress from network

* test produced egress roots

* fix adder-collator compilation

* address first grumbles

* integrate new gossip with collator network launch

* address review
2019-03-22 00:48:36 +01:00