* 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.
* 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.
* 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
* 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`
* 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
* 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
* Moved chain ops to substrate-service
* moved RPC to susbstrate-service WIP
* Moved RPC to substrate-service
* Version
* Removed redundadnt messages
* substrate CLI
* Removed obsolete files
* Sorted out startup messages
* Pass executable name to CLI
* Substrate service
* Splitting polkadot service
* Specialised components
* Specialised components
* Docs and style
* Docs and style
* Final touches
* Added db key assertion
* arbitrary application logic in CLI
* collation work
* split up exit and work futures in application
* collation node workflow
* typo
* indentation fix
* doc grumbles
* rename Application to Worker
* refactor Worker::exit to exit_only
* 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
* schedule collation work as soon as BFT is started
* impl future in collator
* fix comment
* governance proposals for adding and removing parachains
* bump protocol version
* tear out polkadot-specific pieces of substrate-network
* extract out polkadot-specific stuff from substrate-network
* begin polkadot network subsystem
* grumbles
* update WASM checkins
* parse status from polkadot peer
* allow invoke of network specialization
* begin statement router implementation
* remove dependency on tokio-timer
* fix sanity check and have proposer factory create communication streams
* pull out statement routing from consensus library
* fix comments
* adjust typedefs
* extract consensus_gossip out of main network protocol handler
* port substrate-bft to new tokio
* port polkadot-consensus to new tokio
* fix typo
* start message processing task
* initial consensus network implementation
* remove known tracking from statement-table crate
* extract router into separate module
* defer statements until later
* double signature is invalid
* propagating statements
* grumbles
* request block data
* fix compilation
* embed new consensus network into service
* port demo CLI to tokio
* all test crates compile
* some tests for fetching block data
* whitespace
* adjusting some tokio stuff
* update exit-future
* remove overly noisy warning
* clean up collation work a bit
* address review grumbles
* fix lock order in protocol handler
* rebuild wasm artifacts
* tag AuthorityId::from_slice for std only
* address formatting grumbles
* rename event_loop to executor
* some more docs for polkadot-network crate
* Genesis serialization
* Custom type for AuthorityId
* Merge w master
* Fixed a few minor issues
* Fixed unmerged file
* Renamed tag
* Deferred genesis loading
* Upated wasm runtime
* Minor issues
* Merge remote-tracking branch 'origin/master' into gav-xts-dont-panic
* Update wasm.
* consensus, session and staking all panic-safe.
* Democracy doesn't panic in apply.
* Fix tests.
* Extra helper macro, council depanicked.
* Fix one test.
* Fix up all council tests. No panics!
* Council voting depanicked.
* Dispatch returns result.
* session & staking tests updated
* Fix democracy tests.
* Fix council tests.
* Fix up polkadot parachains in runtime
* Fix borked merge
* More Slicable support
Support general `Option` and array types.
* Basic storage types.
* Existential deposit for contract creation
* Basic implemnetation along with removals
* Fix tests.
* externalities builder fix.
* Tests.
* Fix up the runtime.
* Fix tests.
* Add generic `Address` type.
* Initial function integration of Address into Extrinsic.
* Fix build
* All tests compile.
* Fix (some) tests.
* Fix signing.
* Push error.
* transfer can accept Address
* Make Address generic over AccountIndex
* Fix test
* Make Council use Address for dispatch.
* Fix build
* Bend over backwards to support braindead derive.
* Repot some files.
* Fix tests.
* Fix grumbles
* Remove Default bound
* Fix build for new nightly.
* Make `apply_extrinsic` never panic, return useful Result.
* More merge hell
* Doesn't build, but might do soon
* Serde woes
* get substrate-runtime-staking compiling
* Polkadot builds again!
* Fix all build.
* Fix tests & binaries.
* Reserve some extra initial byte values of address for future format changes
* Make semantic of `ReservedBalance` clear.
* Fix panic handler.
* Integrate other balance transformations into the new model
Fix up staking tests.
* Fix runtime tests.
* Fix panic build.
* Tests for demonstrating interaction between balance types.
* Repot some runtime code
* Fix checkedblock in non-std builds
* Get rid of `DoLookup` phantom.
* Attempt to make transaction_pool work with lookups.
* Remove vscode settings
* New attempt at making transaction pool work.
* It builds again!
* --all builds
* Fix tests.
* New build.
* Test account nonce reset.
* polkadot transaction pool tests/framework.
* Address grumbles.
* Pool support non-verified transactions.
* Revert bad `map_or`
* Rebuild binaries, workaround.
* Avoid casting to usize early.
* Make verification use provided block_id.
* Fix tests.
* Alter tests to use retry.
* Fix tests & add call to re-verify.
* Semi-refactor.
* Integrate new queue with the rest of the code.
* Fix tests.
* Add reverify_transaction method.
* Use result.
* Merge remote-tracking branch 'origin/master' into gav-xts-dont-panic
* Update wasm.
* consensus, session and staking all panic-safe.
* Democracy doesn't panic in apply.
* Fix tests.
* Extra helper macro, council depanicked.
* Fix one test.
* Fix up all council tests. No panics!
* Council voting depanicked.
* Dispatch returns result.
* session & staking tests updated
* Fix democracy tests.
* Fix council tests.
* Fix up polkadot parachains in runtime
* Fix borked merge
* More Slicable support
Support general `Option` and array types.
* Basic storage types.
* Existential deposit for contract creation
* Basic implemnetation along with removals
* Fix tests.
* externalities builder fix.
* Tests.
* Fix up the runtime.
* Fix tests.
* Add generic `Address` type.
* Initial function integration of Address into Extrinsic.
* Fix build
* All tests compile.
* Fix (some) tests.
* Fix signing.
* Push error.
* transfer can accept Address
* Make Address generic over AccountIndex
* Fix test
* Make Council use Address for dispatch.
* Fix build
* Bend over backwards to support braindead derive.
* Repot some files.
* Fix tests.
* Fix grumbles
* Remove Default bound
* Fix build for new nightly.
* Make `apply_extrinsic` never panic, return useful Result.
* More merge hell
* Doesn't build, but might do soon
* Serde woes
* get substrate-runtime-staking compiling
* Polkadot builds again!
* Fix all build.
* Fix tests & binaries.
* Reserve some extra initial byte values of address for future format changes
* Make semantic of `ReservedBalance` clear.
* Fix panic handler.
* Integrate other balance transformations into the new model
Fix up staking tests.
* Fix runtime tests.
* Fix panic build.
* Tests for demonstrating interaction between balance types.
* Repot some runtime code
* Fix checkedblock in non-std builds
* Get rid of `DoLookup` phantom.
* Attempt to make transaction_pool work with lookups.
* Remove vscode settings
* New attempt at making transaction pool work.
* It builds again!
* --all builds
* Fix tests.
* New build.
* Test account nonce reset.
* polkadot transaction pool tests/framework.
* Initial draft (working).
* Address grumbles.
* Revert bad `map_or`
* Rebuild binaries, workaround.
* Avoid checking in vscode
* reconnecting, shared, slog
* CLI options for name and telemetry url
* ensure telemetry url imples enabled
* Avoid casting to usize early.
* Provide on-connect event for session message
* Better port
* heartbeat and some renaming
* transaction pool stuff
* minor renaming.
* report telemetry
* cleanups.
* Fix for previous cleanup
* dump genesis, dev mode, renaming
* Rework chain spec/config &c. to allow for genesis file loading.
* Avoid producing genesis storage when unneeded
* Allow reading JSON genesis state dumps
* tests work again
* better logging.
* Fix wasm build.
* Introduce PoC-1 spec
* Made block message compatible with poc-1
* Squashed changes for dumping genesis block.
* Binaries.
* Made block message compatible with poc-1
* Remove dead code.
* Fix bad merge.
* Argument passing and returning values when invoking sandboxed funcs (#189)
* Fixed block download sequence (#223)
* Trie-based execution proof (#177)
* TrieBasedBackend
* trie tests
* redunant return_value removed
* use Trie::get_with to record trie proofs
* Relaying tx/blocks by light clients (#190)
* do not import external transactions into light tx pool
* do not announce blocks on light clients
* blocks_are_not_announced_by_light_nodes