Commit Graph

4970 Commits

Author SHA1 Message Date
Arkadiy Paronyan e905c9a92d Storage chains: serve transactions over IPFS/bitswap (#7963)
* IPFS server for transactions

* Style

* Indent

* Log message

* CLI option

* Apply suggestions from code review

Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com>

* Style

* Style

* Minor fixes

Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com>
2021-02-03 07:14:23 +00:00
Robert Klotzner 3628998d3c Add a send_request function to NetworkService (#8008)
* Add a `send_request` to `NetworkService`.

This function delivers responses via a provided sender and also allows
for sending requests to currently not connected peers.

* Document caveats of send_request better.

* Fix compilation in certain cases.

* Update docs + introduce IfDisconnected enum

for more readable function calls.

* Doc fix.

* Rename send_request to detached_request.

* Whitespace fix - arrrgh

* Update client/network/src/service.rs

spaces/tabs

Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com>

* Update client/network/src/request_responses.rs

Documentation fix

Co-authored-by: Roman Borschel <romanb@users.noreply.github.com>

* Update client/network/src/service.rs

Typo.

Co-authored-by: Roman Borschel <romanb@users.noreply.github.com>

* Update client/network/src/service.rs

Better docs.

Co-authored-by: Roman Borschel <romanb@users.noreply.github.com>

* Update client/network/src/service.rs

Typo.

Co-authored-by: Roman Borschel <romanb@users.noreply.github.com>

* Update client/network/src/service.rs

Doc improvements.

Co-authored-by: Roman Borschel <romanb@users.noreply.github.com>

* Remove error in logs on dialing a peer.

This is now valid behaviour.

* Rename detached_request to start_request.

As suggested by @romanb.

* Fix merged master.

* Fix too long lines.

Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com>
Co-authored-by: Roman Borschel <romanb@users.noreply.github.com>
2021-02-02 20:52:12 +01:00
Joshy Orndorff 73386a4215 better formatting for doc comments (#8030) 2021-02-02 16:57:31 +00:00
Liu-Cheng Xu 9904267e23 Decouple the session validators from im-online (#7127)
* Decouple the session validators from im-online

* .

* Add SessionInterface trait in im-online

Add ValidatorId in im-online Trait

Make im-online compile

Make substrate binary compile

* Fix merging issue

* Make all compile

* Fix tests

* Avoid using frame dep in primitives via pallet-session-common

* Merge ValidatorSet into SessionInterface trait

Wrap a few too long lines

Add some docs

* Move pallet-sesion-common into pallet-session

* Move SessionInterface to sp-session and impl it in session pallet

Ref https://github.com/paritytech/substrate/pull/7127#discussion_r494892472

* Split put historical::FullValidatorIdentification trait

* Fix line width

* Fix staking mock

* Fix session doc test

* Simplify <T as ValidatorIdentification<AccountId>>::ValidatorId as ValidatorId<T>

* Nits

* Clean up.

* Make it compile by commenting out report_offence_im_online bench

* Tests

* Nits

* Move OneSessionHandler to sp-session

* Fix tests

* Add some docs

* .

* Fix typo

* Rename to ValidatorSet::session_index()

* Add some more docs

* .

* Remove extra empty line

* Fix line width check

.

* Apply suggestions from code review

* Cleaup Cargo.toml

* Aura has migrated to Pallet now

Co-authored-by: Tomasz Drwięga <tomasz@parity.io>
2021-02-02 16:38:37 +00:00
Pierre Krieger 38b6182fb8 Rename system_networkState to system_unstable_networkState (#8001) 2021-02-02 14:58:29 +00:00
Bastian Köcher 7d65b5aa59 Convert AURA to new pallet macro (#8020) 2021-02-02 14:19:40 +00:00
Pierre Krieger eeff8f3204 Disable Kademlia random walk when --reserved-nodes is passed (#7999)
* Disable Kademlia random walk when --reserved-nodes is passed

* Update client/network/src/discovery.rs

Co-authored-by: Roman Borschel <romanb@users.noreply.github.com>

Co-authored-by: Roman Borschel <romanb@users.noreply.github.com>
2021-02-02 13:52:09 +00:00
Alexander Theißen de4cf4c380 contracts: Improve documentation (#8018)
* contracts: Document seal_input

* contracts: Improve `ReturnCode` docs.

* contracts: Improve seal_restore_to docs

* review: Improved wording
2021-02-02 12:09:11 +00:00
Bastian Köcher 5410486947 Fix tracing tests (#8022)
* Fix tracing tests

The tests were not working properly.

1. Some test was setting a global subscriber, this could lead to racy
conditions with other tests.

2. A logging test called `process::exit` which is completly wrong.

* Update client/tracing/src/lib.rs

Co-authored-by: David <dvdplm@gmail.com>

* Review comments

Co-authored-by: David <dvdplm@gmail.com>
2021-02-02 12:19:35 +01:00
Alexander Theißen 815409f31e contracts: Emit event on contract termination (#8014)
* contracts: Remove redundant bool argument from the eviction event

* contracts: Improve event documentation

* contracts: Emit event on contract termination
2021-02-02 10:48:35 +00:00
Pierre Krieger de838f9464 Remove outdated Grafana information (#8012) 2021-02-01 17:17:44 +01:00
Alexander Popiak 49e853c146 relax translate closure to FnMut (#8019) 2021-02-01 16:09:54 +00:00
Max Inden 3006100977 client/network: Use request response for light client requests (#7895)
* client/network: Re-enable light_client_handler.rs unit tests

* client/network: Add scaffolding for light client using req-resp

* client/network: Make it compile

* client/network: Rename OutEvent SendRequest

* client/network: Restructure light client request client and handler

* client/network: Rename light client request client to sender

* client/network: Remove light client prepare_request

* client/network/src/light: Rework configuration

* client/network: Formatting

* client/network/light: Remove RequestId

* client/network/light: Make request functions methods

* client/network/light: Refactor request wrapping

* client/network/light: Fix warnings

* client/network/light: Serialize request in method

* client/network/light: Make returning response a method

* client/network/light: Depend on request response to timeout requests

* client/network: Fix test compilation

* client/network/light: Re-enable connection test

* client/network/light: Re-enable timeout test

* client/network/light: Re-enable incorrect_response test

* client/network/light: Re-enable wrong_response_type test

* client/network/light: Re-enable retry_count_failures test

* client/network/light: Re-enable issue_request tests

* client/network/light: Re-enable send_receive tests

* client/network/light: Deduplicate test logic

* client/network/light: Remove unused imports

* client/network/light: Handle request failure

* client/network/light: Move generate_protocol_config

* client/network: Fix test compilation

* client/network: Rename light client request client to sender

* client/network: Handle too-many-requests error

* client/network: Update outdated comments

* client/network/light: Choose any peer if none has best block defined

* .maintain: Replace sentry-node with local-docker-test-network

Sentry nodes are deprecated. Thus there is no need for
`.maintain/sentry-node` to spin up a sentry node test environment.
Instead this commit rewrites the setup to contain two full-connected
validators and one light client.

With the steps below one can now spin up a local test network with
two validators, one light-client, Prometheus and Grafana.

- cargo build --release
- sudo docker-compose -f .maintain/local-docker-test-network/docker-compose.yml up

* client/network/light: Handle oneshot cancellation

* client/network/light: Do not reduce retry count on missing peer

* client/network/request-response: Assert in debug request id to be unique

* client/network/light: Choose same limit as block request protocol

* client/network: Report reputation changes via response

Allow request response protocol handlers to issue reputation changes, by
sending them back along with the response payload.

* client/network: Remove resolved TODOs
2021-02-01 15:59:47 +00:00
Alexander Popiak c83bca67b5 make AllModules public (#8017)
* make AllModules public

* add doc comments for AllModules
2021-02-01 15:55:44 +00:00
Bastian Köcher c42d756fb7 Fix tracing spans are not being forwarded to spawned task (#8009)
* Fix tracing spans are not being forwarded to spawned task

There is a bug that tracing spans are not forwarded to spawned task. The
problem was that only the telemetry span was forwarded. The solution to
this is to use the tracing provided `in_current_span` to capture the
current active span and pass the telemetry span explictely. We will now
always enter the span when the future is polled. This is essentially the
same strategy as tracing is doing with its `Instrumented`, but now
extended for our use case with having multiple spans active.

* More tests
2021-02-01 14:54:21 +00:00
yjh 4da880ed41 chore: fix typos (#8013) 2021-02-01 11:54:13 +01:00
Denis Pisarev 9c0f51ab8b CI: return flaming fir deployment (#8007)
* CI: return flaming-fir deployment jobs

* CI: no need in manual jobs; 'updated image'
2021-01-29 19:07:26 +01:00
Bastian Köcher d40f9c166f Sync: Fix issue of not freeing a block announcement slot (#8006)
* Sync: Fix issue of not freeing a block announcement slot

There was a bug that when the block announcement validation returned an
error, the slot reserved for this validation wasn't freed. This could
lead to a situation where we rejected any block announcement from such a
peer for that the block announcement returned an error multiple times.

* Better logging

* Fuck I'm dumb

* 🤦
2021-01-29 16:29:25 +00:00
Amar Singh 92cde30078 Test is_inherent_required (#8002)
* ()

* master.into()

* Update frame/support/src/inherent.rs

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

* address comment

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2021-01-29 16:40:46 +01:00
Guillaume Thiolliere f48296e9ad Update parity-scale-codec to 2.0 (#7994)
* update cargo.toml

* use 2.0 in mmmr
2021-01-29 12:22:45 +00:00
Cecile Tonglet bea4a6524d Fix telemetry span not entering properly & enter span in sc-cli (#7951)
* WIP

* WIP

* Test

* bug fix

* WIP

* Revert "WIP"

This reverts commit 4e51e9adfdf0dc7cf37b562b60a0e83ca1d0b00d.

* doc

* Improve comment on why all spans are preserved

* Added missing suggestion from previous PR

* Use BoxFuture

* Move TelemetrySpan creation to sc-cli, need to test...

* Test code

* Adapt user code

* Revert "Test code"

This reverts commit 333806b2fe1626efaa2691f9f44d0b4dd979bc36.

* Update client/service/src/task_manager/mod.rs

Co-authored-by: David <dvdplm@gmail.com>

* Better & simpler solution

Co-authored-by: David <dvdplm@gmail.com>
2021-01-29 12:03:21 +00:00
Cecile Tonglet 4268fa0996 Doc fixes for sc-telemetry & API struct rename (#7934)
* Doc fixes for sc-telemetry

* Fix flag to disable log reloading

* Forgot to reverse the conditions

* Apply suggestion

* Rename pattern to directives

* Rename GlobalLoggerBuilder to LoggerBuilder

* Return instead of expect

* Use transparent outside the enum

* Update client/tracing/src/logging/directives.rs

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

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2021-01-29 10:57:56 +00:00
Pierre Krieger dc70c889ce Introduce sc_peerset::DropReason (#7996)
* Introduce sc_peerset::DropReason

* Fix peerset tests
2021-01-29 09:33:27 +00:00
Joshy Orndorff 04704ceee4 Clarify and expand ProvideInherent docs (#7941)
* Clarify and expand docs.

* clarify that a pallet can verify an inherent without providing one.

* Clarify what calls `is_inherent_required`.

* caution and link to issue

* typo

* Apply suggestions from code review

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

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2021-01-28 19:44:56 +00:00
Bastian Köcher b6294418f8 Introduce a Slot type (#7997)
* Introduce a `Slot` type

Instead of having some type definition that only was used in half of the
code or directly using `u64`, this adds a new unit type wrapper `Slot`.
This makes it especially easy for the outside api to know what type is
expected/returned.

* Change epoch duratioC

* rename all instances of slot number to slot

* Make the constructor private

Co-authored-by: André Silva <andrerfosilva@gmail.com>
2021-01-28 19:44:22 +00:00
Tomasz Drwięga 6c2dd28dfb Merkle Mountain Range pallet improvements (#7891)
* Add stateless verification helper function.

* Split MMR primitives.

* Add RuntimeAPI

* RuntimeAPI with OpaqueLeaves

* Bump spec_version,.

* Move primitives back to frame.

* Fix OpaqueLeaf encoding.

* Add block number to frame_system implementation of LeafDataProvider.

* Relax leaf codec requirements and fix OpaqueLeaf

* Add root to debug line.

* Apply suggestions from code review

Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com>

* Typo.

Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com>
2021-01-28 10:58:52 +00:00
Arkadiy Paronyan fa23de2c03 Fix state cache for cumulus (#7990)
* Fix state cache for cumulus

* Apply suggestions from code review

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

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2021-01-27 12:03:36 +01:00
Gerben van de Wiel 993b74c909 Let mock in pallet-template use construct_runtime (#7991) 2021-01-27 11:49:44 +01:00
Pierre Krieger 12fe61a965 Increase maximum size of transaction notifications (#7993) 2021-01-27 10:41:48 +00:00
Guillaume Thiolliere 4e1f112059 Ensure transactional with ? works in frame v2 (#7982) 2021-01-26 16:42:27 +01:00
Jon Häggblad e535e4211e grandpa: remove runtime checks in prove_finality (#7953)
Remove checks that involve cross checking authorities in the runtime against what we have stored in
the AuthoritySetChanges.
2021-01-26 15:40:23 +00:00
Bastian Köcher e21a61eac8 Rewrite the async code in BasicQueue (#7988)
* Rewrite the async code in `BasicQueue`

This is some smaller change to rewrite the async code in `BasicQueue`. I
require this for some other pr I'm working on ;)

* Update primitives/consensus/common/src/import_queue/basic_queue.rs

Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>

* Update primitives/consensus/common/src/import_queue/basic_queue.rs

Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>

* Update primitives/consensus/common/src/import_queue/basic_queue.rs

Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>

* Hmm :D

Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>
2021-01-26 16:38:57 +01:00
Guillaume Thiolliere b1888395e8 Make pallet use construct_runtime in tests instead of impl_* (#7986) 2021-01-26 15:25:04 +01:00
Pierre Krieger 6ae24c91e9 Fix Network trait implementation not doing what it's supposed to do (#7985) 2021-01-26 14:05:56 +00:00
Gerben van de Wiel 054b0f542e Migrate pallet-template to pallet attribute macro (#7981)
* Converting pallet-template to Framev2 macro's

* Add newline

* Convert all indents to tabs

* Update bin/node-template/pallets/template/src/lib.rs

* Update bin/node-template/pallets/template/src/lib.rs

Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com>
2021-01-26 13:29:29 +01:00
Max Inden b692954c6e client/network: Report reputation changes via response (#7958)
* client/network: Report reputation changes via response

When handling a request by a remote peer in a request response handler,
one might want to in- or de-crease the reputation of the peer. E.g. one
might want to decrease the reputation slightly for each request, given
that it forces the local node to do work, or one might want to issue a
larger reputation change due to a malformed request by the remote peer.

Instead of having to pass a peerset handle to each request response
handler, this commit suggests to allow handlers to isssue reputation
changes via the provided `pending_response` `oneshot` channel.

A reputation change issued by a request response handler via the
`pending_response` channel is received by the
`RequestResponsesBehaviour` which passes the reputation change up as an
event to eventually be send to a peerset via a peerset handle.

* client/network/req-resp: Use Vec::new instead of None::<Vec<_>>

* client/network: Rename Response to OutgoingResponse

Given that a request-response request is not called `Request` but
`InomingRequest`, rename a request-response response to
`OutgoingResponse`.

* client/finality-grandpa-warp: Send empty rep change via response
2021-01-26 10:45:41 +00:00
David 8938b328ef Refuse to start substrate without providing an explicit chain (#7977) 2021-01-25 20:29:39 +00:00
Andrew Jones 82d9d5adcf Pallet proc macro doc improvements (#7955)
* Fix weight syntax in comments

* Mention to add `IsType` bound

* Link to subsee

* Fix link

* Update frame/support/procedural/src/pallet/parse/call.rs

Co-authored-by: David <dvdplm@gmail.com>

* Apply review suggestion from @dvdplm, make StorageInstance doc link

* fix ui test

Co-authored-by: David <dvdplm@gmail.com>
Co-authored-by: thiolliere <gui.thiolliere@gmail.com>
2021-01-25 17:18:38 +00:00
Andrew Jones ee85121c57 Migrate some more pallets to construct_runtime (#7975)
* WIP converting balances tests to construct_runtime

* Converting balances tests_local to construct_runtime

* Fix up system and balances Events

* Use static Call instance in tests

* Migrate indices to construct_runtime

* Migrate babe test to construct_runtime

* Update frame/indices/src/mock.rs

Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com>

* Update frame/babe/src/mock.rs

Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com>

* Update frame/babe/src/mock.rs

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

* Remove redundant import

Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com>
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2021-01-25 15:56:07 +00:00
Guillaume Thiolliere 681f8408ce use construct_runtime for more pallet (#7974) 2021-01-25 16:24:38 +01:00
Max Inden 62d551a063 client/network/req-resp: Prevent request id collision (#7957)
* client/network/req-resp: Add unit test for request id collision

* client/network/req-resp: Prevent request id collision

`RequestId` is a monotonically increasing integer, starting at
`1`. A `RequestId` is unique for a single `RequestResponse`
behaviour, but not across multiple `RequestResponse` behaviours. Thus
when handling `RequestId` in the context of multiple
`RequestResponse` behaviours, one needs to couple the protocol name
with the `RequestId` to get a unique request identifier.

This commit ensures that pending requests (`pending_requests`) and
pending responses (`pending_response_arrival_time`) are tracked both by
their protocol name and `RequestId`.

* client/network/req-resp: Remove unused import

* client/network/req-resp: Introduce ProtocolRequestId struct

* client/network/req-resp: Update test doc comment

Treat `RequestId` as an opaque type.

* client/network/req-resp: Improve expect proof
2021-01-25 13:09:45 +00:00
Guillaume Thiolliere 48810cd75b Make pallets use construct_runtime (#7950)
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
Co-authored-by: David <dvdplm@gmail.com>
2021-01-25 13:20:47 +01:00
Guillaume Thiolliere 703c263079 pallet minor doc improvment (#7922)
* doc improvment

* additional fixes

* another fix

* better code suggestion

* Apply suggestions from code review

Co-authored-by: David <dvdplm@gmail.com>

* Apply suggestions from code review

Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>

* Apply suggestions from code review

Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>

* apply suggestion

* apply suggestion

* Update frame/support/src/lib.rs

Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>

* apply suggestion

* better guideline on reexport

* Update frame/support/src/lib.rs

Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>

* Update frame/support/src/lib.rs

Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>

* Update frame/support/src/lib.rs

Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>

* Update frame/support/src/lib.rs

Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>

* Update frame/support/src/lib.rs

Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>

* apopiak suggestion

* clearer check suggestion

* Update frame/support/src/lib.rs

Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>

* Update frame/support/src/lib.rs

Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>

* Update frame/support/src/lib.rs

Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>

Co-authored-by: David <dvdplm@gmail.com>
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>
2021-01-25 10:10:40 +00:00
Bastian Köcher 97bb9ab35a Detect conflicting module names in construct_runtime! (#7968) 2021-01-25 10:37:20 +01:00
Wei Tang 2fcff6a129 Remove hidden item NonExhaustive in syn crate (#7969) 2021-01-25 09:26:40 +01:00
Gerben van de Wiel 71808f108f Very minor typo in the docs (#7967)
Found this very minor typo when browsing the docs.
2021-01-25 00:17:54 +00:00
Arkadiy Paronyan 7aec46257f Enable sync mode for paritydb (#7961) 2021-01-24 17:45:08 +00:00
cheme 878f7ccf6e Allow transaction for offchain indexing (#7290)
* Moving offchain change set to state machine overlay change set,
preparing use of change set internally.

* Make change set generic over key and value, and use it for offchain
indexing.

* test ui change

* remaining delta

* generating with standard method

* Remove 'drain_committed' function, and documentation.

* Default constructor for enabling offchain indexing.

* Remove offchain change specific iterators.

* remove pub accessor

* keep previous hierarchy, just expose iterator instead.

* Update primitives/state-machine/src/overlayed_changes/mod.rs

Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com>

* fix line break

* missing renamings

* fix import

* fix new state-machine tests.

* Don't expose InnerValue type.

* Add test similar to set_storage.

* Remove conditional offchain storage (hard to instantiate correctly).

* fix

* offchain as children cannot fail if top doesn't

Co-authored-by: Addie Wagenknecht <addie@nortd.com>
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
2021-01-22 12:27:43 +00:00
Jon Häggblad 20f40fbd12 Cleaner GRANDPA RPC API for proving finality (#7339)
* grandpa: persist block number for last block of authority set

* grandpa: fix authority_set_changes field in tests

* grandpa: fix date on copyright notice

* grandpa-rpc: implement cleaner api for prove finality rpc

* grandpa-rpc: replace the old prove_finality with the new one

* grandpa: undo accidental whitespace change

* grandpa-rpc: start work on redo of the finality_proof RPC API

* grandpa: manual impl of Decode for AuthoritySet

* grandpa: add comment about appending changes for forced changes

* grandpa: flip order in set changes, tidy up some comments

* grandpa: update some of the doc comments

* grandpa: store authority set changes when applying forced changes

* grandpa: simplify finality_proof.rs

* grandpa: move checks and extend tests in finality_proof

* grandpa: address first set of review comments

* grandpa: check that set changes have well-defined start

* grandpa: rework prove_finality and assocated tests

* grandpa: make AuthoritySetChanges tuple struct

* grandpa: add assertions for tracking auth set changes

* grandpa: remove StorageAndProofProvider trait

* grandpa: return more informative results for unexpected input to RPC

* grandpa: tiny tweak to error msg

* grandpa: fix tests

* grandpa: add error specific to finality_proof

* grandpa: fix review comments

* grandpa: proper migration to new AuthoritySet

* grandpa: fix long lines

* grandpa: fix unused warning after merge

Co-authored-by: André Silva <andrerfosilva@gmail.com>
2021-01-21 22:06:40 +00:00
Ashley 87cc216774 Grandpa warp sync request-response protocol (#7711)
* Made a start

* So the proof between authority set is phragmen one, this is crazy big,
or is there some signing of the result : that is the storage key, damn?

* ok getting from header digest seems doable.

* for testing

* get set id from storage directly (should use runtime to handler change).

* move test to init

* correct auth key

* fix iteration

* Correct proof content

* actually update block number.

* actually check last justif against its header

* justification relation to new authorities through header hash check is
needed here. This assumes the hash from header is calculated.

* Few changes

* Connected up cheme's branch

* Clean up

* Move things around a bit so that adding the grandpa warp sync request response protocol happens in the node code

* Nits

* Changes to comments

* Cheme changes

* Remove todos and test compile.

* Rename _authority_ related proof function to _warp_sync_ .

* Update client/grandpa-warp-sync/src/lib.rs

quick fix

* Put the warp sync request response protocol behind a feature flag because we dont' need it on a light client.

* Update client/grandpa-warp-sync/src/lib.rs

Quick fix

* Update Cargo.lock

* Adding test, comment on limitation related to 'delay', this could
be implemented but with a cost.

* Set between a delay override last fragment.

* Check for pending authority set change at start.

* adjust index

* custom cache is not a good idea.

* Use a simple cache instead.

* restore broken indentation

* Address crate rename

* Merge conflict badly resolved, sorry

Co-authored-by: cheme <emericchevalier.pro@gmail.com>
Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com>
2021-01-21 17:14:07 +00:00