mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-22 05:37:58 +00:00
b8ee6a084f
- Renamed all crate names from subxt-* to pezkuwi-subxt-* - Updated codegen to use pezsp_runtime, pezsp_core, pezframe_support instead of sp_runtime, sp_core, frame_support - Replaced all internal references from subxt_* to pezkuwi_subxt_* - Added local path dependencies to Pezkuwi SDK crates - Updated workspace configuration for edition 2024
44 lines
1.2 KiB
Rust
44 lines
1.2 KiB
Rust
#![allow(missing_docs)]
|
|
use subxt::{OnlineClient, PolkadotConfig};
|
|
use pezkuwi_subxt_signer::sr25519::dev;
|
|
|
|
#[subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata_small.scale")]
|
|
pub mod polkadot {}
|
|
|
|
#[tokio::main]
|
|
async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
|
let api = OnlineClient::<PolkadotConfig>::new().await?;
|
|
|
|
// Prepare some extrinsics. These are boxed so that they can live alongside each other.
|
|
let txs = [dynamic_remark(), balance_transfer(), remark()];
|
|
|
|
for tx in txs {
|
|
let from = dev::alice();
|
|
api.tx()
|
|
.sign_and_submit_then_watch_default(&tx, &from)
|
|
.await?
|
|
.wait_for_finalized_success()
|
|
.await?;
|
|
|
|
println!("Submitted tx");
|
|
}
|
|
|
|
Ok(())
|
|
}
|
|
|
|
fn balance_transfer() -> Box<dyn subxt::tx::Payload> {
|
|
let dest = dev::bob().public_key().into();
|
|
Box::new(polkadot::tx().balances().transfer_allow_death(dest, 10_000))
|
|
}
|
|
|
|
fn remark() -> Box<dyn subxt::tx::Payload> {
|
|
Box::new(polkadot::tx().system().remark(vec![1, 2, 3, 4, 5]))
|
|
}
|
|
|
|
fn dynamic_remark() -> Box<dyn subxt::tx::Payload> {
|
|
use subxt::dynamic::{Value, tx};
|
|
let tx_payload = tx("System", "remark", vec![Value::from_bytes("Hello")]);
|
|
|
|
Box::new(tx_payload)
|
|
}
|