mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-17 17:11:02 +00:00
816a86423b
* WIP extract RPCs into separate crate * fmt * Fix test * Remove unused deps * fix import * WIP: Fix up errors and most tests. Start extracintg some tests/code to rpc crate * MockRpcClient sync or async * MockRpcClient only async but better type inference * WIP MockRpcClient FnMuts and some test updates to use it * Get all but one test working with new MockRpcClient * WIP trying to debug failure * WIP, Tests mostly fixed, need to add back oen more * Get mock RPC tests working * fmt * fmt * Clippy and comment tweak * update CI to explicitly check subxt-rpc features * clippy * small tweaks after pass over * feature flag rename * update some docs * Fix some examples * fmt * Fix features flags to work with web/wasm32 * Fix unused dep warning * explicit targets in wasm CI * Add better crate level docs * fmt * Address review comments * Comment out flaky test for now and make more obvious how similar POlkadot and Substrate configs are * Not a doc comment * Remove unused imports
43 lines
1.8 KiB
Rust
43 lines
1.8 KiB
Rust
// Copyright 2019-2024 Parity Technologies (UK) Ltd.
|
|
// This file is dual-licensed as Apache-2.0 or GPL-3.0.
|
|
// see LICENSE for license details.
|
|
|
|
//! Polkadot specific configuration
|
|
|
|
use super::{Config, DefaultExtrinsicParams, DefaultExtrinsicParamsBuilder};
|
|
|
|
use crate::config::SubstrateConfig;
|
|
pub use crate::utils::{AccountId32, MultiAddress, MultiSignature};
|
|
pub use primitive_types::{H256, U256};
|
|
|
|
/// Default set of commonly used types by Polkadot nodes.
|
|
// Note: The trait implementations exist just to make life easier,
|
|
// but shouldn't strictly be necessary since users can't instantiate this type.
|
|
#[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd, Hash, Debug)]
|
|
pub enum PolkadotConfig {}
|
|
|
|
impl Config for PolkadotConfig {
|
|
type Hash = <SubstrateConfig as Config>::Hash;
|
|
type AccountId = <SubstrateConfig as Config>::AccountId;
|
|
type Signature = <SubstrateConfig as Config>::Signature;
|
|
type Hasher = <SubstrateConfig as Config>::Hasher;
|
|
type Header = <SubstrateConfig as Config>::Header;
|
|
type AssetId = <SubstrateConfig as Config>::AssetId;
|
|
|
|
// Address on Polkadot has no account index, whereas it's u32 on
|
|
// the default substrate dev node.
|
|
type Address = MultiAddress<Self::AccountId, ()>;
|
|
|
|
// These are the same as the default substrate node, but redefined
|
|
// because we need to pass the PolkadotConfig trait as a param.
|
|
type ExtrinsicParams = PolkadotExtrinsicParams<Self>;
|
|
}
|
|
|
|
/// A struct representing the signed extra and additional parameters required
|
|
/// to construct a transaction for a polkadot node.
|
|
pub type PolkadotExtrinsicParams<T> = DefaultExtrinsicParams<T>;
|
|
|
|
/// A builder which leads to [`PolkadotExtrinsicParams`] being constructed.
|
|
/// This is what you provide to methods like `sign_and_submit()`.
|
|
pub type PolkadotExtrinsicParamsBuilder<T> = DefaultExtrinsicParamsBuilder<T>;
|