1. Oct 23, 2018
  2. Oct 17, 2018
  3. Oct 16, 2018
    • Gav Wood's avatar
      Compact format for block number, nonce, balance (#910) · 8bc5242c
      Gav Wood authored
      * Try to make everything compact
      
      * Make `Clone` work
      
      * Fix
      
      * Move contracts and balances over to compact encoding
      
      * Session and timestamp are compact
      
      * Sataking uses compact numbers
      
      * Treasury now compact
      
      * Compact Democracy
      
      * Council is compact
      
      * Fix
      8bc5242c
  4. Oct 05, 2018
  5. Sep 27, 2018
  6. Sep 25, 2018
  7. Sep 15, 2018
  8. Sep 12, 2018
    • Gav Wood's avatar
      Phase 1 of repo reorg (#719) · 1e011625
      Gav Wood authored and Arkadiy Paronyan's avatar Arkadiy Paronyan committed
      * Remove unneeded script
      
      * Rename Substrate Demo -> Substrate
      
      * Rename demo -> node
      
      * Build wasm from last rename.
      
      * Merge ed25519 into substrate-primitives
      
      * Minor tweak
      
      * Rename substrate -> core
      
      * Move substrate-runtime-support to core/runtime/support
      
      * Rename/move substrate-runtime-version
      
      * Move codec up a level
      
      * Rename substrate-codec -> parity-codec
      
      * Move environmental up a level
      
      * Move pwasm-* up to top, ready for removal
      
      * Remove requirement of s-r-support from s-r-primitives
      
      * Move core/runtime/primitives into core/runtime-primitives
      
      * Remove s-r-support dep from s-r-version
      
      * Remove dep of s-r-support from bft
      
      * Remove dep of s-r-support from node/consensus
      
      * Sever all other core deps from s-r-support
      
      * Forgot the no_std directive
      
      * Rename non-SRML modules to sr-* to avoid match clashes
      
      * Move runtime/* to srml/*
      
      * Rename substrate-runtime-* -> srml-*
      
      * Move srml to top-level
      1e011625
  9. Sep 11, 2018
  10. Sep 10, 2018
    • Sergey Pepyakin's avatar
      Integrate contracts into substrate-demo runtime (#675) · 6c1b2c27
      Sergey Pepyakin authored
      * Introduce data and salt into ContractAddressFor
      
      * Accept salt arg in ext_create.
      
      * Integrate contracts into the demo runtime
      
      * Make libcontract compile to wasm
      
      * Remove salt parameter.
      
      This now is concern of userspace.
      
      * Rebuild binaries.
      6c1b2c27
  11. Sep 07, 2018
    • Gav Wood's avatar
      New extrinsic dispatch model (#678) · 761bc9f7
      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
      761bc9f7
  12. Sep 05, 2018
  13. Sep 04, 2018
    • Gav Wood's avatar
      Introduce treasury and document (#646) · 7657a232
      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
      7657a232
  14. Sep 01, 2018
    • Sergey Pepyakin's avatar
      Contract runtime polishing (#601) · 73ad6734
      Sergey Pepyakin authored
      * Rename ext_transfer → ext_call
      
      There are several tests where gas was changed. This is due to shrinking
      the name and consequently a size of contracts.
      
      * Fix macros
      
      Specifically, make fixes that allows to use a function without arguments (apart from ctx).
      For example:
      
      ```rust
      ext_return_42(ctx) -> u32 => {
          Ok(42)
      }
      ```
      
      Also, add impl ConvertibleToWasm for u64.
      
      * Implement passing input data buffer from top-level
      
      This allows the transaction initiator to pass some input data that can be accessed from the executed contract.
      
      However, this only works for the top-level contract. The contract still cannot pass input data to the callee contract. The reason for that is that API doesn't support this presently.
      This will be addressed in the following commits.
      
      * Input data passing thru `ext_call`
      
      `ext_call` now takes a buffer (or more specifically, pointer  to the start of and size of a buffer).
      
      This allows contracts to pass input data while calling into other contracts.
      
      * Input data passing thru `ext_create`
      
      Same as previous commit but for `ext_create`.
      
      * Trap on decoding error instead of panicking
      
      * Don't cascade failure in ext_call
      
      Instead, if callee doesn't complete successfuly, return a non-zero status code.
      
      This will prevent cascading traps up to the top-level. Due to this some tests were altered so that they now expect successful transfer instead of a failure.
      
      * Don't cascade failure in ext_create
      
      Same as previous commit but for ext_create.
      
      * Specify how much gas to allot for a call
      
      * Specify how much gas to allot for a create
      
      * Update tests.rs
      73ad6734
  15. Aug 30, 2018
    • Gav Wood's avatar
      Separate out staking module into balances and payment (#629) · 8281618e
      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
      8281618e
  16. Aug 29, 2018
  17. Aug 28, 2018
    • Sergey Pepyakin's avatar
      Contracts: Per block gas limit (#506) · 20655af9
      Sergey Pepyakin authored
      * Add block gas limit check
      
      * Fix formatting
      
      * Add block_gas_limit test.
      
      * Use ExtBuilder in tests
      
      * Docs and clean-up.
      
      * Correct style
      20655af9
    • Gav Wood's avatar
      Introduce Runtime Events (#607) · 278a054b
      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
      278a054b
  18. Aug 15, 2018
    • Gav Wood's avatar
      Refactor/substrate state machine generic (#553) · 3d6aaab2
      Gav Wood authored and asynchronous rob's avatar asynchronous rob committed
      * Genric over hasher
      
      * WIP start adding NodeCodec
      
      * Add codec to TrieBackend
      
      * Typechecks
      
      * Fix error type
      
      * Cleanup
      
      * Tests build (and fail)
      
      * Fix tests: don't use MemoryDB::default()
      
      * Lockfile
      
      * Address grumbles
      
      * Teach environmental! about generics
      
      * Add Finder artifacts
      
      * whitespace
      
      * Add a toy impl of Hasher and plug it in to Externalities
      
      * Use `uint` and `fixed-hash` from `parity-common`
      Remove unused U512
      Add test to ensure H256 impls heapsizeof
      
      * lock file updates
      
      * Make hashes Encodable/Decodable
      
      * lock file updates
      
      * Impl FromIterator for TestExternalities so we can collect() and use map!
      
      * Use rustc-hex from crates
      Use rlp from master so dependencies do not mess up the scope
      
      * Fix tests in runtime-io
      
      * lockfile shenanigans
      
      * Add a BlakeHasher impl
      
      * Use BlakeHasher in runtime-io
      
      * lockfile updates
      
      * ws
      
      * Add a Blake2/RLP-flavoured NodeCodec
      
      * Use Blake-flavoured Hasher and NodeCodec
      
      * lockfile
      
      * Implement PartialEq and Default for TestExternalities
      
      * Add note about limitations of environmental!
      
      * Make it compile, but this is probably broken
      
      * Derive Debug so tests in executor can work
      
      * Make executor use BlakeHasher
      
      * ws
      
      * WIP make client generic
      
      * typechecks
      
      * cleanup
      
      * client tests pass
      
      * Fix client/db
      
      * cleanup
      
      * Fix network
      
      * Fix rpc
      
      * Fix service
      
      * Make TestExternalities work better au lieu d'un HashMap
      
      * Fix tests in council
      
      * Fix tests in contract
      
      * Fix tests in council
      
      * Fix democracy
      
      * Add comment about odd-looking reexports in tests
      
      * Don't need to load branch
      
      * Fix staking
      
      * Fix session
      
      * Some polkadot fixes and lockfile
      
      * Fix executive
      
      * fixup lockfile
      
      * Fix polkadot/api
      
      * Fix polkadot/service
      
      * Fix polkadot/runtime tests
      
      * Fix tests in test-runtime
      
      * Test fixes
      
      * Fix missing component in the `std` feature
      
      * Use PhantomData and Result from core
      
      * Fix paths
      Use core
      
      * load heapsize on wasm
      
      * implement `HeapSizeOf` for wasm
      
      * Add toy impl of `blake2_256` for no_std
      
      * lockfile
      
      * Use kvdb* from parity-common and fix errors
      
      * rebuilt lockfile
      
      * Add dummy impl of `on_advance_round` for rhododendron::Context
      
      * Fix build after merge
      
      * Add HeapSizeOf bound where needed
      
      * Sort out dependencies for no_std
      
      * Add HeapSizeOf bound where needed
      
      * use temp branch pending PR merges
      
      * Remove unneeded tests
      
      * Lock file and wasm artifacts
      
      * lockfile
      
      * Use magic commit for libp2p
      
      * Cleanup
      
      * Implement blake2_256 for no_std
      
      * Back on parity-common master
      
      * missing type params
      
      * Update Cargo.lock
      
      * whitespace
      
      * Rename concrete Rlp node codec "RlpCodec" and use everywhere
      Implement a Keccak-flavoured Rlp NodeCodec and use everywhere
      Add a KeccakHasher
      
      * Switch to use KeccakHasher
      
      * Lock file and runtimes
      
      * fixup lockfile
      
      * Fix outstanding issue using concrete types (thanks @gnunicorn)
      
      * Cleanup
      
      * More cleanup
      
      * Comment out Blake2 Hasher
      
      * implement ext_keccak256
      
      * Address todo: FetchChecker is generic
      
      * all tests passing
      3d6aaab2
  19. Jul 29, 2018
    • Sergey Pepyakin's avatar
      Make contract a separate runtime module (#345) · 8c527f29
      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.
      8c527f29
  20. Jul 15, 2018
  21. Jun 18, 2018
    • Gav Wood's avatar
      Enumeratable accounts (#195) · e53c17d6
      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
      e53c17d6
  22. Jun 05, 2018
  23. Jun 01, 2018
    • Gav Wood's avatar
      Runtime dispatch calls return `Result` (#192) · a306074e
      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
      a306074e
  24. May 31, 2018
    • Gav Wood's avatar
      Public extrinsic apply doesn't panic (#178) · 44eaa4a1
      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.
      
      * utilise hygene
      44eaa4a1
  25. May 23, 2018
  26. May 01, 2018