Commit Graph

16708 Commits

Author SHA1 Message Date
Guanqun Lu 3a58595a85 add a new unit test for extrinsic pool (#611) 2018-08-28 10:53:59 +01:00
Guanqun Lu 98f3f80e70 set the current repo in Cargo.toml (#610) 2018-08-28 10:53:45 +01:00
Guanqun Lu 25450dc87d add cli for purge chain (#609) 2018-08-28 10:53:28 +01:00
gguoss 0b2ef109c5 Delete not use dependecies in polkadot/cli 2018-08-28 10:50:32 +08:00
Gav Wood f59bcd15da New slashing logic (#570)
* 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.
2018-08-27 17:11:04 +02:00
Sergey Pepyakin 4e9f40840c Contract signatures checking (#478)
* 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
2018-08-27 16:09:10 +02:00
Guanqun Lu 875ce9e6c3 extrinsic-pool: use retain() (#613) 2018-08-27 10:43:00 +02:00
Guanqun Lu 58bba89819 rename Polkadot to Substrate in the license header via following four commands (#614)
git grep -l 'This file is part of Polkadot' | xargs sed -i 's/This file is part of Polkadot/This file is part of Substrate/g'
    git grep -l 'Polkadot is free software' | xargs sed -i 's/Polkadot is free software/Substrate is free software/g'
    git grep -l 'Polkadot is distributed in the hope' | xargs sed -i 's/Polkadot is distributed in the hope/Substrate is distributed in the hope/g'
    git grep -l 'along with Polkadot' | xargs sed -i 's/along with Polkadot/along with Substrate/g'
2018-08-27 10:42:50 +02:00
Guanqun Lu e8ec3d72c9 typo fixes (#608) 2018-08-26 20:06:47 +02:00
Tomasz Drwięga 2c21f5ff30 RPC: Block number to block hash (#584)
* Return hash for given block number.

* Add some tests.

* Fix re-import.
2018-08-25 14:11:11 +02:00
Sergey Pepyakin 969fcfb97f Minor fixes for nightly 2018-08-18 (#600)
* Don't use --export-table anymore

Because it was turned on by default in the recent nightlies.

See https://github.com/rust-lang/rust/pull/53237

* use_extern_macros stabilization

With recent nightlies rustc produces a warning

```
the feature `use_extern_macros` has been stable since 1.30.0 and no longer requires an attribute to enable
```
2018-08-25 11:59:52 +02:00
Tomasz Drwięga d965e8f08e Time-based transaction banning (#594) (#602)
* Allow replacing transactions.

* Clear old transactions and ban them temporarily.

* Move to a separate module and add some tests.

* Add bound to banned transactions.

* Remove unnecessary block and double PoolRotator.
2018-08-25 00:19:36 +02:00
ddorgan 134b8f47dd cargo --force to allow CI to build. (#599) 2018-08-24 14:43:49 +02:00
Robert Habermeier 624c2ca0dc Merge remote-tracking branch 'substrate-disk/polkadot-testnet-fixes-fp' 2018-08-23 13:57:43 +02:00
Robert Habermeier 430e3920e5 Rollup of various testnet-related fixes.
fix a deadlock when spawning agreement as non-authority

fix test compilation for BFT

more accurate consensus superseding logic

mild revision to `can_build_on` logic

block evaluation without redundant initialisation

refactor BFT delay: update rhododendron and poll after delaying. (#589)

dropping BFT future before poll doesn't lead to service deadlock
2018-08-22 18:14:58 +02:00
arkpar 6a491f10a2 Bumped substrate 2018-08-21 17:29:47 +02:00
Gav Wood 2673c26414 Fix logging (#587)
* Fix logging

* Add error info
2018-08-21 12:19:11 +02:00
Gav Wood e35a4a3995 Fix runtime version cache (#586)
- Use blake2 instead of xxhash for guaranteed safety
- Simplify by caching the version rather than the compatibility
- Additional logging
2018-08-21 10:18:27 +02:00
arkpar d10733c3fe More generic extrinsic pool 2018-08-20 17:21:33 +02:00
Arkadiy Paronyan f993836b72 Merge pull request #3 from paritytech/rh-continue-rounds
fix interval logic
2018-08-20 17:18:19 +02:00
arkpar 9f64bb78a3 Bumped substrate 2018-08-20 17:17:54 +02:00
Arkadiy Paronyan 6d3aa8b16e Merge pull request #4 from miguelmota/bugfixes/typos
typo fix
2018-08-20 17:09:11 +02:00
Arkadiy Paronyan 3514ae9807 More generic extrinsic pool (#579) 2018-08-20 14:54:03 +02:00
Sergey Pepyakin 3f366cc738 Implement it. (#569) 2018-08-19 18:50:42 +02:00
Miguel Mota a7a5b5633b typo fix 2018-08-17 15:38:14 -07:00
Robert Habermeier f1cc82ae53 Continue from next round when re-building on same block (#582)
* keep rounds consistent when encountering bad block

* fix interval logic

* Fixed indentation
2018-08-17 22:13:01 +02:00
Robert Habermeier 3ef4463c3a [forward port] continue rounds (#583)
* keep rounds consistent when encountering bad block

* fix interval logic

* Fixed indentation
2018-08-17 22:12:37 +02:00
arkpar d6ddbc8bb5 Paranoid mode 2018-08-17 14:09:26 +02:00
Robert Habermeier 321441c1f7 fix interval logic 2018-08-17 13:56:13 +02:00
arkpar aaf7bc930a Authoring with WASM runtime 2018-08-17 11:01:34 +02:00
Arkadiy Paronyan e482958705 Authoring with WASM runtime (#580) 2018-08-17 10:40:40 +02:00
Gav Wood bde4152f1e Remove _wasm block specialistions in tests. (#576) 2018-08-16 14:41:24 +02:00
Gav Wood f12221c4e6 Version bump, fixes (#572)
* Bump version, don't propose invalid blocks

* Fix build.

* Fixes.

* More fixes.

* Fix tests.

* Fix more tests

* More tests fixed
2018-08-15 21:50:39 +02:00
Gav Wood 4e103f3d5f Update README.adoc 2018-08-15 19:46:28 +02:00
Gav Wood 673b4d16d2 Update README.adoc 2018-08-15 19:41:08 +02:00
Gav Wood 314e2eeaf9 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.
2018-08-15 18:08:21 +02:00
Robert Habermeier 898c7d3138 parity-substrate -> substrate 2018-08-15 14:34:49 +02:00
Robert Habermeier 56759c781c replacing references to staging branch 2018-08-15 14:17:28 +02:00
Robert Habermeier 3e1e14d2c1 remove WASM publish step 2018-08-15 13:57:46 +02:00
Robert Habermeier d0066e51ae remove wasm-publish step 2018-08-15 13:57:14 +02:00
Robert Habermeier 4eefa5ee60 update script targets 2018-08-15 13:43:41 +02:00
Robert Habermeier 649bb2fdaa build new WASM 2018-08-15 13:42:34 +02:00
Robert Habermeier 670fc459b2 copy scripts 2018-08-15 13:40:49 +02:00
Robert Habermeier f85fcd4fc2 get building 2018-08-15 13:40:46 +02:00
Robert Habermeier add49f1f79 Merge branch 'master' into split-substrate 2018-08-15 13:24:27 +02:00
Robert Habermeier 6e0903613b point to upstream split-substrate branch 2018-08-15 13:16:54 +02:00
Gav Wood c5e68a7b9b Refactor/substrate state machine generic (#553)
* 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
2018-08-15 13:13:11 +02:00
Gav Wood 3d6aaab26c Refactor/substrate state machine generic (#553)
* 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
2018-08-15 13:13:11 +02:00
Guanqun Lu 7b65e9bf62 add build status in README (#566) 2018-08-15 10:05:08 +02:00
Guanqun Lu bfbe1fe18b send memory usage and cpu usage to telemetry (#499)
* send memory usage and cpu usage to telemetry

Fixes #443, however, it doesn't send IO usage, as it's not available in
this crate.

* fixes according to Gav's comments

* fix grumbles, send basictypes in telemetry
2018-08-15 10:04:44 +02:00