This repository was archived by the owner on Nov 15, 2023. It is now read-only.
Add documentation to SubmitSignedTransaction and actually make it work#4200
Merged
Add documentation to SubmitSignedTransaction and actually make it work#4200
Conversation
andresilva
reviewed
Nov 27, 2019
7 tasks
andresilva
added a commit
that referenced
this pull request
Dec 11, 2019
…ctually make it work Squashed commit of the following: commit dc8d71c Author: Tomasz Drwięga <tomasz@parity.io> Date: Tue Dec 3 16:29:33 2019 +0100 Split the method to avoid confusing type error message. commit 0c4c037 Author: Tomasz Drwięga <tomasz@parity.io> Date: Tue Dec 3 16:19:55 2019 +0100 Make accounts optional, fix logic. commit d715f64 Author: Tomasz Drwięga <tomasz@parity.io> Date: Tue Dec 3 10:06:20 2019 +0100 Remove warning. commit 3f38218 Merge: f85b890 368318c Author: Tomasz Drwięga <tomasz@parity.io> Date: Tue Dec 3 07:08:05 2019 +0100 Merge branch 'master' into td-signed-transactions commit f85b890 Merge: f8c9540 d8d5da2 Author: Tomasz Drwięga <tomasz@parity.io> Date: Mon Dec 2 13:57:25 2019 +0100 Merge branch 'master' into td-signed-transactions commit f8c9540 Author: Tomasz Drwięga <tomasz@parity.io> Date: Mon Nov 25 17:34:52 2019 +0100 Forgotten import. commit a645b90 Author: Tomasz Drwięga <tomasz@parity.io> Date: Mon Nov 25 17:32:10 2019 +0100 Fix naming and bounds. commit bc28c60 Author: Tomasz Drwięga <tomasz@parity.io> Date: Mon Nov 25 17:01:05 2019 +0100 Add documentation to signed transactions and actually make them work.
8a0e597 to
8755539
Compare
Member
|
@tomusdrw is this merge correct? |
gavofyork
approved these changes
Jan 3, 2020
Contributor
Author
|
Yup, thanks! Could I get a second review on this? @bkchr maybe if you have some time? 😈 |
bkchr
approved these changes
Jan 6, 2020
bin/node/executor/tests/basic.rs
Outdated
| @@ -0,0 +1,837 @@ | |||
| // Copyright 2018-2019 Parity Technologies (UK) Ltd. | |||
Member
There was a problem hiding this comment.
Suggested change
| // Copyright 2018-2019 Parity Technologies (UK) Ltd. | |
| // Copyright 2018-2020 Parity Technologies (UK) Ltd. |
| use node_testing::keyring::*; | ||
|
|
||
| mod common; | ||
| use self::common::{*, sign}; |
Member
There was a problem hiding this comment.
Suggested change
| use self::common::{*, sign}; | |
| use self::common::*; |
Contributor
Author
There was a problem hiding this comment.
This doesn't work as there is a conflict with glob imports (common and keystore), so we need to define sign explicitly.
bin/node/executor/tests/basic.rs
Outdated
| mod common; | ||
| use self::common::{*, sign}; | ||
|
|
||
|
|
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>
bkchr
reviewed
Jan 8, 2020
Contributor
Author
|
@bkchr convinced me to change |
andresilva
added a commit
that referenced
this pull request
May 6, 2020
* session: runtime api for generating session membership proofs * grandpa: add runtime api for creating equivocation report txs * grandpa: submit signed equivocation report transactions * grandpa: use proper equivocation report type * grandpa: report equivocations * grandpa: validate equivocation proof * grandpa: update to finality-grandpa 0.9.1 * grandpa: fix encoding of session membership proof * grandpa: initialize set id session mapping for genesis session * grandpa: fix bug in set_id session validation * fix compilation * cleanup from merge conflicts * cleanup crate tomls * grandpa: refactor equivocation handling to separate trait * node-template: fix compilation * fix test compilation * bump finality-grandpa to v0.10.2 * rpc: fix runtime version test * CHERRY-PICK #4200: Add documentation to SubmitSignedTransaction and actually make it work Squashed commit of the following: commit dc8d71c Author: Tomasz Drwięga <tomasz@parity.io> Date: Tue Dec 3 16:29:33 2019 +0100 Split the method to avoid confusing type error message. commit 0c4c037 Author: Tomasz Drwięga <tomasz@parity.io> Date: Tue Dec 3 16:19:55 2019 +0100 Make accounts optional, fix logic. commit d715f64 Author: Tomasz Drwięga <tomasz@parity.io> Date: Tue Dec 3 10:06:20 2019 +0100 Remove warning. commit 3f38218 Merge: f85b890 368318c Author: Tomasz Drwięga <tomasz@parity.io> Date: Tue Dec 3 07:08:05 2019 +0100 Merge branch 'master' into td-signed-transactions commit f85b890 Merge: f8c9540 d8d5da2 Author: Tomasz Drwięga <tomasz@parity.io> Date: Mon Dec 2 13:57:25 2019 +0100 Merge branch 'master' into td-signed-transactions commit f8c9540 Author: Tomasz Drwięga <tomasz@parity.io> Date: Mon Nov 25 17:34:52 2019 +0100 Forgotten import. commit a645b90 Author: Tomasz Drwięga <tomasz@parity.io> Date: Mon Nov 25 17:32:10 2019 +0100 Fix naming and bounds. commit bc28c60 Author: Tomasz Drwięga <tomasz@parity.io> Date: Mon Nov 25 17:01:05 2019 +0100 Add documentation to signed transactions and actually make them work. * grandpa: skip block initialization on report submission method * primitives: allow transaction pool access by default for offchain calls * grandpa: unused parameters * grandpa: remove unused method * grandpa: enable equivocation reporting * grandpa: add workaround for parameter encoding * grandpa: fix localized_payload calls in tests * fix submit_report_equivocation_extrinsic in runtimes * node: fix submit transaction test compilation * node: bump spec_version * rpc: fix api version test * grandpa: allow custom equivocation offence type * grandpa: add test for authorities::next_change_height * grandpa: cleanup report_equivocation function * node: move reporting app crypto to node-primitives * grandpa: move equivocation traits to own module * grandpa: rename app-crypto crate import * grandpa: export equivocation types * node: bump spec_version * grandpa: rename EquivocationReport to EquivocationProof * grandpa: add missing docs to primitives * grandpa: add missing docs to equivocation * node: fix compilation * grandpa: add missing docs to pallet * node: bump spec_version * fix whitespace * grandpa: return error on offence reporting * grandpa: expose session and validator count in proofs through traits * grandpa: use strong key in module KeyOwnerProofSystem * grandpa: move key ownership proof to grandpa runtime api * grandpa: remove unnecessary cloning when checking equivocation proof * grandpa: make report_equivocation a method in Environment * support: implement KeyOwnerProofSystem for () * grandpa: move KeyOwnerProofSystem to module trait * test-utils: fix runtime compilation * grandpa: fix test compilation * grandpa: fix test compilation after merge * grandpa: simplify transaction submission types * grandpa: validate equivocation report in signed extension * client: fix test * node: use ValidateEquivocationReport signed extension * grandpa: expose key ownership proof under opaque type * grandpa: better docs on key ownership proofs * grandpa: add note about signed extension * grandpa: add ValidateEquivocationReport::new * grandpa: remove skip_initialize_block from runtime api * grandpa: use new offchain transaction submission API * grandpa: take set_id in generate_key_ownership_proof * grandpa: update to finality-grandpa v0.12.2 * grandpa: cleanup usages of AuthoritySet::current * grandpa: fix test * grandpa: add mocking utilities for equivocation reporting * grandpa: add test for equivocation reporting * grandpa: move SetIdSession initialization * grandpa: add more tests * node: enable historical session manager * node: bump spec_version * node: use strong key types in KeyOwnerProofSystem definitions * grandpa: export GrandpaEquivocationOffence type
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
With recent changes to crypto stuff (notably
IdentifyAccountthat makes theAccountIddiverge fromPublicKey) theSubmitSignedTransactiontrait family was not really working correctly.The main complications arise because of application-crypto type wrappers (
app-crypto) and signed aggregators (MultiSigner), this requires a bit ofFrom/TryInto/Intomagic and some additional trait bounds, that on the first sight look unnecessary in this code :)This PR is an attempt to fix that and also make it more convenient to use local keys for transaction signing (see
SigningAccountFinder). This additional trait bound can be used to create and submit signed transactions from offchain calls using all local keys (intersected with some list of accounts).Still WiP, as I want to work on tests a bit more, but wanted to make this visible for @kianenigma @gnunicorn and @andresilva