Commit Graph

1750 Commits

Author SHA1 Message Date
André Silva 9d23d2a25a Bump master to v2.0.0 (#2514)
* bump crates to v2.0.0

* fix crate authors

* bump node runtime spec_version

* remove unused import for no-std
2019-05-10 16:55:15 +02:00
Chevdor 1475e72313 Revert from alpine to phusion and include wasm build (#2482)
* Revert from alpine to phusion and include wasm build

* Update Dockerfile
2019-05-10 14:36:18 +02:00
cheme 0d8379d5d2 Child trie storage proof (#2433)
* proof on child trie

* higher level api for child storage proof

* boilerplate for proof from light fetch

* actually check proof on light fetch

* Do not break former encoding

* tabify

* tabify2

* Add child trie root tx to full_storage_root transaction.

* Shorten long lines.

* Temp rename for audit

* Make full_storage a trait method

* Name back and replace some code with full_storage where it looks fine.

* fix indentations, remove unused import

* flush child root to top when calculated

* impl +1
2019-05-10 14:31:41 +02:00
Svyatoslav Nikolsky 59be403730 Create AuthoritiesChange digest item in correct block (#2512)
* finalize srml modules in reverse order

* update runtime versions
2019-05-10 14:30:48 +02:00
thiolliere ac195a0060 add brief doc to some macro (#2523)
* add doc

* Update lib.rs
2019-05-10 14:21:03 +02:00
Gregory Terzian 363448cd01 don't acquire the lock unless, and only hold it for as long as, necessary. (#2530) 2019-05-10 14:15:36 +02:00
Svyatoslav Nikolsky 42fa5f6209 Fix deadlock in tests that are using with_gossip (#2533)
* fixed gossip related tests deadlock

* cleaning sync tests log

* fixed typo in logs

* send GRANDPA messages without holding validator lock

* Revert "fixed gossip related tests deadlock"

This reverts commit d3fe55e45e32b7ea2e9f05f1c511972c708209ad.
2019-05-10 14:14:42 +02:00
thiolliere dfbaedd535 Allow modules to validate transaction, second attempt (#2463)
* first impl

* rename origin::inherent to none

* fix

* fix

* Apply suggestions from code review

Co-Authored-By: thiolliere <gui.thiolliere@gmail.com>

* comment

* better error

* doc

* (add unsigned module 🤦)

* doc

* fix

* implement for node-template as well

* add validated unsigned to executor

* fix

* fix

* bump version

* testing xt

* remove extraneous logic

* licence

* impl test
2019-05-10 14:13:04 +02:00
Pierre Krieger 4aa44ab280 Rewrite the PSM (#2440)
* Rewrite the PSM

* Fix disconnecting from reserved peers

* Minor adjustements

* Address review

* Reputation changes adjustements

* More adjustements

* Adjust all reputations

* More fixes and adjustments

* Improve proof

* Remove the possible panic

* Make sure reputation reaches 0
2019-05-10 14:08:42 +02:00
Benjamin Kampmann 18ca0170c3 Allow for customisation of chain selection systems (#2240)
* move SelectChain trait out of client

* Extend SelectChain, move longest chain implementation into it

* Bring SelectChain into service

* implement LongestChain SelectChain

* implement longest chain for node

* update Cargo.lock's

* in between erroring tests

* deprecate ::backend and ::import_lock

* Remove unneded space

Co-Authored-By: gnunicorn <ben.kampmann@googlemail.com>

* Remove unneded space

Co-Authored-By: gnunicorn <ben.kampmann@googlemail.com>

* Fixes test compilation

* remove todo

* re-enable client test

* add doc

* fixing tests

* Clarify SelectChain Interface, intended implementation and usage

* minor components cleanups

* minor cleanups

* Update lock files

* Implement cleaner interface for SelectChain

* addressing comments

* Updating tests

* bump node runtime impl version

* address grumbles
2019-05-10 14:08:12 +02:00
André Silva 32fdeed21c core: use current_thread tokio runtime to poll network to proto channel (#2531) 2019-05-10 10:26:58 +01:00
Kian Peymani 71426fb060 Reformat Validator Election (#2406)
* Add index caching to election

* Initial draft of the new phragmen API.

* Port post-processing to the new API.

* Fix tests and accuracy.

* Final fixes.

* Unify convert namings.

* Remove todo.

* Some typos.

* Bump.

* Add extended balance type doc.

* A bit more sophisticated weight compensation.

* Fix review feedbacks.

* Bump.

* Final updates
2019-05-09 19:05:45 +02:00
Sergei Pepyakin c7cd82784b Add a simple PR template (#2510)
* Add a basic PR template

* Update

* Update

* Another iteration.

* Fixes.

* Apply suggestions from code review

Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>

* Be not rude

* Label only if you have permissions
2019-05-09 19:02:55 +02:00
Michael Müller 47e3dacc2d Imply forced authoring on --dev (#2498)
* Imply forced authoring on --dev

* Combine conditionals
2019-05-09 19:01:57 +02:00
Pierre Krieger 099ff629b6 Add some benchmarks for ed25519 in substrate_primitives (#2520)
* Add some benchmarks for ed25519

* We don't need the Debug impl

* Add multiple message sizes
2019-05-09 17:58:45 +01:00
Pierre Krieger cad1f19d48 Make more crates compile for WASM browser (#2524)
* Make more crates compile for WASM browser

* More crates

* Update .gitlab-ci.yml

Co-Authored-By: Sergei Pepyakin <s.pepyakin@gmail.com>
2019-05-09 17:41:50 +01:00
André Silva 9927c336d3 fix chain spec builder compilation (#2521) 2019-05-09 18:25:02 +02:00
Pierre Krieger d4eb3ec747 Replace ring with ed25519-dalek in primitives (#2415) 2019-05-09 16:24:56 +02:00
Bastian Köcher e67b653c85 Silence the deprecated warning in generated code (#2513)
`impl_runtime_apis!` is not only implementing the apis, it also calls
them internally and thus generates the warning. So, we just allow
depracted calls in the generated code.
2019-05-09 10:27:08 +02:00
Xiliang Chen 57164aa747 Remove As trait bound from Currency::Balance (#2205)
* remove As<64> bond

* Currency trait refactor

* bump spec version
2019-05-09 09:40:28 +02:00
Pierre Krieger c3f20bf226 Merge the protocol thread with the network thread (#2475)
* Remove the Incoming enum

* Use tokio in the protocol background thread

* Some internal protocol logic simplifications

* Merge the protocol thread with the network thread

* More the status_sinks logic to Service

* Remove FromNetworkMsg
2019-05-08 13:49:29 +02:00
Andrew Jones 9fc1db3280 Use saturating_pow for max digest interval (#2506)
* Use saturating_pow for max digest interval

* Impl version
2019-05-08 13:20:43 +02:00
Svyatoslav Nikolsky a63635b952 Fix light connection issues (#2499)
* ignore light nodes in ConsensusGossip

* fixed method name

* temporary disabled penalty when block is announced

* remove traces of BLOCK_ANNOUNCE_REPUTATION_CHANGE
2019-05-08 12:24:20 +02:00
thiolliere d380db706b actually update deduct_block when paying rent (#2490)
* actually update deduct_block when paying rent

* add test

* remove println

* same block call test

* bump version
2019-05-07 14:13:56 +02:00
Gavin Wood 1436e6d734 Fix std/core crates (#2489)
- Add convert
- Add btree_set for without_std
2019-05-06 17:11:45 +02:00
Kian Peymani 9f61b95ecd Move hashing benches to Criterion. (#2487) 2019-05-06 15:41:39 +02:00
Gavin Wood adba89913e Clean up random seed to make a bit more flexible (#2456)
* Reformulate random seed to be more random

- First 80 random values come from cycling the incomplete series (
  instead of filling with zeroes)
- Calculate random material each usage (use a single amalgamated
  ring buffer to store them for avoiding 81 lookups each time)
- Mutate inputs by hashing each with:
  - its index (into the 81)
  - an additional "subject" key provided by caller

This keeps the final output low-influence while still allowing
it to be used as the seed to independent contexts. (Hashing the
result to give the final seed is no better than using parent_hash).

* Docs

* Bump runtime

* Update notes

* Remove feature(alloc)

* Update srml/system/src/lib.rs

Co-Authored-By: gavofyork <github@gavwood.com>
2019-05-06 13:57:30 +02:00
Marcio Diaz b42e37589e fix: organizm to organism, substate to substrate, datastructures to data structures, gossipped to gossiped (#2472) 2019-05-06 13:16:07 +02:00
Pierre Krieger 2dea51cd3b Add some crate-level documentation to network-libp2p (#2483) 2019-05-06 13:10:37 +02:00
Pierre Krieger 3935b247dd Move construct_simple_protocol! to appropriate module (#2476) 2019-05-06 09:37:25 +02:00
Pierre Krieger 82cb52a400 Show more information when too many addresses are reported (#2473)
* Show more information when too many addresses are reported

* Update core/network-libp2p/src/behaviour.rs

Co-Authored-By: tomaka <pierre.krieger1708@gmail.com>
2019-05-06 09:32:35 +02:00
thiolliere b0c21da94f optimize double map first key hash (#2451)
* fix double map encoding it is now encoded as specified in the doc
2019-05-06 08:44:36 +02:00
Pierre Krieger 5a820db7f5 Remove the dependency on heapsize (#2459)
* Remove heapsize dependency

* Finish removing heapsize

* Revert accidental change

* Fix Cargo.lock
2019-05-04 13:59:59 +02:00
Andrew Jones 9fdd7df582 Default rent allowance to max_value (#2461)
* Default rent allowance to max_value

* Bump spec version

* Fix exec test

* Address grumbles

* Make test comment less specific

* Default rent_allowance to max_value in exec

* Check default balance on creation

* Check default balance in deploy

* Use hex constant

Co-Authored-By: ascjones <ascjones@gmail.com>

* More specific code const

Co-Authored-By: ascjones <ascjones@gmail.com>

* Update srml/contract/src/tests.rs

Co-Authored-By: ascjones <ascjones@gmail.com>

* Update srml/contract/src/tests.rs

Co-Authored-By: ascjones <ascjones@gmail.com>

* Update srml/contract/src/tests.rs

Co-Authored-By: ascjones <ascjones@gmail.com>
2019-05-04 13:59:14 +02:00
Pierre Krieger 35b84ae8f6 Remove NetworkService::report_handle (#2462) 2019-05-04 13:58:52 +02:00
Pierre Krieger 747df1f332 Disable mDNS when passing --dev (#2467) 2019-05-04 13:58:06 +02:00
Pierre Krieger 8ca343ca8c Add reputation system to network crate (#2454) 2019-05-04 13:51:06 +02:00
Marcio Diaz 18ec2d14d0 Fix grandpa issue for InvalidViewChanges (#2468)
* fix: add message_allowed to send_topic to avoid InvalidViewChanges

* fix: this should be strict

* fix typo

* fix: simplify
2019-05-04 01:16:14 +02:00
Robert Habermeier 32c85a61b5 add derives to aura slot duration (#2469) 2019-05-03 15:14:17 -04:00
Pierre Krieger 6921b2ce3d tokio -> tokio-timer in consensus (#2460) 2019-05-03 16:00:47 +02:00
Pierre Krieger 52472238bd Drop connections when the handler gets disabled (#2439)
* Drop connections when the handler gets disabled

* Add test
2019-05-02 21:03:04 +02:00
Pierre Krieger 586dce10ed Simplify the code of connection_keep_alive (#2438) 2019-05-02 20:32:05 +02:00
TriplEight 1761a7fcd1 universal docker builder for substrate-based projects (#2453) 2019-05-02 20:31:43 +02:00
Sergei Pepyakin 79e4c6f870 Change terminology referring balance units in contract docs (#2450) 2019-05-02 18:09:17 +02:00
DemiMarie-parity fb19684358 BABE signing and verification (#2270)
* Add basic BABE consensus type

* Update core/consensus/babe/slots/Cargo.toml

Co-Authored-By: DemiMarie-parity <48690212+DemiMarie-parity@users.noreply.github.com>

* Fix parameterization and run `rustfmt`

* Respond to review comments

* Update various Cargo.lock files

* Revert "Update various Cargo.lock files"

This reverts commit af53d7624752a744320e9cbb25749fdd8e6f46d2.

* `BabeSealSignature` → `BabeSeal`

* Move slot code to its own crate

This was highly non-trivial, due to cyclic dependencies.

* Remove redundancy between AuRa and BABE

Some of the code duplication was removed using a macro.

* Fix build error

* Avoid non-`#[doc(hidden)]` re-exports

Also, bump some library versions in `Cargo.toml`.

* Remove dead code in AuRa

* Remove impl_slot macro

It was more trouble than it was worth.

Also, delete useless dependencies on Serde.

* AuRa and BABE need different DB keys

* Bring back `aura::Network`, but deprecate it.

* Improve docs and add `slot_duration` inherent method

* Add docs to `substrate_consensus_aura::SlotDuration`

* Add missing documentation and #![forbid(missing_docs, unsafe_code)]

* Add a #![forbid(missing_docs)]

* Remove dependency of `test-runtime` on `slots`

* Update core/consensus/babe/src/lib.rs

Co-Authored-By: DemiMarie-parity <48690212+DemiMarie-parity@users.noreply.github.com>

* Remove wrongly added file

* Fix copyright notice

Co-Authored-By: DemiMarie-parity <48690212+DemiMarie-parity@users.noreply.github.com>

* Bump `impl_version` and `spec_version`

* Add more code to BABE

Most of it is copied from AuRa code, but at least the initial core is
there.

* Stuck on horrible compiler error message

* add missing files

* Spaces → tabs

* Simplify code

* Fix compilation

This involved fixing dependencies and adding a `Mutex`.

* More work on BABE

* Fix deprecation version

* Fix deprecation version; remove spurious carets

* Fix Cargo.toml

* Implement VRF signing logic

* The import queue code compiles, though it probably doesn’t work.

* Add VRF verification

* Update Cargo.lock

* Update dependencies

* Move test network to sr25519 authority keys

* Fix accidental build bustage

* Trying to get the tests to work

* Add logging messages and remove dead code

There seems to be a problem with the test network.  Since AuRa and BABE
are both affected, this is most likely due to the switch from ed25519 to
sr25519.

* Trying to get the tests to work

* Add logging messages and remove dead code

There seems to be a problem with the test network.  Since AuRa and BABE
are both affected, this is most likely due to the switch from ed25519 to
sr25519.

* Working testsuite at last!

The problem was with serialization and deserialization.  Normally,
those functions are generated automatically, but those for `BabeSeal`
had to be written manually.  The hand-written versions were not
correct, however, as shown by the decoder not being able to decode the
output of the encoder.

* Enable BabeSeal::Encode asserts in --release tests

* Bump runtime and dependency versions

* Fix wasm compilation

The wasm build was broken because of a typo in
`core/test-runtime/src/lib.rs`, and missing gates on the `std` feature
in `core/consensus/{aura,babe}/primitives/Cargo.toml`.  Additionally,
improve the quotation in the build scripts.

* Merge Cargo.lock

* Change expected JSON string

The test was also broken on `master`, so I suspect that the test was
incorrect.

* Responded to review

* Remove hard-coded threshold from production code

A hard-coded threshold is now only used in tests.

* Fix swapped doc comments

* Fix unused import warnings

* fix ci error

* fix typo

* Fix spacing in docs

* Minor changes suggested by @joepetrowski

on https://github.com/paritytech/substrate/pull/2372

* Remove unnecessary getters

* fix compile error

* Fix silly unused-variable error

* Improve documentation formatting

Co-Authored-By: DemiMarie-parity <48690212+DemiMarie-parity@users.noreply.github.com>

* Add issue links

* Revert excess verbosity and #![forbid(warnings)]

* Apply suggestions from code review

Co-Authored-By: DemiMarie-parity <48690212+DemiMarie-parity@users.noreply.github.com>

* Reformat some comments

* Threshold should depend on number of validators

Also, respond to code review

* Fix silly compilation errors

* Reduce logging verbosity

* Fix missing import
2019-05-02 11:16:54 -04:00
brenzi d3f59a0712 + adding compiler features for no_std environments other than wasm (i.e. SGX) (#2421) 2019-05-01 20:09:12 +02:00
Xiliang Chen ef142722e3 Pass RunCmd to user (#2425) 2019-05-01 20:08:17 +02:00
satellitex 6be7eee754 add btree_set with std (#2444) 2019-05-01 09:50:12 +02:00
Jordan Beauchamp b6d5f6858c Macro spell fixes (#2442) 2019-05-01 09:49:51 +02:00
Pierre Krieger 3c42e6d4f0 Try run check-web-wasm for PRs (#2424) 2019-05-01 09:47:51 +02:00