Skip to content
  1. Dec 11, 2018
    • asynchronous rob's avatar
      Authorship works again (#50) · 13b58b13
      asynchronous rob authored
      * provide through inherent-data when authoring
      
      * remove unneeded codec round-trip in proposer
      
      * refactor polkadot-consensus service architecture
      
      * integrate block authorship into polkadot service
      
      * remove unused extern substrate-network crate in service
      
      * write wrapper for unifying errors in consensus proposer
      
      * extend wrapper further
      
      * switch temporarily to macro-changing branch
      
      * runtime compiles
      
      * implement `inherent_extrinsics` for runtime
      
      * block authorship works
      
      * add GRANDPA to polkadot runtime
      
      * get everything compiling
      
      * use substrate master branch again
      
      * remove some unneeded params
      
      * update WASM
      
      * parse only extrinsics when pruning availability store
      
      * update recent deps
      
      * runtime almost compiles
      
      * need to expose trait type in build : I had to put phantomdata manually.
      
      * finish updating authorship to latest GRANDPA and Aura
      
      * fix tests
      
      * update wasm
      13b58b13
  2. Nov 26, 2018
    • asynchronous rob's avatar
      Blocks carry full attestations for candidates (#42) · 4b0c4968
      asynchronous rob authored
      
      
      * statement table yields fully-attested candidates
      
      * attestation types in polkadot-primitives
      
      * propose block with fully-attested candidates in consensus
      
      * some signature-checking logic in the runtime
      
      * fix runtime compilation
      
      * ensure attestations are full and without duplicate when checking
      
      * fix consensus-service compilation
      
      * add some tests
      
      * use bitvec from crates.io now that it's published
      
      * sign statements based on primitive statement's encoding
      
      * remove some serialize bounds
      
      * Fix error message with duplicate availability attestations
      
      Co-Authored-By: default avatarrphmeier <[email protected]>
      4b0c4968
  3. Nov 25, 2018
    • Gav Wood's avatar
      Make work with Substrate master (#36) · a35ddc58
      Gav Wood authored
      * 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
      a35ddc58
  4. Sep 12, 2018
  5. Aug 30, 2018
  6. Aug 29, 2018
  7. Aug 17, 2018
  8. Aug 15, 2018
    • Gav Wood's avatar
      Version bump, fixes (#572) · d4f6af15
      Gav Wood authored
      * Bump version, don't propose invalid blocks
      
      * Fix build.
      
      * Fixes.
      
      * More fixes.
      
      * Fix tests.
      
      * Fix more tests
      
      * More tests fixed
      d4f6af15
    • Gav Wood's avatar
      New slashing mechanism (#554) · 14474fc7
      Gav Wood authored
      * Slashing improvements
      
      - unstake when balance too low
      - unstake after N slashes according to val prefs
      - don't early-terminate session/era unless unstaked
      - offline grace period before punishment
      
      * Fix warning
      
      * Cleanups and ensure slash_count decays
      
      * Bump authoring version and introduce needed authoring stub
      
      * Rename
      
      * Fix offline tracker
      
      * Fix offline tracker
      
      * Renames
      
      * Add test
      
      * Tests
      
      * Tests.
      14474fc7
  9. Aug 11, 2018
    • asynchronous rob's avatar
      Vote out offline authorities (#524) · 988f94fa
      asynchronous rob authored
      * notify when an authority appears to have missed their block
      
      * Runtime API
      
      * offline tracker
      
      * Move to consensus
      
      * generating reports of offline indices
      
      * stubbed-out evaluation logic
      
      * Slashing data pathwat
      
      * usize -> u32
      
      * Slash bad validators.
      
      * update to rhododendron 0.3
      
      * fix compilation of polkadot-consensus
      
      * Support offline noting in checked_block
      
      * include offline reports in block authorship voting
      
      * do not vote validators offline after some time
      
      * add test for offline-tracker
      
      * fix test build
      
      * bump spec version
      
      * update wasm
      
      * Only allow validators that are possible to slash
      
      * Fix grumble
      
      * More idiomatic
      
      * New Wasm.
      
      * update rhododendron
      
      * improve logging and reduce round time exponent
      
      * format offline validators in ss58
      988f94fa
  10. Aug 10, 2018
  11. Jul 31, 2018
    • Gav Wood's avatar
      Fix up session phase backport (#452) · 2ec0f429
      Gav Wood authored
      * 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
      2ec0f429
    • Gav Wood's avatar
      Fix session phase in early-exit (#453) · e5c5ee57
      Gav Wood authored
      * Fix up session phase.
      
      * Version bump
      
      * Fix session rotation properly and add test
      
      * Update runtimes
      
      * Docs
      e5c5ee57
  12. 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
  13. Jul 15, 2018
  14. 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
  15. Jul 05, 2018
  16. 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
  17. 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
  18. Jun 22, 2018
  19. 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
  20. 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
  21. 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
  22. 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
  23. 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
  24. May 24, 2018
  25. 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
  26. 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
  27. 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
  28. 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
  29. 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
  30. Feb 25, 2018
    • 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