diff --git a/Cargo.lock b/Cargo.lock index bf733b0628ac0a901b6b492157c3392d1886b540..574da92f88e7db3c3553940fb9ea5aac907bbef5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2126,7 +2126,7 @@ dependencies = [ [[package]] name = "gcli" -version = "0.2.17" +version = "0.3.0" dependencies = [ "age", "anyhow", diff --git a/Cargo.toml b/Cargo.toml index b9ae0651794cb5f524643be27f213ba42eaecd98..efb44d96ed58cc9219aab4555ee455e0933340ab 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -10,7 +10,7 @@ license = "AGPL-3.0-only" name = "gcli" repository = "https://git.duniter.org/clients/rust/gcli-v2s" description = "A command-line interface for Duniter v2s uses" -version = "0.2.17" +version = "0.3.0" [dependencies] # subxt is main dependency diff --git a/res/metadata.scale b/res/metadata.scale index 2166a0563e80550fe7bb592b6b5968490ce3f0e4..b07fd7c46c6a13f9ba446759aedec32d6521d1b4 100644 Binary files a/res/metadata.scale and b/res/metadata.scale differ diff --git a/src/commands/identity.rs b/src/commands/identity.rs index e3463c751a6780d190ac16947b6125d8646596c7..0d8bfc895343cf6e7a20025a02d40a5ba264256b 100644 --- a/src/commands/identity.rs +++ b/src/commands/identity.rs @@ -491,9 +491,8 @@ pub async fn revoke_identity(data: &Data) -> Result<(), subxt::Error> { let (_payload, signature) = generate_revoc_doc(data); // Transform signature to MultiSignature - // TODO: this is a hack, we should be able to use the signature directly - let signature = runtime::runtime_types::sp_core::sr25519::Signature(signature.0); - let multisign = MultiSignature::Sr25519(signature); + // TODO: allow other signature formats + let multisign = MultiSignature::Sr25519(signature.into()); submit_call_and_look_event::< runtime::identity::events::IdtyRemoved, @@ -562,15 +561,10 @@ pub async fn link_account( ) -> Result<(), subxt::Error> { let (_payload, signature) = generate_link_account(data, address.clone(), keypair); - // this is a hack, see - // https://substrate.stackexchange.com/questions/10309/how-to-use-core-crypto-types-instead-of-runtime-types + // TODO cleaner way to manage signature let signature = match signature { - Signature::Sr25519(signature) => MultiSignature::Sr25519( - runtime::runtime_types::sp_core::sr25519::Signature(signature.0), - ), - Signature::Nacl(signature) => MultiSignature::Ed25519( - runtime::runtime_types::sp_core::ed25519::Signature(signature.try_into().unwrap()), - ), + Signature::Sr25519(signature) => MultiSignature::Sr25519(signature.into()), + Signature::Nacl(signature) => MultiSignature::Ed25519(signature.try_into().unwrap()), }; submit_call_and_look_event::< @@ -591,15 +585,10 @@ pub async fn change_owner_key( ) -> Result<(), subxt::Error> { let (_payload, signature) = generate_chok_payload(data, address.clone(), keypair); - // this is a hack, see - // https://substrate.stackexchange.com/questions/10309/how-to-use-core-crypto-types-instead-of-runtime-types + // TODO cleaner way to manage signature let signature = match signature { - Signature::Sr25519(signature) => MultiSignature::Sr25519( - runtime::runtime_types::sp_core::sr25519::Signature(signature.0), - ), - Signature::Nacl(signature) => MultiSignature::Ed25519( - runtime::runtime_types::sp_core::ed25519::Signature(signature.try_into().unwrap()), - ), + Signature::Sr25519(signature) => MultiSignature::Sr25519(signature.into()), + Signature::Nacl(signature) => MultiSignature::Ed25519(signature.try_into().unwrap()), }; submit_call_and_look_event::< diff --git a/src/commands/runtime.rs b/src/commands/runtime.rs index 1463142687fd77fd8d19dc60cd707f6841cc285f..d71b1021860cdc73e9557db8d7afa958d9e05c1a 100644 --- a/src/commands/runtime.rs +++ b/src/commands/runtime.rs @@ -143,10 +143,6 @@ pub async fn runtime_info(data: Data) { "UD reeval period: {}", getu64(consts.universal_dividend().ud_reeval_period()) ); - println!( - "units per ud: {}", - getf(consts.universal_dividend().units_per_ud()) - ); // todo treasury, technical committee, transaction payment, authority members // consts.system().ss58_prefix() } diff --git a/src/commands/smith.rs b/src/commands/smith.rs index fd3196374f5b56d7caf51498a3a1fac6c07ebb25..21e243f812a9747f2a54ab4cff935254399cd991 100644 --- a/src/commands/smith.rs +++ b/src/commands/smith.rs @@ -13,24 +13,16 @@ type SessionKeys = [u8; 128]; fn session_keys_decode(session_keys: SessionKeys) -> RuntimeSessionKeys { RuntimeSessionKeys { grandpa: runtime::runtime_types::sp_consensus_grandpa::app::Public( - runtime::runtime_types::sp_core::ed25519::Public( - session_keys[0..32].try_into().unwrap(), - ), + session_keys[0..32].try_into().unwrap(), ), babe: runtime::runtime_types::sp_consensus_babe::app::Public( - runtime::runtime_types::sp_core::sr25519::Public( - session_keys[32..64].try_into().unwrap(), - ), + session_keys[32..64].try_into().unwrap(), ), im_online: runtime::runtime_types::pallet_im_online::sr25519::app_sr25519::Public( - runtime::runtime_types::sp_core::sr25519::Public( - session_keys[64..96].try_into().unwrap(), - ), + session_keys[64..96].try_into().unwrap(), ), authority_discovery: runtime::runtime_types::sp_authority_discovery::app::Public( - runtime::runtime_types::sp_core::sr25519::Public( - session_keys[96..128].try_into().unwrap(), - ), + session_keys[96..128].try_into().unwrap(), ), } }