Use the generated DispatchError instead of the hardcoded Substrate one (#394)

* WIP DispatchError generic param

* main crate now compiling with new E generic param for DispatchError

* Remove E param from RpcClient since it doesn't really need it

* Point to generated DispatchError in codegen so no need for additional param there

* More error hunting; cargo check --all-targets passes now

* Use our own RuntimeVersion struct (for now) to avoid error decoding into sp_version::RuntimeVersion

* cargo fmt

* fix docs and expose private documented thing that I think should be pub

* move error info to compile time so that we can make DispatchError a little nicer to work with

* cargo fmt

* clippy

* Rework error handling to remove <E> param in most cases

* fix Error doc ambiguity (hopefully)

* doc tweaks

* docs: remove dismbiguation thing that isn't needed now

* One more Error<E> that can be a BasicError

* rewrite pallet errors thing into normal loops to tidy

* tidy errors codegen a little

* tidy examples/custom_type_derives.rs a little

* cargo fmt

* silcnce clippy in example
This commit is contained in:
James Wilson
2022-01-20 16:35:42 +00:00
committed by GitHub
parent 79bf32a0a9
commit 643795919f
24 changed files with 3471 additions and 2453 deletions
+6 -3
View File
@@ -15,7 +15,10 @@
// along with subxt. If not, see <http://www.gnu.org/licenses/>.
use crate::{
node_runtime::system,
node_runtime::{
system,
DispatchError,
},
pair_signer,
test_context,
};
@@ -24,7 +27,7 @@ use sp_keyring::AccountKeyring;
use subxt::Signer;
#[async_std::test]
async fn storage_account() -> Result<(), subxt::Error> {
async fn storage_account() -> Result<(), subxt::Error<DispatchError>> {
let alice = pair_signer(AccountKeyring::Alice.pair());
let cxt = test_context().await;
@@ -40,7 +43,7 @@ async fn storage_account() -> Result<(), subxt::Error> {
}
#[async_std::test]
async fn tx_remark_with_event() -> Result<(), subxt::Error> {
async fn tx_remark_with_event() -> Result<(), subxt::Error<DispatchError>> {
let alice = pair_signer(AccountKeyring::Alice.pair());
let cxt = test_context().await;