* Propagate Substrate#4284 to Polkadot
* Fix tests
* Fixes
* Use hash part of fund id as child unique id.
* Add comma
* Switch branch
* run cargo update
* Update polkadot-master only
* Fix collator
* Make availability-store compile for WASM
* Use --manifest-path instead
* Make validation work on wasm!
* Switch to Spawn trait
* Migrate validation to std futures
* Migrate network to std futures
* Final changes to validation
* Tidy up network
* Tidy up validation
* Switch branch
* Migrate service
* Get polkadot to compile via wasm!
* Add browser-demo
* Add initial browser file
* Add browser-demo
* Tidy
* Temp switch back to substrate/master
* tidy
* Fix wasm build
* Re-add release flag
* Switch to polkadot-master
* Revert cli tokio version to avoid libp2p panic
* Update tokio version
* Fix availability store tests
* Fix validation tests
* Remove futures01 from availability-store
* Fix network tests
* Small changes
* Fix collator
* Fix typo
* Revert removal of tokio_executor that causes tokio version mismatch panic
* Fix adder test parachain
* Revert "Revert removal of tokio_executor that causes tokio version mismatch panic"
This reverts commit cfeb50c01d8df5e209483406a711e64761b44ae9.
* Update availability-store/src/worker.rs
Co-Authored-By: Pierre Krieger <pierre.krieger1708@gmail.com>
* Update network/src/lib.rs
Co-Authored-By: Pierre Krieger <pierre.krieger1708@gmail.com>
* Update network/src/lib.rs
Co-Authored-By: Pierre Krieger <pierre.krieger1708@gmail.com>
* Box pin changes
* Asyncify network functions
* Clean up browser validation worker error
* Fix av store test
* Nits
* Fix validation test
* Switch favicon
* Fix validation test again
* Revert "Asyncify network functions"
This reverts commit f20ae6548dc482cb1e75bc80641cfe55c6131a53.
* Add async blocks back in
* 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
* rename crates as appropriate
* Rename to use master - easy to revert, but shows it's working
* Bump runtime version
* Bump version
* Bump Substrate again
* 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.
* 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
* 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
* 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
* 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
* 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
* 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
* Introduce `BuildParachainContext` trait
* Change the structure and hide the actual network implementation behind a
trait
* Add functions to collator `Network` trait
By using a strongly typed network service, we make sure that we send and
receive the correct messages. Before there was a bug, a `SignedStatement`
was sent and a `GossipMessage` was decoded, but this could never work.
* 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
* 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
* 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
* 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`
* 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
* Update to master
This introduces a new type `CollatorId`, currently just `SessionKey`
but which would forseeably change to its own thing. It seems to work
like this (despite there being a lot of the new-incompatible
`AccountId` replaced). No idea if it does anything sensible, though.
* Cleanups
* Fix tests
* Remove commented code
* Specify commit hash
* Remove commented code
* Correct version
* Update runtime/Cargo.toml
Co-Authored-By: gavofyork <github@gavwood.com>
* PairT instead of _Pair
* Update lock file
* Remove rev causing upset
* Integrates new gossip system into Polkadot (#166)
* new gossip validation in network
* integrate new gossip into service
* Fix build
* Fix claims module
* fix warning
* update to latest master again
* update runtime