Skip to content
  1. Jul 29, 2018
    • Sergey Pepyakin's avatar
      Make contract a separate runtime module (#345) · df2cea1c
      Sergey Pepyakin authored
      * 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.
      df2cea1c
    • Gav Wood's avatar
      Version bump (#450) · 3c48c830
      Gav Wood authored
      * Bump version
      
      * Version bump.
      
      * Version bump.
      3c48c830
  2. Jul 15, 2018
  3. Jul 11, 2018
    • snd's avatar
      Issue 212 - refactor Checkable trait to be more generic (#287) · 133f0185
      snd authored
      * runtime: refactor Checkable and BlindCheckable traits
      
      * fix impl BlindCheckable for Extrinsic
      
      * fix impl Checkable for TestXt
      
      * fix impl Checkable for UncheckedExtrinsic
      
      * fix tabs
      
      * add ::Address to system::Trait since its no longer in Checkable trait
      
      * replace tab by space in comment
      
      * replace occurences of Checkable::check with ::check_with
      
      * tx-pool: replace CheckedIntrinsic type alias since it now would require type param
      
      * make more uses of Checkable compile
      
      * adapt Executive impl to new Checkable trait
      
      * fix that CheckedExtrinsic takes AccountId not Address as first type param
      
      * Checkable trait: return error again since it's required in some cases
      
      * Checkable: improve docstrings
      
      * consistent punctuation and capitalization in docstrings
      
      * Ctx -> Context
      
      addresses https://github.com/paritytech/polkadot/pull/287#discussion_r200956240
      
      * reduce trait bounds for impl Checkable for TestXt
      
      addresses https://github.com/paritytech/polkadot/pull/287#discussion_r200839303
      
      * use <UncheckedExtrinsic as Checkable>::Checked
      
      addresses https://github.com/paritytech/polkadot/pull/287#discussion_r200955165
      
      * Revert "add ::Address to system::Trait since its no longer in Checkable trait"
      
      This reverts commit 02eb103015b833c995c9f9067aac2542bb7ce5ea.
      
      * runtime/executive: properly fix that Address no longer in Checkable
      
      * return `Result<Self::Checked, &'static str>` from `Checkable::check`
      133f0185
  4. Jul 10, 2018
  5. Jul 06, 2018
    • asynchronous rob's avatar
      Minimal parachains part 2: Parachain statement and data routing (#173) · 6d8720ac
      asynchronous rob authored
      * 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
      6d8720ac
  6. Jul 05, 2018
  7. Jul 03, 2018
    • Arkadiy Paronyan's avatar
      Runtime version (#256) · 24c4e4c7
      Arkadiy Paronyan authored
      * Runtime version
      
      * Updated genesis.wasm
      
      * Minor fixes
      
      * Fresh runtime
      
      * Default version for pre Poc-2; Fixed authorship interface check
      
      * Fixed authoring check
      24c4e4c7
    • Arkadiy Paronyan's avatar
      Serialisable genesis config (#229) · 5f1e44be
      Arkadiy Paronyan authored
      * 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
      5f1e44be
  8. Jun 28, 2018
    • Gav Wood's avatar
      Rewards and slashing, early-exit of bad sessions (#234) · 8242d1a5
      Gav Wood authored
      * 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
      8242d1a5
  9. Jun 22, 2018
  10. Jun 21, 2018
    • Gav Wood's avatar
      Dump genesis to JSON file (#218) · ff960d85
      Gav Wood authored
      * 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
      ff960d85
  11. Jun 20, 2018
    • Gav Wood's avatar
      Telemetry (Slog + WS) (#217) · 48651dc4
      Gav Wood authored
      * 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...
      48651dc4
  12. Jun 18, 2018
    • Gav Wood's avatar
      Enumeratable accounts (#195) · 56918785
      Gav Wood authored
      * 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
      56918785
  13. Jun 06, 2018
    • Gav Wood's avatar
      Make substrate generic (#169) · 521e3a23
      Gav Wood authored and asynchronous rob's avatar asynchronous rob committed
      * 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
      521e3a23
  14. Jun 01, 2018
    • Gav Wood's avatar
      Runtime dispatch calls return `Result` (#192) · b8c427e6
      Gav Wood authored
      * 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
      b8c427e6
  15. May 25, 2018
    • asynchronous rob's avatar
      Minimal parachain framework part 1 (#113) · f41a4959
      asynchronous rob authored
      * 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
      f41a4959
  16. May 24, 2018
  17. May 07, 2018
    • Gav Wood's avatar
      Fixes and improvements for PoC-1 Testnet (#143) · 49cef2ea
      Gav Wood authored
      * 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.
      49cef2ea
  18. Apr 06, 2018
    • Arkadiy Paronyan's avatar
      Consensus message buffering and more (#114) · 465e2c3c
      Arkadiy Paronyan authored
      * CLI options and keystore integration
      
      * Replace multiqueue with future::mpsc
      
      * BFT gossip
      
      * Revert to app_dirs
      
      * generate_from_seed commented
      
      * Refactor event loop
      
      * Start consensus by timer
      
      * Message buffering
      
      * Minor fixes
      
      * Work around duty-roster issue.
      
      * some more minor fixes
      
      * fix compilation
      
      * more consistent formatting
      
      * make bft input stream never conclude
      
      * Minor fixes
      
      * add timestamp module to executive
      
      * more cleanups and logging
      
      * Fixed message propagation
      465e2c3c
  19. Apr 05, 2018
    • Gav Wood's avatar
      Make Polkadot use the Substrate traity libraries (#105) · b3f026f1
      Gav Wood authored and asynchronous rob's avatar asynchronous rob committed
      * 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.
      b3f026f1
  20. Mar 20, 2018
    • Gav Wood's avatar
      A random beacon (#96) · dc57f768
      Gav Wood authored
      * 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.
      dc57f768
  21. Mar 13, 2018
    • asynchronous rob's avatar
      Slash Authorities for irrefutable misbehavior (#84) · ca28497c
      asynchronous rob authored
      * double-commit and prepare misbehavior
      
      * get misbehavior on completion
      
      * collect misbehavior on drop, not only on success
      
      * kill unused transaction_index field
      
      * add primitive misbehavior report type
      
      * add misbehavior report transaction
      
      * store prior session
      
      * fix set_items
      
      * basic checks for misbehavior reports
      
      * crate for substrate bft misbehavior checking
      
      * integrate misbehavior check crate
      
      * fix comment
      
      * new wasm binaries
      
      * fix hash in test
      
      * import misbehavior transactions into queue
      
      * fix test build
      
      * sign on digest and full proposal when proposing
      
      * detect proposal misbehavior
      
      * fix fallout
      
      * restore balance/bondage types
      ca28497c
  22. Mar 02, 2018
    • asynchronous rob's avatar
      Integrate transaction pool to the proposal logic (#80) · 3367658d
      asynchronous rob authored
      * reshuffle consensus libraries
      
      * polkadot-useful type definitions for statement table
      
      * begin BftService
      
      * primary selection logic
      
      * bft service implementation without I/O
      
      * extract out `BlockImport` trait
      
      * allow bft primitives to compile on wasm
      
      * Block builder (substrate)
      
      * take polkadot-consensus down to the core.
      
      * test for preemption
      
      * fix test build
      
      * Fix wasm build
      
      * Bulid on any block
      
      * Test for block builder.
      
      * Block import tests for client.
      
      * Tidy ups
      
      * clean up block builder instantiation
      
      * justification verification logic
      
      * JustifiedHeader and import
      
      * Propert block generation for tests
      
      * network and tablerouter trait
      
      * use statement import to drive creation of further statements
      
      * Fixed rpc tests
      
      * custom error type for consensus
      
      * create proposer
      
      * asynchronous proposal evaluation
      
      * inherent transactions in polkadot runtime
      
      * fix tests to match real polkadot block constraints
      
      * implicitly generate inherent functions
      
      * add inherent transaction functionality to block body
      
      * block builder logic for polkadot
      
      * some tests for the polkadot API
      
      * avoid redundancy in native code compatibility check
      
      * helper for extracting nonce
      
      * transaction pool implementation
      
      * transaction pool
      
      * integrate transaction pool with proposer
      
      * indentation
      
      * kill storage keys module
      
      * accept new transactions to replace old
      3367658d
  23. Feb 25, 2018
    • Gav's avatar
      Initial draft of stakeholder democracy. · c96a1fcd
      Gav authored
      c96a1fcd
    • asynchronous rob's avatar
      Proposal creation and evaluation to plug into BFT (#77) · 05583c34
      asynchronous rob authored
      * reshuffle consensus libraries
      
      * polkadot-useful type definitions for statement table
      
      * begin BftService
      
      * primary selection logic
      
      * bft service implementation without I/O
      
      * extract out `BlockImport` trait
      
      * allow bft primitives to compile on wasm
      
      * Block builder (substrate)
      
      * take polkadot-consensus down to the core.
      
      * test for preemption
      
      * fix test build
      
      * Fix wasm build
      
      * Bulid on any block
      
      * Test for block builder.
      
      * Block import tests for client.
      
      * Tidy ups
      
      * clean up block builder instantiation
      
      * justification verification logic
      
      * JustifiedHeader and import
      
      * Propert block generation for tests
      
      * network and tablerouter trait
      
      * use statement import to drive creation of further statements
      
      * Fixed rpc tests
      
      * custom error type for consensus
      
      * create proposer
      
      * asynchronous proposal evaluation
      
      * inherent transactions in polkadot runtime
      
      * fix tests to match real polkadot block constraints
      
      * implicitly generate inherent functions
      
      * add inherent transaction functionality to block body
      
      * block builder logic for polkadot
      
      * some tests for the polkadot API
      05583c34
  24. Feb 19, 2018
    • Gav Wood's avatar
      Optional storage entries (#75) · 1308aab5
      Gav Wood authored and asynchronous rob's avatar asynchronous rob committed
      * 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.
      1308aab5
  25. Feb 12, 2018
    • Gav Wood's avatar
      Additional runtime tests for the test-runtime (#69) · 3d30b128
      Gav Wood authored and asynchronous rob's avatar asynchronous rob committed
      * 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.
      3d30b128
  26. Feb 09, 2018
    • Gav Wood's avatar
      Introduce toy runtime for testing inside substrate. (#66) · 0a53392c
      Gav Wood authored
      * 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
      0a53392c
  27. Feb 08, 2018
    • asynchronous rob's avatar
      Re-introduce zero copy codec and add minimal polkadot client API which uses... · 4fb77640
      asynchronous rob authored
      Re-introduce zero copy codec and add minimal polkadot client API which uses linked native runtime (#65)
      
      * client-api type and move duty roster types to primitives
      
      * tuple implementation for slicable
      
      * mild cleanup of deserialization code
      
      * stubs which handle encoding and decoding themselves
      
      * fancier impl_stubs macro
      
      * zero-copy slicable API
      
      * minimal polkadot-client API
      
      * fix WASM API generation
      
      * move native environment stuff to substrate executor
      
      * fix warnings and grumbles
      4fb77640
    • Gav's avatar
      Fix warning and directory restructure. · 8d256389
      Gav authored
      8d256389