Commit Graph

51 Commits

Author SHA1 Message Date
André Silva 821a59ca8d add authority discovery module (#444) 2019-09-24 15:31:27 +02:00
thiolliere 444a19ec5f update substrate (#442) 2019-09-23 16:25:14 +02:00
Bastian Köcher 21cb1e9f45 Switch to wasm-builder 1.0.7 (#441)
* Switch to `wasm-builder` 1.0.7
2019-09-23 12:38:38 +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
Gavin Wood ccfa2b1828 Bump all versions to 0.6.0 (#397) 2019-08-24 13:40:57 +02:00
Gavin Wood 6bcb0e57bf Update substrate and add some sensible values (#387)
* Update substrate

* Update substrate and some chain spec

* Undo old change

* Use hex ser/de for ethereum addresses

* Add docs.

* Accidental line

* incorrect fix

* Fix build
2019-08-20 13:29:05 +02:00
Gavin Wood ee630db943 Runtime version affinity enabled in transactions. (#384)
* Update to latest substrate

* Update lock

* Introduce tx version check

* Move to release constants

* fixes

* More updates

* More fixes
2019-08-19 09:18:03 +02:00
Gavin Wood 7bd46ffbcb Prepare stuff for Kusama (i.e. disable most things) (#362)
* Prepare stuff for Kusama (i.e. disable most things)

* Fix service (hopefully)

* Remove curated grandpa.

* Block unwanted transactions a cleaner way.

* Add feature for restricting tx types

* Cleanups

* Make blocktime 1/10th of normal

* Fix ordering in construct_runtime

* Restore original timing

* Revert name change
2019-08-13 20:36:27 +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
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
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 c0b065837e Update to latest Substrate master (#320)
* Make `collator::Network` require `Send + Sync` to make it work

* Update packages

* Update to latest Substrate

* Make it compile and make tests work

* Use `polkadot-master`

* Fix CI

* Remove `build.sh` from readmes

* Delete old stuff

* Bring one back
2019-07-09 15:33:49 +01: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 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
Bastian Köcher 6473feb687 Update to latest substrate master (#284)
* Update substrate deps and fix runtime compilation

* Fix compilation

* Enable `std` feature
2019-06-06 15:15:25 +02:00
Stanislav Tkach 2c85f90e0a Migrate to the 2018 edition (#273) 2019-05-29 18:33:49 +02: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
Bastian Köcher b13b7aec7c Update to almost latest substrate master (#205) 2019-04-03 17:46:04 +02:00
Bastian Köcher c12ed7d8ac Update to latest substrate master (#197) 2019-03-29 11:35:39 -04: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
Andrew Jones 0a25c425b0 Egress queue validation in runtime (#155)
* Add fn to validate egress routes

* Add blank tests

* Reject routing to non existent parachains

* Reject if routing to self

* Reject if egress route parachain ids out of order

* Extract method for checking egress routes

* Reject empty egress routes

* Extract test method

* Generate empty trie root constant in build script

* Remove unwraps

* Hardcode EMPTY_TRIE_ROOT and add test to verify

* Const not pu
2019-02-25 13:44:35 -05:00
Robert Habermeier da409f6c9e update to latest substrate (#141) 2019-02-18 17:20:35 -03:00
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
Gav Wood 82e866be42 Use new externs for eth crypto (#114)
* 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

* Use new externs for eth crypto.

* Bump spec version

* New runtime
2019-01-29 14:06:40 +01: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
Gav Wood 8f745fd217 Fixes for substrate#1404 (#76)
* Fixes for substrate#1404

* Updates for latest Substrate

* Update lock file

* Update runtime.
2019-01-16 17:50:39 +01:00
Gav Wood 3b1ffa2e95 PoC-3 final? 2018-12-21 14:14:41 +01:00
Gav Wood 3f70ee8ff9 Upgrade key 2018-12-20 20:06:47 +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
Gav d4e761ae7d No need for specific branch 2018-08-30 13:53:04 +02:00
Gav 5138feb801 Fix up polkadot runtime 2018-08-30 09:57:09 +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 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
Gav Wood ea8caded64 Remove safe-mix (#521) 2018-08-09 15:26:01 +02:00
Arkadiy Paronyan 5e4ef36e40 Runtime version (#256)
* Runtime version

* Updated genesis.wasm

* Minor fixes

* Fresh runtime

* Default version for pre Poc-2; Fixed authorship interface check

* Fixed authoring check
2018-07-03 17:44:43 +02:00
Gav Wood 8d0ae856b0 Make substrate generic (#169)
* Some initial work on RPC and client

* Rephrase as params

* More work on traitifying substrate.

* Traitify in_mem.rs

* traitify client.rs

* Make new primitives (mainly traits) build again.

* Many (superficial) build fixes throughout.

* Fix remaining build issues up to bft interface.

* Make bft primitives be generic.

* Switch out MisBehaviorReport for generic version.

* Merge Hashing into Header.

* Update runtime for new generics (with Hashing).

* Update demo runtime.

* Make runtime compile.

* Build fixes for runtime

* Remove old modules.

* port substrate-bft to use generic substrate types

* port client

* port substrate-test-runtime

* mostly port test-runtime to get compiling for std

* Ensure `AccountId` has a `Default`.

* Fix type deps.

* finish porting

* initialize test_runtime from genesis correctly

* remove commented code

* maybe unsigned signatures

* runtimes compile

* port over most of network

* serialization for generic types

* fix comment

* remove some unnecessary trait bounds

* network compiles

* tests compile for sync

* fix deserialization

* temporarily remove deserialize derives

* workarounds for serde issues for deriving deserialization

* get demo-runtime compiling on std

* port extrinsic-pool

* primitives reshuffling

* get network compiling again

* remove debugging file

* runtime tests now passing

* port client-db

* start to port over substrate-rpc

* mostly port over PolkadotApi

* test_runtime follows normal conventions

* substrate runtime tests pass

* deal with inherent extrinsics correctly in polkadot-api

* port transaction-pool

* port polkadot-consensus

* port substrate-rpc

* everything compiles

* tests compile

* fix grumbles

* test-runtime uses its own transfer type

* switch to master branch of jsonrpc

* fix network tests and some warnings

* all tests pass locally

* [ci-skip] add another comment about issue

* remove some curlies
2018-06-06 17:58:45 +02:00
Robert Habermeier c473c0c734 Minimal parachain framework part 1 (#113)
* dynamic inclusion threshold calculator

* collators interface

* collation helpers

* initial proposal-creation future

* create proposer when asked to propose

* remove local_availability duty

* statement table tracks includable parachain count

* beginnings of timing future

* finish proposal logic

* remove stray println

* extract shared table to separate module

* change ordering

* includability tracking

* fix doc

* initial changes to parachains module

* initialise dummy block before API calls

* give polkadot control over round proposer based on random seed

* propose only after enough candidates

* flesh out parachains module a bit more

* set_heads

* actually introduce set_heads to runtime

* update block_builder to accept parachains

* split block validity errors from real errors in evaluation

* update WASM runtimes

* polkadot-api methods for parachains additions

* delay evaluation until candidates are ready

* comments

* fix dynamic inclusion with zero initial

* test for includability tracker

* wasm validation of parachain candidates

* move primitives to primitives crate

* remove runtime-std dependency from codec

* adjust doc

* polkadot-parachain-primitives

* kill legacy polkadot-validator crate

* basic-add test chain

* test for basic_add parachain

* move to test-chains dir

* use wasm-build

* new wasm directory layout

* reorganize a bit more

* Fix for rh-minimal-parachain (#141)

* Remove extern "C"

We already encountered such behavior (bug?) in pwasm-std, I believe.

* Fix `panic_fmt` signature by adding `_col`

Wrong `panic_fmt` signature can inhibit some optimizations in LTO mode.

* Add linker flags and use wasm-gc in build script

Pass --import-memory to LLD to emit wasm binary with imported memory.

Also use wasm-gc instead of wasm-build.

* Fix effective_max.

I'm not sure why it was the way it was actually.

* Recompile wasm.

* Fix indent

* more basic_add tests

* validate parachain WASM

* produce statements on receiving statements

* tests for reactive statement production

* fix build

* add OOM lang item to runtime-io

* use dynamic_inclusion when evaluating as well

* fix update_includable_count

* remove dead code

* grumbles

* actually defer round_proposer logic

* update wasm

* address a few more grumbles

* grumbles

* update WASM checkins

* remove dependency on tokio-timer
2018-05-25 16:16:01 +02:00
Gav Wood 6a99c9a43d Make Polkadot use the Substrate traity libraries (#105)
* Initial stuff.

* Various fixes.

* Fix tests.

* Fix another test

* Fix another test.

* Docs in polkadot runtime.

* Fix up ser/de tests.

* Update god keys

* Syntax

* Fix

* Merge remote-tracking branch 'origin/master' into gav-merge-runtime

* Permissions on init.sh

* Port-over the whitespace from @rphmeier

* Rename

* Merge branch 'master' into gav-merge-runtime

* Fix typo.

* Fix grumbles.

* Make more idiomatic.

* Move `Ed25519Signature` out of traits.
2018-04-05 17:13:12 +02:00
Robert Habermeier fdc991f973 Slash Authorities for irrefutable misbehavior (#84)
* double-commit and prepare misbehavior

* get misbehavior on completion

* collect misbehavior on drop, not only on success

* kill unused transaction_index field

* add primitive misbehavior report type

* add misbehavior report transaction

* store prior session

* fix set_items

* basic checks for misbehavior reports

* crate for substrate bft misbehavior checking

* integrate misbehavior check crate

* fix comment

* new wasm binaries

* fix hash in test

* import misbehavior transactions into queue

* fix test build

* sign on digest and full proposal when proposing

* detect proposal misbehavior

* fix fallout

* restore balance/bondage types
2018-03-13 16:39:27 +01:00
Gav Wood bffdc5811c Additional runtime tests for the test-runtime (#69)
* Remove rustc dependency from ed25519 and refactor a little.

* Runtime support provides more extensive test-key functionality.

* Additional APIs for ed25519 stuff.

* Extensive test for test-runtime.

* Fixes for the new test key API.

* Additional convenience for tests

* Take advantage of more convenient API.

* Redo formating.

* Remove old test identities.

* Remove boilerplate, add test.

* Refactor out unneeded code.

* Clean up algo for determining authorities.

* Remove unneeded API.

* Make `to_*` consume

* Only export keyring when testing

* Fix build & warning

* Extract Keyring into separate library.

* Add tests for Keyring and a trait-based API.

* Address grumbles.
2018-02-12 15:30:38 +01:00
Gav Wood ece0172e31 Introduce toy runtime for testing inside substrate. (#66)
* Introduce simple blockchain runtime for substrate tests.

* Remove bad files.

* Add needed wasm binaries.

* Refactoring.

- Repot files in test-runtime.
- Rename troublesome `Joiner::join` to `Joiner::and`.
- Rework `Slicable` to dedup code.

* More fixes and refactoring

* Rebuild substrate test wasm.

* Fix merge errors.

* Rename the disasterously named `to_vec` to `encode`.

Also rename `as_slice_then` to `with_encoded`.

* Tests for toy runtime.

* Fix doc nit
2018-02-09 13:24:30 +01:00