1. Sep 12, 2018
    • Gav Wood's avatar
      Phase 1 of repo reorg (#719) · bc276f3c
      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
      bc276f3c
  2. Aug 15, 2018
    • Gav Wood's avatar
      Refactor/substrate state machine generic (#553) · 690f52f5
      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
      690f52f5
  3. Jul 27, 2018
    • Chevdor's avatar
      Add docker image (#375) · 8f414abb
      Chevdor authored
      * Add Dockerfile
      
      Add documentation
      
      Ref #375
      
      * Add PORT, VOLUME and reduce size of the docker image significantly
      
      Fix doc and reduce image size
      
      Fix #375
      
      * Fix docker compose
      8f414abb
  4. Jul 13, 2018
  5. Jun 20, 2018
    • Gav Wood's avatar
      Telemetry (Slog + WS) (#217) · b7b4cc77
      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...
      b7b4cc77
  6. Apr 16, 2018
  7. Feb 20, 2018
  8. Feb 09, 2018
    • Jaco Greeff's avatar
      Publish wasm runtime binaries from CI (#56) · a26255bc
      Jaco Greeff authored and asynchronous rob's avatar asynchronous rob committed
      * Publish wasm binaries
      
      * Update package.json version (npm)
      
      * Copy directly to wasm32-unknown-unknown
      
      * Remove debug repo, enable final location
      
      * Always run through build test
      
      * Update for new direectory structure
      
      * Extra space before >
      
      * Copy from subtrate/executor & subtrate/test-runtime
      a26255bc
    • Gav Wood's avatar
      Introduce toy runtime for testing inside substrate. (#66) · 74a897df
      Gav Wood authored
      * Introduce simple blockchain runtime for substrate tests.
      
      * Remove bad files.
      
      * Add needed wasm binaries.
      
      * Refactoring.
      
      - Repot files in test-runtime.
      - Rename troublesome `Joiner::join` to `Joiner::and`.
      - Rework `Slicable` to dedup code.
      
      * More fixes and refactoring
      
      * Rebuild substrate test wasm.
      
      * Fix merge errors.
      
      * Rename the disasterously named `to_vec` to `encode`.
      
      Also rename `as_slice_then` to `with_encoded`.
      
      * Tests for toy runtime.
      
      * Fix doc nit
      74a897df
  9. Feb 08, 2018
  10. Feb 07, 2018
  11. Jan 23, 2018
    • Gav Wood's avatar
      Introduce basic skeleton for Polkadot runtime. (#32) · 0039a32e
      Gav Wood authored and Arkadiy Paronyan's avatar Arkadiy Paronyan committed
      * Introduce basic skeleton for Polkador runtime.
      
      * Clean up the runtime skeleton.
      
      * Make initial runtime skeleton compile.
      
      * Compile polkadot-runtime both for Wasm ad native, allowing for testing and direct usage.
      
      * More fleshing out on runtime.
      
      * Update native support.
      
      * Fix warning.
      
      * Update gitignore
      
      * Update path.
      
      * Fix path.
      
      * Remove accidentally committed files.
      
      * Add wasm binaries.
      
      * Fix test.
      
      * Native storage support API.
      
      * Add environmental module
      
      * Add native environment to make native source-code compatible with wasm.
      
      Also tests.
      
      * Finish up & polish environment stuff.
      
      * Avoid using reentrancy issues.
      
      * Add some docs and a test.
      
      * Remove unneeded function.
      
      * Documentation
      
      * Tweak docs
      
      * Remove TODOs.
      
      * Balance transfers + util methods.
      
      * Rejig tests and ensure authorities are addressed consistently.
      
      * Add marshaller for xfer function
      
      * Transaction dispatch test.
      
      * Minor fix.
      
      * Add test for ser/de transaction.
      
      * Add ser/de for header.
      
      * Add tests for header ser/de
      
      * Introduce basic block decoding/execution framework.
      
      * Introduce block decoding/execution framework (p2)
      
      * Big refactor.
      
      * Split out joiner.
      
      * Hide away support modules.
      
      * Fix up wasm runtime.
      
      * use externalities for chain_id
      
      * Clean up (Test)Externalities.
      
      * Repot and introduce keccak-256 external.
      
      * Signing with crypto.
      
      * fix unsafety hole in environmental using function
      
      * Introduce Ed25519 crypto.
      
      * Repotting.
      
      * Add ed25519_verify external.
      
      * Introduce Ed25519 verify as an external.
      
      * fix unsafety hole around unwinding
      
      * Compile fixes.
      
      * use new environmental API
      
      * Tests for ed25519 verify.
      
      * Polish
      
      * Introduce UncheckedTransaction & test.
      
      * Implement basic block and tx processing
      
      * Introduce static hex and valid signature for block test.
      
      * Repot session.
      
      * comments.
      
      * Refactor and timestamp test
      
      * Remove fluff
      
      * Remove fluff.
      
      * Staking eras and tests.
      
      * Implement sessions.
      
      * Polish
      
      * Test sessions.
      
      * Introduce better hashing.
      
      - Blake2 for secure hashing
      - XX for fast hashing
      
      * Fix tests.
      
      * Introduce staking.
      
      * Tests for simple staking system.
      
      * Build fix for wasm.
      
      * Fix tests.
      
      * Repotting and docs.
      
      * Docs and licence.
      
      * Documentation.
      
      * Remove superfluous code.
      
      * Remove dummy key.
      
      * Remove other superfluous file.
      
      * Optimise with swap_remove
      0039a32e
  12. Jan 09, 2018
  13. Jan 08, 2018
    • Gav Wood's avatar
      Introduce first groundwork for Wasm executor (#27) · b38b6336
      Gav Wood authored and asynchronous rob's avatar asynchronous rob committed
      * Introduce first groundwork for Wasm executor.
      
      * Remove old Rust-runtime code.
      
      * Avoid commiting compled files.
      
      * Add runtime precompile.
      
      * Rename so module makes more sense.
      
      * Further renaming.
      
      * Ensure tests work.
      
      * Allow bringing in of externalities.
      
      - Add util functions/macros.
      - Add uncompacted runtime.
      - Add some external crates from pwasm-std for managing allocs/memory
      stuff.
      
      * Nice macros for imports.
      
      * Allow passing in of data through allocators.
      
      Make memcpy and malloc work.
      Basic allocator.
      
      * Can now pass in bytes to WasmExecutor.
      
      * Additional cleanup.
      
      * Switch usages of `OutData` to `u64`
      
      No need to be able to return bytes anymore.
      
      * convert to safe but extremely verbose type conversion.
      
      @rphmeier any more concise way of doing this?
      
      * Remove StaticExternalities distinction.
      
      * Remove another unused use.
      
      * Refactor wasm utils out
      
      * Remove extraneous copies that weren't really testing anything.
      
      * Try to use wasm 0.15
      
      * Make it work!
      
      * Call-time externalities working.
      
      * Add basic externalities.
      
      * Fix grumbles and note unwraps to be sorted.
      
      * Test storage externality.
      
      Unforunately had to change signatures of externalities to avoid
      immutable function returning a reference. Not sure what to do about
      this...
      
      * Fix nits.
      
      * Compile collation logic.
      
      * Move back to refs. Yey.
      
      * Remove "object" id for storage access.
      
      * Fix test.
      
      * Fix up rest of tests.
      
      * remove unwrap.
      
      * Expose set/get code in externalities
      
      Also improve tests and add nice wrappers in rust-wasm.
      
      * Add validator set.
      
      * Introduce validator set into externalities and test.
      
      * Add another external function.
      
      * Remove code and validators; use storage for everything.
      
      * Introduce validators function.
      
      * Tests (and a fix) for the validators getter.
      
      * Allow calls into runtime to return data.
      
      * Remove unneeded trace.
      
      * Make runtime printing a bit nicer.
      
      * Create separate runtimes for testing and polkadot.
      
      * Remove commented code.
      
      * Use new path.
      
      * Refactor into shared support module.
      
      * Fix warning.
      
      * Remove unwraps.
      
      * Make macro a little less unhygenic.
      
      * Add wasm files.
      b38b6336
  14. Nov 10, 2017
  15. Nov 07, 2017