fix: resolve cargo-clippy CI errors in vendor crates

- Fix rebrand issues in pezkuwi-subxt signer (sp_core -> pezsp_core,
  sp_keyring -> pezsp_keyring, sp_runtime -> pezsp_runtime)
- Fix pezkuwi-zombienet-sdk tests (subxt::PolkadotConfig ->
  pezkuwi_subxt::PezkuwiConfig)
- Correct artifact paths in subxt examples (polkadot_metadata_*.scale)
- Fix type conversion issues in subxt examples (explicit constructors
  instead of .into() for generated types)
- Add pezkuwi-subxt-utils-stripmetadata dev-dependency to metadata crate
- Use original polkadot module from external frame-decode crate
- Fix Display trait usage for generated AccountId32 types
This commit is contained in:
2025-12-24 05:59:45 +03:00
parent 4c13406c00
commit 2779266f3b
40 changed files with 280 additions and 283 deletions
@@ -6,10 +6,10 @@
#![allow(missing_docs, unused)]
use pezkuwi_subxt::{config::bizinikiwi::MultiAddress, Config, OnlineClient, PezkuwiConfig};
use sp_core::{sr25519, Pair as _};
use pezkuwi_subxt::{Config, OnlineClient, PezkuwiConfig};
use pezsp_core::{sr25519, Pair as _};
#[pezkuwi_subxt::subxt(runtime_metadata_path = "../artifacts/pezkuwi_metadata_small.scale")]
#[pezkuwi_subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata_small.scale")]
pub mod pezkuwi {}
/// A concrete PairSigner implementation which relies on `sr25519::Pair` for signing
@@ -20,7 +20,7 @@ mod pair_signer {
config::bizinikiwi::{AccountId32, MultiSignature},
tx::Signer,
};
use sp_runtime::{
use pezsp_runtime::{
traits::{IdentifyAccount, Verify},
MultiSignature as SpMultiSignature,
};
@@ -90,7 +90,7 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
let dest = {
let acc = sr25519::Pair::from_string("//Bob", None)?;
MultiAddress::Address32(acc.public().0)
pezkuwi::runtime_types::sp_runtime::multiaddress::MultiAddress::Address32(acc.public().0)
};
// Build a balance transfer extrinsic.
@@ -1,15 +1,17 @@
#![allow(missing_docs)]
use pezkuwi_subxt::{
utils::{AccountId32, MultiAddress},
utils::{AccountId32 as UtilAccountId32, MultiAddress as UtilMultiAddress},
OnlineClient, PezkuwiConfig,
};
use codec::Decode;
#[pezkuwi_subxt::subxt(runtime_metadata_path = "../artifacts/pezkuwi_metadata_small.scale")]
#[pezkuwi_subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata_small.scale")]
pub mod pezkuwi {}
use pezkuwi::balances::calls::types::TransferKeepAlive;
use pezkuwi::runtime_types::sp_runtime::multiaddress::MultiAddress;
use pezkuwi::runtime_types::sp_core::crypto::AccountId32;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
@@ -37,9 +39,10 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
let addr_bytes =
transfer.details.address_bytes().expect("TransferKeepAlive should be signed");
let sender = MultiAddress::<AccountId32, ()>::decode(&mut &addr_bytes[..])
// Use utility types for decoding as they implement the Decode trait
let sender = UtilMultiAddress::<UtilAccountId32, ()>::decode(&mut &addr_bytes[..])
.expect("Decoding should work");
let sender = display_address(&sender);
let sender = display_util_address(&sender);
let receiver = display_address(&transfer.value.dest);
let value = transfer.value.value;
let tip = extensions.tip().expect("Should have tip");
@@ -56,6 +59,14 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
fn display_address(addr: &MultiAddress<AccountId32, ()>) -> String {
if let MultiAddress::Id(id32) = addr {
format!("{id32:?}")
} else {
"MultiAddress::...".into()
}
}
fn display_util_address(addr: &UtilMultiAddress<UtilAccountId32, ()>) -> String {
if let UtilMultiAddress::Id(id32) = addr {
format!("{id32}")
} else {
"MultiAddress::...".into()
+1 -1
View File
@@ -1,7 +1,7 @@
#![allow(missing_docs)]
use pezkuwi_subxt::{OnlineClient, PezkuwiConfig};
#[pezkuwi_subxt::subxt(runtime_metadata_path = "../artifacts/pezkuwi_metadata_small.scale")]
#[pezkuwi_subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata_small.scale")]
pub mod pezkuwi {}
#[tokio::main]
+1 -1
View File
@@ -1,7 +1,7 @@
#![allow(missing_docs)]
use pezkuwi_subxt::{OnlineClient, PezkuwiConfig};
#[pezkuwi_subxt::subxt(runtime_metadata_path = "../artifacts/pezkuwi_metadata_small.scale")]
#[pezkuwi_subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata_small.scale")]
pub mod pezkuwi {}
#[tokio::main]
+1 -1
View File
@@ -1,7 +1,7 @@
#![allow(missing_docs)]
use pezkuwi_subxt::{OnlineClient, PezkuwiConfig};
#[pezkuwi_subxt::subxt(runtime_metadata_path = "../artifacts/pezkuwi_metadata_small.scale")]
#[pezkuwi_subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata_small.scale")]
pub mod pezkuwi {}
#[tokio::main]
+3 -3
View File
@@ -3,12 +3,12 @@ use futures::StreamExt;
use pezkuwi_subxt::{client::OnlineClient, lightclient::LightClient, PezkuwiConfig};
// Generate an interface that we can use from the node's metadata.
#[pezkuwi_subxt::subxt(runtime_metadata_path = "../artifacts/pezkuwi_metadata_small.scale")]
#[pezkuwi_subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata_small.scale")]
pub mod pezkuwi {}
const POLKADOT_SPEC: &str = include_str!("../../artifacts/demo_chain_specs/pezkuwi.json");
const POLKADOT_SPEC: &str = include_str!("../../artifacts/demo_chain_specs/polkadot.json");
const ASSET_HUB_SPEC: &str =
include_str!("../../artifacts/demo_chain_specs/pezkuwi_asset_hub.json");
include_str!("../../artifacts/demo_chain_specs/polkadot_asset_hub.json");
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
@@ -8,7 +8,7 @@ use pezkuwi_subxt::{
use pezkuwi_subxt_signer::sr25519::dev;
// Generate an interface that we can use from the node's metadata.
#[pezkuwi_subxt::subxt(runtime_metadata_path = "../artifacts/pezkuwi_metadata_small.scale")]
#[pezkuwi_subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata_small.scale")]
pub mod pezkuwi {}
#[tokio::main]
@@ -35,7 +35,9 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
let api = OnlineClient::<PezkuwiConfig>::from_rpc_client(chain_rpc).await?;
// Build a balance transfer extrinsic.
let dest = dev::bob().public_key().into();
let dest = pezkuwi::runtime_types::sp_runtime::multiaddress::MultiAddress::Id(
pezkuwi::runtime_types::sp_core::crypto::AccountId32(dev::bob().public_key().0),
);
let balance_transfer_tx = pezkuwi::tx().balances().transfer_allow_death(dest, 10_000);
// Submit the balance transfer extrinsic from Alice, and wait for it to be successful
+7 -3
View File
@@ -6,7 +6,7 @@ use pezkuwi_subxt::{
};
use pezkuwi_subxt_signer::sr25519::dev;
#[pezkuwi_subxt::subxt(runtime_metadata_path = "../artifacts/pezkuwi_metadata_small.scale")]
#[pezkuwi_subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata_small.scale")]
pub mod pezkuwi {}
#[tokio::main]
@@ -37,13 +37,17 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
let bob = dev::bob();
loop {
let current_nonce = rpc.system_account_next_index(&alice.public_key().into()).await?;
let alice_account_id = pezkuwi_subxt::config::bizinikiwi::AccountId32(alice.public_key().0);
let current_nonce = rpc.system_account_next_index(&alice_account_id).await?;
let ext_params = Params::new().mortal(8).nonce(current_nonce).build();
let dest = pezkuwi::runtime_types::sp_runtime::multiaddress::MultiAddress::Id(
pezkuwi::runtime_types::sp_core::crypto::AccountId32(bob.public_key().0),
);
let balance_transfer = pezkuwi::tx()
.balances()
.transfer_allow_death(bob.public_key().into(), 1_000_000);
.transfer_allow_death(dest, 1_000_000);
let ext_hash = api
.tx()
@@ -12,7 +12,7 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
// `scale_value::Value` type as output, and a vec of those as inputs,
// but since we know the input + return types we can pass them directly.
// There is one input argument, so the inputs are a tuple of one element.
let account: AccountId32 = dev::alice().public_key().into();
let account = AccountId32(dev::alice().public_key().0);
let runtime_api_call = pezkuwi_subxt::dynamic::runtime_api_call::<_, u64>(
"AccountNonceApi",
"account_nonce",
+1 -1
View File
@@ -7,7 +7,7 @@ use pezkuwi_subxt::{
OnlineClient, PezkuwiConfig,
};
#[pezkuwi_subxt::subxt(runtime_metadata_path = "../artifacts/pezkuwi_metadata_small.scale")]
#[pezkuwi_subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata_small.scale")]
pub mod pezkuwi {}
#[tokio::main]
+2 -2
View File
@@ -2,7 +2,7 @@
use pezkuwi_subxt::{config::PezkuwiConfig, OnlineClient};
use pezkuwi_subxt_signer::sr25519::dev;
#[pezkuwi_subxt::subxt(runtime_metadata_path = "../artifacts/pezkuwi_metadata_small.scale")]
#[pezkuwi_subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata_small.scale")]
pub mod pezkuwi {}
#[tokio::main]
@@ -12,7 +12,7 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
// Create a runtime API payload that calls into
// `AccountNonceApi_account_nonce` function.
let account = dev::alice().public_key().into();
let account = pezkuwi::runtime_types::sp_core::crypto::AccountId32(dev::alice().public_key().0);
let runtime_api_call = pezkuwi::apis().account_nonce_api().account_nonce(account);
// Submit the call and get back a result.
@@ -21,7 +21,7 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
// 3. Metadata (I'll load it from the downloaded metadata, but you can use `subxt metadata >
// file.scale` to download it):
let metadata = {
let bytes = std::fs::read("./artifacts/pezkuwi_metadata_small.scale").unwrap();
let bytes = std::fs::read("./artifacts/polkadot_metadata_small.scale").unwrap();
Metadata::decode(&mut &*bytes).unwrap()
};
@@ -5,7 +5,7 @@ use pezkuwi_subxt::config::{
use pezkuwi_subxt_signer::sr25519::dev;
#[pezkuwi_subxt::subxt(
runtime_metadata_path = "../artifacts/pezkuwi_metadata_full.scale",
runtime_metadata_path = "../artifacts/polkadot_metadata_full.scale",
derive_for_type(
path = "staging_xcm::v3::multilocation::MultiLocation",
derive = "Clone, codec::Encode",
+1 -1
View File
@@ -9,7 +9,7 @@ use pezkuwi_subxt::{
};
use pezkuwi_subxt_signer::sr25519::dev;
#[pezkuwi_subxt::subxt(runtime_metadata_path = "../artifacts/pezkuwi_metadata_full.scale")]
#[pezkuwi_subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata_full.scale")]
pub mod runtime {}
// We don't need to construct this at runtime,
@@ -11,7 +11,7 @@ use pezkuwi_subxt_signer::sr25519::dev;
use scale_encode::EncodeAsType;
use scale_info::PortableRegistry;
#[pezkuwi_subxt::subxt(runtime_metadata_path = "../artifacts/pezkuwi_metadata_small.scale")]
#[pezkuwi_subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata_small.scale")]
pub mod runtime {}
// We don't need to construct this at runtime,
@@ -15,7 +15,7 @@ use pezkuwi_subxt::{
};
// Generate an interface that we can use from the node's metadata.
#[pezkuwi_subxt::subxt(runtime_metadata_path = "../artifacts/pezkuwi_metadata_small.scale")]
#[pezkuwi_subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata_small.scale")]
pub mod pezkuwi {}
#[tokio::main]
@@ -12,7 +12,7 @@ use pezkuwi_subxt::{
};
// Generate an interface that we can use from the node's metadata.
#[pezkuwi_subxt::subxt(runtime_metadata_path = "../artifacts/pezkuwi_metadata_small.scale")]
#[pezkuwi_subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata_small.scale")]
pub mod pezkuwi {}
#[tokio::main]
+2 -2
View File
@@ -3,14 +3,14 @@ use pezkuwi_subxt::{OnlineClient, PezkuwiConfig};
use pezkuwi_subxt_signer::sr25519::dev;
// Generate an interface that we can use from the node's metadata.
#[pezkuwi_subxt::subxt(runtime_metadata_path = "../artifacts/pezkuwi_metadata_small.scale")]
#[pezkuwi_subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata_small.scale")]
pub mod pezkuwi {}
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
// Create a new API client, configured to talk to Pezkuwi nodes.
let api = OnlineClient::<PezkuwiConfig>::new().await?;
let account = dev::alice().public_key().into();
let account = pezkuwi::runtime_types::sp_core::crypto::AccountId32(dev::alice().public_key().0);
// Build a storage query to access account information.
let storage_query = pezkuwi::storage().system().account();
@@ -15,7 +15,7 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
// here, we assume that there is one value to provide at this entry
// to access a value; an AccountId32. In this example we don't know the
// return type and so we set it to `Value`, which anything can decode into.
let account: AccountId32 = dev::alice().public_key().into();
let account = AccountId32(dev::alice().public_key().0);
let storage_query =
pezkuwi_subxt::dynamic::storage::<(AccountId32,), Value>("System", "Account");
+2 -2
View File
@@ -2,7 +2,7 @@
use pezkuwi_subxt::{ext::futures::StreamExt, OnlineClient, PezkuwiConfig};
// Generate an interface that we can use from the node's metadata.
#[pezkuwi_subxt::subxt(runtime_metadata_path = "../artifacts/pezkuwi_metadata_small.scale")]
#[pezkuwi_subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata_small.scale")]
pub mod pezkuwi {}
#[tokio::main]
@@ -34,7 +34,7 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
let value = kv.value().decode()?;
let value_data = value.data;
println!("{account_id32}:\n {value_data:?}");
println!("{account_id32:?}:\n {value_data:?}");
}
Ok(())
+4 -2
View File
@@ -3,7 +3,7 @@ use pezkuwi_subxt::{OnlineClient, PezkuwiConfig};
use pezkuwi_subxt_signer::sr25519::dev;
// Generate an interface that we can use from the node's metadata.
#[pezkuwi_subxt::subxt(runtime_metadata_path = "../artifacts/pezkuwi_metadata_small.scale")]
#[pezkuwi_subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata_small.scale")]
pub mod pezkuwi {}
#[tokio::main]
@@ -12,7 +12,9 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
let api = OnlineClient::<PezkuwiConfig>::new().await?;
// Build a balance transfer extrinsic.
let dest = dev::bob().public_key().into();
let dest = pezkuwi::runtime_types::sp_runtime::multiaddress::MultiAddress::Id(
pezkuwi::runtime_types::sp_core::crypto::AccountId32(dev::bob().public_key().0),
);
let balance_transfer_tx = pezkuwi::tx().balances().transfer_allow_death(dest, 10_000);
// Submit the balance transfer extrinsic from Alice, and wait for it to be successful
+4 -2
View File
@@ -2,7 +2,7 @@
use pezkuwi_subxt::{OnlineClient, PezkuwiConfig};
use pezkuwi_subxt_signer::sr25519::dev;
#[pezkuwi_subxt::subxt(runtime_metadata_path = "../artifacts/pezkuwi_metadata_small.scale")]
#[pezkuwi_subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata_small.scale")]
pub mod pezkuwi {}
#[tokio::main]
@@ -27,7 +27,9 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
}
fn balance_transfer() -> Box<dyn pezkuwi_subxt::tx::Payload> {
let dest = dev::bob().public_key().into();
let dest = pezkuwi::runtime_types::sp_runtime::multiaddress::MultiAddress::Id(
pezkuwi::runtime_types::sp_core::crypto::AccountId32(dev::bob().public_key().0),
);
Box::new(pezkuwi::tx().balances().transfer_allow_death(dest, 10_000))
}
+4 -2
View File
@@ -4,7 +4,7 @@ use pezkuwi_subxt_signer::sr25519::dev;
type BoxedError = Box<dyn std::error::Error + Send + Sync + 'static>;
#[pezkuwi_subxt::subxt(runtime_metadata_path = "../artifacts/pezkuwi_metadata_small.scale")]
#[pezkuwi_subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata_small.scale")]
pub mod pezkuwi {}
#[tokio::main]
@@ -19,7 +19,9 @@ async fn signing_example() -> Result<(), BoxedError> {
let api = OnlineClient::<PezkuwiConfig>::new().await?;
// Build a balance transfer extrinsic.
let dest = dev::bob().public_key().into();
let dest = pezkuwi::runtime_types::sp_runtime::multiaddress::MultiAddress::Id(
pezkuwi::runtime_types::sp_core::crypto::AccountId32(dev::bob().public_key().0),
);
let balance_transfer_tx = pezkuwi::tx().balances().transfer_allow_death(dest, 10_000);
let alice = dev::alice();
+4 -2
View File
@@ -3,7 +3,7 @@ use pezkuwi_subxt::{tx::TxStatus, OnlineClient, PezkuwiConfig};
use pezkuwi_subxt_signer::sr25519::dev;
// Generate an interface that we can use from the node's metadata.
#[pezkuwi_subxt::subxt(runtime_metadata_path = "../artifacts/pezkuwi_metadata_small.scale")]
#[pezkuwi_subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata_small.scale")]
pub mod pezkuwi {}
#[tokio::main]
@@ -12,7 +12,9 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
let api = OnlineClient::<PezkuwiConfig>::new().await?;
// Build a balance transfer extrinsic.
let dest = dev::bob().public_key().into();
let dest = pezkuwi::runtime_types::sp_runtime::multiaddress::MultiAddress::Id(
pezkuwi::runtime_types::sp_core::crypto::AccountId32(dev::bob().public_key().0),
);
let balance_transfer_tx = pezkuwi::tx().balances().transfer_allow_death(dest, 10_000);
// Submit the balance transfer extrinsic from Alice, and then monitor the
+4 -2
View File
@@ -4,7 +4,7 @@ use pezkuwi_subxt::{
};
use pezkuwi_subxt_signer::sr25519::dev;
#[pezkuwi_subxt::subxt(runtime_metadata_path = "../artifacts/pezkuwi_metadata_small.scale")]
#[pezkuwi_subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata_small.scale")]
pub mod pezkuwi {}
#[tokio::main]
@@ -13,7 +13,9 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
let api = OnlineClient::<PezkuwiConfig>::new().await?;
// Build a balance transfer extrinsic.
let dest = dev::bob().public_key().into();
let dest = pezkuwi::runtime_types::sp_runtime::multiaddress::MultiAddress::Id(
pezkuwi::runtime_types::sp_core::crypto::AccountId32(dev::bob().public_key().0),
);
let tx = pezkuwi::tx().balances().transfer_allow_death(dest, 10_000);
// Configure the transaction parameters; we give a small tip and set the
+1 -1
View File
@@ -468,7 +468,7 @@ mod test {
// Decode the storage key as first item from sequence of params:
let params = params.map(|p| p.get().to_string());
let rpc_params = jsonrpsee::types::Params::new(params.as_deref());
let key: sp_core::Bytes = rpc_params.sequence().next().unwrap();
let key: pezsp_core::Bytes = rpc_params.sequence().next().unwrap();
let key = std::str::from_utf8(&key.0).unwrap();
// Fetch the response to use from our map, popping it from the front.
let values = values.get_mut(key).unwrap();
+1 -1
View File
@@ -864,7 +864,7 @@ mod test {
#[test]
fn transaction_validity_decoding_is_ok() {
use sp_runtime::{
use pezsp_runtime::{
transaction_validity as sp, transaction_validity::TransactionValidity as T,
};