feat: Mortal extrinsic construction

This commit is contained in:
emostov
2020-12-13 20:13:16 -08:00
parent 80aff7eb6e
commit c9059d1a32
8 changed files with 112 additions and 14 deletions
+8 -1
View File
@@ -20,6 +20,8 @@ use substrate_subxt::{
ClientBuilder,
KusamaRuntime,
PairSigner,
SignedOptions,
DEFAULT_ERA_PERIOD
};
#[async_std::main]
@@ -30,7 +32,12 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
let dest = AccountKeyring::Bob.to_account_id().into();
let client = ClientBuilder::<KusamaRuntime>::new().build().await?;
let hash = client.transfer(&signer, &dest, 10_000).await?;
let hash = client.transfer(
&signer,
SignedOptions { era_period: Some(DEFAULT_ERA_PERIOD) },
&dest,
10_000
).await?;
println!("Balance transfer extrinsic submitted: {}", hash);
+8 -1
View File
@@ -23,6 +23,8 @@ use substrate_subxt::{
ClientBuilder,
DefaultNodeRuntime,
PairSigner,
SignedOptions,
DEFAULT_ERA_PERIOD,
};
#[async_std::main]
@@ -33,7 +35,12 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
let dest = AccountKeyring::Bob.to_account_id().into();
let client = ClientBuilder::<DefaultNodeRuntime>::new().build().await?;
let result = client.transfer_and_watch(&signer, &dest, 10_000).await?;
let result = client.transfer_and_watch(
&signer,
SignedOptions { era_period: Some(DEFAULT_ERA_PERIOD) },
&dest,
10_000
).await?;
if let Some(event) = result.transfer()? {
println!("Balance transfer success: value: {:?}", event.amount);
+8 -1
View File
@@ -27,6 +27,8 @@ use substrate_subxt::{
EventSubscription,
EventsDecoder,
PairSigner,
SignedOptions,
DEFAULT_ERA_PERIOD,
};
#[async_std::main]
@@ -42,7 +44,12 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
decoder.with_balances();
let mut sub = EventSubscription::<DefaultNodeRuntime>::new(sub, decoder);
sub.filter_event::<TransferEvent<_>>();
client.transfer(&signer, &dest, 10_000).await?;
client.transfer(
&signer,
SignedOptions { era_period: Some(DEFAULT_ERA_PERIOD) },
&dest,
10_000
).await?;
let raw = sub.next().await.unwrap().unwrap();
let event = TransferEvent::<DefaultNodeRuntime>::decode(&mut &raw.data[..]);
if let Ok(e) = event {