* update basic_add wasm
* wasm feature and collator feature
* move test parachains around a little
* fix wasm build for basic_add
* move basic_add to adder, introduce README
* minimal basic_add collator
* ensure collator messages are sent in the right order
* more logging
* route consensus statements to all peers
* minor bugfixes for parachains
* genesis builder accounts for parachain heads
* fix parachains tests
* targets for txpool
* tweak runtime + collator
* fix version in adder-collator
* consistency for overflowing
* adjust comment
* fix stable test run
* remove dummy registration test
* final grumbles
* decl_module and extract runtime mod
* Invert dependency staking←→contract
* Remove CodeOf
* Remove StorageOf and move double_map
* Comment staking test
* Clean
* Add gas_price and gas_limit
* Commit.
* Renames
* Params
* WIP
* Rename transfer to call
* WIP
* Rebuild binaries.
* WIP
* Backport ctro changes
* Call wiring
* Commit overlay.
* Rename merge → commit, into_state → ..._change_set
* WIP
* Contract creation routines
* Set code of the created account.
* Fix the ID of `create` Call
* Fix most of the warning.
* Add the simplest test in the contract crate
* Transfers work!
* Add contract_create test.
* Clean
* Add top-level create test
* Clean a bit.
* Pass gas_limit and data via create.
* Introduce OnAccountKill callback in staking
* Hook up OnAccountKill
* Comments
* Pay for gas.
* Refund unused gas in call
* Tests for zero call and zero endownment.
* Add todo about rewriting docs
* Pay for gas in create transactions
* Fix refunds
* Clean unrelevant comments
* fixup! Fix refunds
* fixup! Clean unrelevant comments
* Move DetermineContractAddress to contract
Also restore account removal test
* fixup! Clean unrelevant comments
* Inline effect_transfer, remove effect_create
Remove account_db!
* Use own new_test_ext.
* Don't account for liability
* Add some docs
* Move contract_fee into contract module
* Take GasMeter in vm::execute
* Use GasMeter throughout contract module for meter
* gas module refactoring
* Clean
* Add base call fee
* note about gas price should be taken from storage
* Add base fee for create
* Rename send → call
* Clean
* Take fee expressed in dots in gas
* Add Checked{Add,Sub,Mul,Div} to SimpleArithmetic
* Make Gas generic
* Store {call,create}_base_fee in storage
* Clean
* Rename buy_gas
* Store gas_price in the storage
* Remove unneeded comment.
* Bail out if contract already has code.
* Todos
* Refund even if top-level contract fails.
* Fix error msg
* Fix caller issue
* Extract tests module
* Add max_depth var in storage
* Remove left over gas_left
* Refactor exec
* Add test oog test.
* set_free_balance_creating
* Docs and comments.
* Update storage roots because of ContractFee move
* Rebuild binaries.
* Simplify vm code.
* Wrapping.
* Refactor a bit.
* Typo
* UpdateBalanceOutcome enum
* Style grumbles.
* Rebuild binaries.
* Always consume the given amount of gas.
* [skip ci] endownment → endowment
* Rename `AccountId` generic in on_account_kill
* Fix Cargo.lock
* Refine docs for gas meter.
* [skip ci] Add comments for gas module
* Directly assign to `return_data` at declaration
* Use slices instead of vecs to pass the input data
* Add todo about passing return data without copy
* Use checked_add instead of add with overflow
* Use return_data directly.
* Rebuild binaries.
* Rebuild binaries.
* Switch to the master branch of libp2p
* Fixed having to clear manually
* Fix TTL of bootstrap nodes
* Speed up compilation time
* Update libp2p
* Remove obsolete comment
* 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
* Don't connect to ourselves for Kademlia
* Improve log messages
* Manually drop connections
* Kademlia is now 32 seconds
* Fix potential panic
* Fix other potential panic
* No longer pass the endpoint everywhere
* Ping active connections
* Bump rust-libp2p
* Deny connection attempts if we're already connected
* Properly check max_peers against custom connections
* Fix set_until not immediately called
* Clean up unusued connections and stop pinging them
* Disconnect Kad connections after 20 seconds of inactivity
* skeleton of collators object
* awaiting and handling collations. rename `collators` to CollationPool
* add some tests
* add tests
* implement Collators trait for ConsensusNetwork
* plug collators into main polkadot-network
* ignore collator role message
* add a couple more tests
* garbage collection for collations
* extract session-key tracking from consensus
* add local_collations.rs
* finish polish of local_collations
* integrate local_collations into network layer
* introduce API for adding local collations
* mostly finish collator implementation pending service fix
* Specialized network()
* push collations to the network
* grumbles
* substrate-service has custom configuration
* initialize network in collator mode as necessary
* Serve only non-empty Kademlia nodes
* Use the number of custom protos to determine whether to open more
* Add timeout when connecting
* Connect to random peers from the peer store
* Various adjustements
* Typo
* Explicitely connect to bootnodes
* Fix potential overflow
* Fix warnings in libp2p
* Force a reason when you use the fatalist disable_peer
* Print more information
* Slightly more concise ref-fu
* Tracing for figuring out what's going into genesis
* Merge
* Fxi test
* Switch from devp2p to libp2p
* Move the keys in the network state
* Properly load, store or generate private key
* Some robustness
* Update for latest libp2p
* Allow secio
* Don't open a new Kademlia connec all the time
* Handle Kademlia disconnection
* Set correct permissions on key file
* Improvements to secret key storage
* Flush the peer store at Kademlia requests
* Use RAII guards for disconnection
* Some misc work
* Set informations about peers
* Fix tests and external URL
* Fix some style
* Split obtain_private_key into multiple function
* More style fixes
* More style fixes
* Fix some concerns
* Turn // into ///
* More style fixes
* More style fixes
* Add annotations to unreachable!
* Fix style again
* Remove commented out code
* Fix test year
* More concerns
* 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
* Improve Runtime execution by caching runtime lookup
Cache whether the native or wasm runtime should be used for a given
code and if the latter, keep around the parsed wasmi::Module for faster
execution.
* Additional comment and code style fixes
* Fallback to WASM runtime if we can't call the version function
* The previous assumption that the wasm-code was compiled with rustc might be wrong now, that the code comes from the blockchain. Added Notes about that.
* 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
* Started work on state db
* Updated for a new hash type
* Pruning and tests
* Generalize on the block hash/key type
* Integrate with the client backend
* Merge w master
* CLI options
* Updated for light client refactoring
* Used IntoIterator
* Fixed invalid input hadling
* Recompile runtime.
* Introduce and enforce block time
* Introduce early session ending.
* Report most of staking module
* rewards, proper early exit and slashing
* Fix build & session logic, introduce tests
* Fixed staking tests.
* Initial test for reward
* Fix test
* Tests for slashing
* Update/fix preset configs
* Fix some tests.
* Fix some staking tests
* Minor fix
* minor cleanups
* Fix build
* Rename timestamp::Value -> Moment
* Require final block of session to be timely