* Fix up session phase.
* Version bump.
* Version fix
* Fix session rotation properly and add test
* Make contract a separate runtime module (#345)
* 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.
* Docs
* Make telemetry less susceptible to flakey wifi
* Update readme
* Staging shouldn't autoconnect to telemetry
* Don't try to output more than 1KB of hex to Display
* Better logging of transactions
* Grumbles
* off-by-one
* Final tweaks for PoC-2 runtime upgrade
* Address grumble
* Avoid slow wasm
* New poc-2-era bootnodes
* Fix warning
* Typo
* Fix for allocation in wasm
* Fix & runtimes.
* PoC-1 should be default.
* Name testnet Krumme Lanke, update README
* YML update
* Use the right port
* 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
* 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
* 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
* 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
* Initial draft (working).
* Avoid checking in vscode
* reconnecting, shared, slog
* CLI options for name and telemetry url
* ensure telemetry url imples enabled
* 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
* Address grumble
* Final grumble and repot telemetry to substrate
* Fix comment
* Please build, travis...
* 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.
* Revert bad `map_or`
* Rebuild binaries, workaround.
* Avoid casting to usize early.
* reenable sync tests
* 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
* 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.
* utilise hygene
* Fix initialisations and add a test.
* Fix test.
* Fix overflow bug.
* Minor refactoring and fixes.
* Fix vote threshold.
* Add note.
* Fixes for latest rust and the readme.
* Better readme.
* An extra validator for PoC-1
* Update README.
* PoC-1 bootnodes.
* don't return async::notready for messages without scheduling wakeup
* Fix endowed account
* give polkadot control over round proposer based on random seed
* address grumbles.
* extrinsics root is calculated as part of block-building.
* Fix build.
* Fix xt root.
* Couple of fixes.
* Logging and more useful APIs.
* Fix test.
* Update log version.
* Switch back to correct version of log.
* Implement transaction queue RPC.
* whitespace
* Support without_std env in environmental! (#110)
* Make environmental crate support without_std env.
* Small doc fixes.
* Remove dead code.
* 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.
* Factor out safe-mix and dispatch
* Refactor dispatch into something more modular.
* Fix wasm build.
* Fix up timestamp
* fix warnings.
* Borked timestamp example
* Fix build
* Timestamp as skeleton for traity runtime.
* New storage macro.
* Dispatch module has traity API.
* Move consensus module to new API
* Refactoring and outer dispatch
* Avoid unnecessary derives.
* Abstract the low-level half of system.
* nicer outer dispatch syntax.
* Make runtime compile again (albeit in a heavily simplified state)
* Reworking runtime and the upper levels of system.
* Initial reworking of runtime:
- Introduced executive module;
- Introduced trait primitives module;
- Provided an API endpoint.
* Expose an additional function in system
* Another couple of functions traitified in executive.
* another function in executive traitified.
* One more function traitified.
* Finish traitifying executive!
* Traitify session module.
* Cleanups and ensure session gets run.
* First part of traitification of staking module.
* Bit more of staking traitified.
* Additional stuff in staking. Fix up session.
* Penultimate part of staking module.
* Final part of staking (code)
* Update demo runtime to include staking.
* Final tweaks for staking integration.
* Remove old runtime files.
* Schedule staking.
* Minor fixes
* First bits of democracy.
* Democracy module integrated.
* Fix warning.
* Traitify and integrate council module
* Council voting.
* Runtime binary and tweaks.
* Binary update.
* Fix `*Type` grumble.
* Fix up genesis_map
* Remove NonTrivialSlicable
* Staking "test externalities" stuff along with refactor.
* Add session test externalities constructor
* Fixed executor tests.
* Make one test in executive module work.
* Remove test framework stuff into common module.
* Enable other tests in executive
* Session tests reinstated, minor refactoring of keyring.
* Fix staking tests.
* Fix up democracy tests.
* First few tests in council.
* Council tests reinstated :)
* Avoid hardcoding blake2 into Header.
* Fix last few tests.
* Make all primitives generic.
* Fix tests.
* Refactor runtime to remove genesismap.
* Streamline runtime more with macrofied config.
* Clean paths
* Fix warning.
* Consolidate demo runtime crate.
* Remove stale code.
* Refactor away dodgy trait.
* Add corresponding Aux type.
* Fixes
* Rename Digesty -> Digest
* Rename Headery -> Header
* Blocky -> Block
* Fix wasm build.
* kill warnings
* more docs
* minor cleanups
* Completely rework dispatch mechanism into something modular.
Not yet complete but 75% there.
* Council vote tests.
* Fix tests.
* whitespace.
* Fix demo runtime tests.
* Fix up tests.
* Remove dead code.
* Initial util code for random beacon
* Timestamp uses new storage API.
* Move over system module to new API.
* Much nicer storage API, moved over staking module.
* More refactoring.
* Democracy uses new storage API.
* Council uses new RPC.
* Fix more tests.
* Use match for Id
* Generic mix.
* Integrate random beacon
* Update binaries.
* Fixes relating to with_ext removal.
* Remove dead code.
* Rework mixer into an iterator adaptor.
* Link to paper.
* Algorithm cleanups
* Merge and fix test.
* Docs.
* Fix typo.
* rename
* Fix tests.
* Completely rework dispatch mechanism into something modular.
Not yet complete but 75% there.
* Council vote tests.
* Fix tests.
* whitespace.
* Fix demo runtime tests.
* Fix up tests.
* Remove dead code.
* Timestamp uses new storage API.
* Move over system module to new API.
* Much nicer storage API, moved over staking module.
* More refactoring.
* Democracy uses new storage API.
* Council uses new RPC.
* Fix more tests.
* Use match for Id
* Use match for Id
* Make PrivPass better protected.
* Address other grumbles.
* Give PrivPass a private member.
* Testing PrivPass.
* Add docs.
* Recompile binaries after merge.
* Remove duplicated code.
* New binaries.
* Docs
* Docs
* avoid use of (arguably) confusing terminology.
* Completely rework dispatch mechanism into something modular.
Not yet complete but 75% there.
* Council vote tests.
* Fix tests.
* whitespace.
* Fix demo runtime tests.
* Fix up tests.
* Remove dead code.
* Use match for Id
* Make PrivPass better protected.
* Address other grumbles.
* Give PrivPass a private member.
* Testing PrivPass.
* Add docs.
* Block builder (substrate)
* Fix wasm build
* Bulid on any block
* Test for block builder.
* Block import tests for client.
* Tidy ups
* Repotted client
* Avoid pointless work
* All backend stuff now manages optional storage.
Also simplified a lot of the backend.
* Native runtime-io now supports empty storage items.
* Finish up the API transition.
* Build fix.
* Fix tests.
* Remerge in changes to client.
* Final fixes.
* Unrevert typos
* Remove accidentally committed change
* Bring back zero copy
* Fix merge.
* 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.
* 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