Skip to content
Snippets Groups Projects
Commit 124bd9c2 authored by Hugo Trentesaux's avatar Hugo Trentesaux
Browse files

Resolve "fix outdated transaction" (clients/rust/gcli-v2s!23)

* review poka

+fmt

* use custom nonce
parent 4166a7b4
No related branches found
No related tags found
No related merge requests found
......@@ -6,7 +6,6 @@ pub mod collective;
pub mod distance;
pub mod expire;
pub mod identity;
pub mod vault;
pub mod net_test;
pub mod oneshot;
pub mod publish;
......@@ -16,3 +15,4 @@ pub mod smith;
pub mod sudo;
pub mod transfer;
pub mod ud;
pub mod vault;
......@@ -48,28 +48,32 @@ pub async fn submit_call<Payload: TxPayload>(
data: &Data,
payload: &Payload,
) -> Result<TxProgress, subxt::Error> {
// get account nonce manually to be based on last block and not last finalized
let nonce = data
.legacy_rpc_methods() // see issue #32
.await
.system_account_next_index(&data.address())
.await?;
// sign and submit
match data.keypair() {
// sr25519 key pair
KeyPair::Sr25519(keypair) => {
data.client()
.tx()
.sign_and_submit_then_watch_default(
payload,
&PairSigner::<Runtime, sp_core::sr25519::Pair>::new(keypair),
)
.await
}
KeyPair::Sr25519(keypair) => data.client().tx().create_signed_with_nonce(
payload,
&PairSigner::<Runtime, sp_core::sr25519::Pair>::new(keypair),
nonce,
Default::default(),
),
// nacl key pair
KeyPair::Nacl(keypair) => {
data.client()
.tx()
.sign_and_submit_then_watch_default(
payload,
&commands::cesium::CesiumSigner::new(keypair),
)
.await
}
}
KeyPair::Nacl(keypair) => data.client().tx().create_signed_with_nonce(
payload,
&commands::cesium::CesiumSigner::new(keypair),
nonce,
Default::default(),
),
}?
.submit_and_watch()
.await
}
/// look event
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment