* 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.
* 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.
* 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
* 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
* 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
* 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
* Make `polkadot-parachain` call `validate_block` instead of `validate`
Also switch to rust 2018 in the crate
* Use `rstd`
* Make `load_params` a pointer
* 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.
* 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.
* 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
* 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
* 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