1. Sep 10, 2018
  2. Sep 09, 2018
    • David's avatar
      LocalCallExecutor and RemoteCallRequest generic over Hasher and NodeCodec (#573) · 889c1dc1
      David authored
      * LocalCallExecutor and RemoteCallRequest generic over Hasher and NodeCodec
      
      * Fix client/db
      
      * Use new triehash
      
      * Use new triehash
      Don't use ethereum-types from rlp
      
      * New triehash
      
      * Use new triehash
      
      * fixes and rlp without ethereum-types
      
      * Lockfile
      
      * lockfile
      
      * Rename enumerated_trie_root to keccak_rlp_enumerated_trie_root
      
      * Rename ordered_trie_root -> keccak_rlp_ordered_trie_root
      Rename trie_root -> keccak_rlp_trie_root
      
      * Fix panic message
      
      * Kick the ball one step up the ladder
      
      * Normalize function signatures between wasm and native
      
      * Sort out compilation and test errors
      
      * Cleanup
      
      * Constrain the wasm-version using an ExternTrieCrypto trait that is implemented only for KeccakHasher
      
      * hashdb is not optional
      
      * lockfile
      
      * Runtimes
      
      * Missing bounds
      
      * wasm binaries
      
      * lockfiles
      
      * binaries
      
      * LocalCallExecutor uses concrete hasher/codec
      
      * Use binaries from master
      
      * Externalities is concrete
      RuntimeInfo is not generic
      
      * whitespace grumble
      
      * lockfile
      
      * lockfile and binaries
      889c1dc1
  3. Sep 07, 2018
    • Gav Wood's avatar
      New extrinsic dispatch model (#678) · da05763e
      Gav Wood authored
      * System and Balances switched to new call model
      
      * Fixed up executive for new pardigm
      
      * Consensus works with Origin
      
      * Timestamp ported over
      
      * Session now compatible
      
      * Ported staking
      
      * Treasury compatible
      
      * Expunge MaybeEmpty
      
      * Make democracy work
      
      * Council compatible
      
      * Remove some aux-dispatch stuff and fix balances
      
      * Rename aux -> origin, fix contracts
      
      * Fix test
      
      * Fix example
      
      * Update macro to remove superfluous cruft
      
      * Make work with new macro
      
      * Tests
      
      * Fix some tests
      
      * Tests
      
      * Fix grumbles
      
      * Final grumble
      da05763e
  4. Sep 05, 2018
  5. Sep 04, 2018
    • Gav Wood's avatar
      Introduce treasury and document (#646) · 2b41b778
      Gav Wood authored
      * Introduce treasury and document
      
      * Revert bad changes
      
      * More reversions
      
      * Add example crate
      
      - Remove HasPublicAux
      - Rename Concrete -> Runtime
      
      * Actually commit stuff
      
      * Changes
      
      * Propagate block number in finalise.
      
      * Fix and build example
      
      * Fixes.
      
      * Fix compilation for treasury.
      
      * Fix the treasury test
      
      * Tests
      
      * Fix.
      
      * Fix tests
      
      * Fix a few grumbles
      
      * Fixes
      
      * Fix grumbles
      2b41b778
  6. Sep 01, 2018
    • Guanqun Lu's avatar
      WIP on chain heap (#639) · c54321a7
      Guanqun Lu authored
      * move heap size on chain
      
      * fix the interface change
      
      * decode heap size
      
      * fix code comments
      
      * fix comment
      
      * update Cargo.lock
      
      * rename to heappages
      
      * add one heap pages variable in runtime
      c54321a7
  7. Aug 31, 2018
  8. Aug 30, 2018
    • Gav Wood's avatar
      Separate out staking module into balances and payment (#629) · 7c10a6c9
      Gav Wood authored
      * Initial commit.
      
      * Split out balances module
      
      * Minimise Balances trait requirements
      
      * Fix up balances, remove balances stuff from staking
      
      * Split off and fix up staking module
      
      * Fix executive tests
      
      * Fix up democracy module
      
      * make council work again
      
      * Remove unneeded cruft from democracy
      
      * Fix up contract module
      
      * Fix up rest of tests
      
      * Fix minor TODOs
      
      * Fix tests
      
      * Remove superfluous code
      
      * Move offline inherents to consensus module.
      
      Fixes #630
      
      * Version needs Decode.
      
      * Move Decode back
      
      * Fix nits
      
      * Refactor to allow custom message
      7c10a6c9
  9. Aug 29, 2018
  10. Aug 28, 2018
    • Gav Wood's avatar
      Introduce Runtime Events (#607) · 221b7e17
      Gav Wood authored
      * Squashed commit.
      
      New slashing mechanism (#554)  …
      * 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.
      Remove accidental merge files.
      Merge remote-tracking branch 'origin/master' into gav-new-pos
      Version bump, fixes (#572)  …
      * Bump version, don't propose invalid blocks
      * Fix build.
      * Fixes.
      * More fixes.
      * Fix tests.
      * Fix more tests
      * More tests fixed
      Fix merge
      Fix accidental merge bug
      Fixes.
      Staking failsafes  …
      - Don't slash/unstake/change session when too few staking participants
      - Introduce set_balance PrivCall
      Make minimum validator count dynamic.
      test fixes
      Fix tests.
      Fix tests
      Fix tests, update readme.
      Merge remote-tracking branch 'origin/master' into gav-new-pos
      Test with release.
      Use safe math when dealing with total stake
      Fix test again.
      Introduce events into runtime.
      Fix tests
      Add events for account new/reap
      Integration-style tests for events.
      
      * Remove old code
      221b7e17
  11. Aug 27, 2018
    • Gav Wood's avatar
      New slashing logic (#570) · 6b0d3453
      Gav Wood authored
      * New slashing mechanism (#554)
      
      * 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.
      
      * Remove accidental merge files.
      
      * Version bump, fixes (#572)
      
      * Bump version, don't propose invalid blocks
      
      * Fix build.
      
      * Fixes.
      
      * More fixes.
      
      * Fix tests.
      
      * Fix more tests
      
      * More tests fixed
      
      * Fix merge
      
      * Fix accidental merge bug
      
      * Fixes.
      
      * Staking failsafes
      
      - Don't slash/unstake/change session when too few staking participants
      - Introduce set_balance PrivCall
      
      * Make minimum validator count dynamic.
      
      * test fixes
      
      * Fix tests.
      
      * Fix tests
      
      * Fix tests, update readme.
      
      * Test with release.
      
      * Use safe math when dealing with total stake
      
      * Fix test again.
      
      * Fix grumbles.
      6b0d3453
    • Sergey Pepyakin's avatar
      Contract signatures checking (#478) · 874550c7
      Sergey Pepyakin authored
      * Convert T in vm::Ext to a associated type
      
      * WIP
      
      * Fix BTreeMap
      
      * Extract prepare module from vm.
      
      * Move tests as well.
      
      * Fix doc comment.
      
      * macro for env defintion
      
      * Fix prepare tests.
      
      * Clean up
      
      * Renamings
      
      * Refactor scan_imports
      
      * Improve docs
      
      * Docs.
      
      * Add some tests for sandbox module
      
      * Clean up
      
      * Use Error::Instantiate instead of ::Deserialize
      
      * Add test for imports
      
      * Add wrong sig import
      
      * Clean up
      
      * Rebuild binaries.
      
      * Use "another_module" instead of obscure "vne"
      
      Since "vne" looks like an actual typo
      874550c7
  12. Aug 15, 2018
  13. Aug 11, 2018
    • asynchronous rob's avatar
      Vote out offline authorities (#524) · 25f0c077
      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
      25f0c077
  14. Aug 09, 2018
  15. Aug 08, 2018
    • Tomasz Drwięga's avatar
      Derivable Encode & Decode (#509) · 4af260fe
      Tomasz Drwięga authored
      * Derive macro for simple structs.
      
      * Derive Encode/Decode wherever we can.
      
      * Derive for enums.
      
      * Support discriminant.
      
      * Get rid of some repetition.
      
      * Support custom indices.
      
      * Derive codec for enums wherever possible.
      
      * Fix no_std
      
      * WASM rebuilt
      
      * Avoid excessive import.
      
      * Fix compilation.
      
      * Address review grumbles.
      4af260fe
  16. Aug 06, 2018
  17. Aug 01, 2018
    • asynchronous rob's avatar
      Collator for the "adder" (formerly basic-add) parachain and various small fixes (#438) · 64813f68
      asynchronous rob authored
      * update basic_add wasm
      
      * wasm feature and collator feature
      
      * move test parachains around a little
      
      * fix wasm build for basic_add
      
      * move basic_add to adder, introduce README
      
      * minimal basic_add collator
      
      * ensure collator messages are sent in the right order
      
      * more logging
      
      * route consensus statements to all peers
      
      * minor bugfixes for parachains
      
      * genesis builder accounts for parachain heads
      
      * fix parachains tests
      
      * targets for txpool
      
      * tweak runtime + collator
      
      * fix version in adder-collator
      
      * consistency for overflowing
      
      * adjust comment
      
      * fix stable test run
      
      * remove dummy registration test
      
      * final grumbles
      64813f68
  18. Jul 31, 2018
  19. Jul 29, 2018
    • Sergey Pepyakin's avatar
      Make contract a separate runtime module (#345) · 9d7a3c1d
      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.
      9d7a3c1d
  20. Jul 27, 2018
    • Arkadiy Paronyan's avatar
      Prevent building invalid blocks (#430) · 9feedaa9
      Arkadiy Paronyan authored
      * Commit extrinsics changes
      
      * Removed panic=abort
      
      * Commit when needed
      
      * Resotre default hook for the native call
      
      * Revert test
      
      * Proper test
      
      * Sorted errors and fixed wasm build
      9feedaa9
  21. Jul 17, 2018
    • Gav Wood's avatar
      Final tweaks for PoC-2 runtime upgrade (#348) · 410f93c0
      Gav Wood authored
      * Final tweaks for PoC-2 runtime upgrade
      
      * Address grumble
      
      * Avoid slow wasm
      
      * New poc-2-era bootnodes
      
      * Fix warning
      
      * Typo
      
      * Fix for allocation in wasm
      
      * Fix & runtimes.
      
      * PoC-1 should be default.
      
      * Name testnet Krumme Lanke, update README
      
      * YML update
      
      * Use the right port
      410f93c0
  22. Jul 15, 2018
  23. Jul 14, 2018
  24. Jul 11, 2018
  25. Jul 09, 2018
  26. Jul 06, 2018
    • asynchronous rob's avatar
      Minimal parachains part 2: Parachain statement and data routing (#173) · 6f7f8bf9
      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
      6f7f8bf9
  27. Jul 05, 2018
  28. Jul 03, 2018
    • Sergey Pepyakin's avatar
      Prevent account storage leakage (#270) · 2a8a6851
      Sergey Pepyakin authored
      * WIP
      
      * Iteration over all keys with the specified prefix
      
      * Add clear_prefix in runtime-io
      
      * Introduce a custom storage impl: Double Map
      
      * Remove prefix
      
      * Impl for_keys_with_prefix for light client
      
      * Fix wasm_executor
      
      * Test storage removal leads to removal of stroage
      
      * Check for ok result in storage tests.
      
      * Add docs.
      
      * Remove commented code under decl_storage!
      
      * Add clear_prefix test in runtime-io
      
      * Add test for wasm_executor
      
      * Prefix walking test.
      
      * Rebuild binaries.
      2a8a6851
    • Arkadiy Paronyan's avatar
      Runtime version (#256) · 710ae51d
      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
      710ae51d
    • Arkadiy Paronyan's avatar
      Serialisable genesis config (#229) · 106c1126
      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
      106c1126
  29. Jun 28, 2018
    • Gav Wood's avatar
      Rewards and slashing, early-exit of bad sessions (#234) · 7b1dca22
      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
      7b1dca22
  30. Jun 27, 2018