From 0dad54a73335393cc0bf22528ad1556e52998645 Mon Sep 17 00:00:00 2001 From: ZhenQian Date: Tue, 26 Nov 2024 15:18:28 +0800 Subject: [PATCH 1/2] fix: update cardano-ser-lib version --- rust/apps/cardano/src/address.rs | 20 ++++--- rust/apps/cardano/src/errors.rs | 2 +- rust/apps/cardano/src/governance.rs | 2 +- rust/apps/cardano/src/structs.rs | 79 +++++++++++----------------- rust/apps/cardano/src/transaction.rs | 19 +++---- 5 files changed, 50 insertions(+), 72 deletions(-) diff --git a/rust/apps/cardano/src/address.rs b/rust/apps/cardano/src/address.rs index 06e16e584..39700ff45 100644 --- a/rust/apps/cardano/src/address.rs +++ b/rust/apps/cardano/src/address.rs @@ -1,16 +1,14 @@ use crate::errors::{CardanoError, R}; use alloc::string::{String, ToString}; -use cardano_serialization_lib::address::{ - BaseAddress, EnterpriseAddress, RewardAddress, StakeCredential, +use cardano_serialization_lib::protocol_types::credential::*; +use cardano_serialization_lib::protocol_types::{ + BaseAddress, Ed25519KeyHash, EnterpriseAddress, RewardAddress, }; -use cardano_serialization_lib::crypto::Ed25519KeyHash; - use cryptoxide::hashing::blake2b_224; use ed25519_bip32_core::{DerivationScheme, XPub}; use hex; use ur_registry::crypto_key_path::CryptoKeyPath; - pub enum AddressType { Base, Stake, @@ -21,7 +19,7 @@ pub fn calc_stake_address_from_xpub(stake_key: [u8; 32]) -> R { let stake_key_hash = blake2b_224(&stake_key); let address = RewardAddress::new( 1, - &StakeCredential::from_keyhash(&Ed25519KeyHash::from(stake_key_hash)), + &Credential::from_keyhash(&Ed25519KeyHash::from(stake_key_hash)), ); address .to_address() @@ -65,8 +63,8 @@ pub fn derive_address( let stake_key_hash = blake2b_224(&stake_key); let address = BaseAddress::new( network, - &StakeCredential::from_keyhash(&Ed25519KeyHash::from(payment_key_hash)), - &StakeCredential::from_keyhash(&Ed25519KeyHash::from(stake_key_hash)), + &Credential::from_keyhash(&Ed25519KeyHash::from(payment_key_hash)), + &Credential::from_keyhash(&Ed25519KeyHash::from(stake_key_hash)), ); address .to_address() @@ -81,7 +79,7 @@ pub fn derive_address( let stake_key_hash = blake2b_224(&stake_key); let address = RewardAddress::new( network, - &StakeCredential::from_keyhash(&Ed25519KeyHash::from(stake_key_hash)), + &Credential::from_keyhash(&Ed25519KeyHash::from(stake_key_hash)), ); address .to_address() @@ -96,7 +94,7 @@ pub fn derive_address( let payment_key_hash = blake2b_224(&payment_key); let address = EnterpriseAddress::new( network, - &StakeCredential::from_keyhash(&Ed25519KeyHash::from(payment_key_hash)), + &Credential::from_keyhash(&Ed25519KeyHash::from(payment_key_hash)), ); address .to_address() @@ -124,7 +122,7 @@ mod tests { use alloc::string::ToString; use alloc::vec; use bech32; - use cardano_serialization_lib::address::{Address, BaseAddress}; + use cardano_serialization_lib::protocol_types::{Address, BaseAddress}; use cryptoxide::hashing::blake2b_224; use keystore; diff --git a/rust/apps/cardano/src/errors.rs b/rust/apps/cardano/src/errors.rs index a0bcfe584..19e4cc65b 100644 --- a/rust/apps/cardano/src/errors.rs +++ b/rust/apps/cardano/src/errors.rs @@ -1,5 +1,5 @@ use alloc::string::{String, ToString}; -use cardano_serialization_lib::error::DeserializeError; +use cardano_serialization_lib::DeserializeError; use ed25519_bip32_core::DerivationError; use thiserror; use thiserror::Error; diff --git a/rust/apps/cardano/src/governance.rs b/rust/apps/cardano/src/governance.rs index 6d2a50ddb..5d50b0733 100644 --- a/rust/apps/cardano/src/governance.rs +++ b/rust/apps/cardano/src/governance.rs @@ -3,7 +3,7 @@ use crate::errors::{CardanoError, R}; use crate::structs::SignVotingRegistrationResult; use alloc::string::{String, ToString}; use alloc::vec::Vec; -use cardano_serialization_lib::address::{Address, BaseAddress}; +use cardano_serialization_lib::protocol_types::Address; use cryptoxide::hashing::blake2b_256; use ed25519_bip32_core::{XPrv, XPub}; use hex; diff --git a/rust/apps/cardano/src/structs.rs b/rust/apps/cardano/src/structs.rs index c1702b952..5aa404950 100644 --- a/rust/apps/cardano/src/structs.rs +++ b/rust/apps/cardano/src/structs.rs @@ -5,16 +5,16 @@ use alloc::string::{String, ToString}; use alloc::vec; use alloc::vec::Vec; use app_utils::{impl_internal_struct, impl_public_struct}; -use cardano_serialization_lib::address::{ +use cardano_serialization_lib::protocol_types::{ self, Address, BaseAddress, EnterpriseAddress, RewardAddress, }; -use cardano_serialization_lib::crypto::{Ed25519KeyHash, ScriptHash}; -use cardano_serialization_lib::protocol_types::governance::{Anchor, DRepKind}; -use cardano_serialization_lib::utils::{from_bignum, BigNum}; +use cardano_serialization_lib::protocol_types::numeric::BigNum; +use cardano_serialization_lib::protocol_types::{Anchor, DRepKind}; +use cardano_serialization_lib::protocol_types::{Ed25519KeyHash, ScriptHash}; use cardano_serialization_lib::{ - protocol_types::fixed_tx::FixedTransaction as Transaction, - protocol_types::governance::VoteKind, Certificate, CertificateKind, NetworkId, NetworkIdKind, + protocol_types::FixedTransaction as Transaction, protocol_types::VoteKind, Certificate, + CertificateKind, NetworkId, NetworkIdKind, }; use alloc::format; @@ -210,7 +210,7 @@ impl ParsedCardanoTx { let parsed_inputs = Self::parse_inputs(&tx, &context, network_id)?; let parsed_outputs = Self::parse_outputs(&tx)?; - let fee = from_bignum(&tx.body().fee()); + let fee = u64::from(&tx.body().fee()); let total_output_amount = { let _v = parsed_outputs.iter().fold(0u64, |acc, cur| acc + cur.value); @@ -383,7 +383,7 @@ impl ParsedCardanoTx { Some(v) => { fields.push(CertField { label: LABEL_DEPOSIT.to_string(), - value: normalize_coin(from_bignum(&v)), + value: normalize_coin(u64::from(&v)), }); } None => {} @@ -405,7 +405,7 @@ impl ParsedCardanoTx { Some(v) => { fields.push(CertField { label: LABEL_DEPOSIT.to_string(), - value: normalize_coin(from_bignum(&v)), + value: normalize_coin(u64::from(&v)), }); } None => {} @@ -510,29 +510,19 @@ impl ParsedCardanoTx { let fields = vec![ CertField { label: LABEL_HOT_KEY.to_string(), - value: match _cert.committee_hot_key().kind() { - Ed25519KeyHash => { - _cert.committee_hot_key().to_keyhash().unwrap().to_string() - } - ScriptHash => _cert - .committee_hot_key() - .to_scripthash() - .unwrap() - .to_string(), - }, + value: _cert + .committee_hot_credential() + .to_scripthash() + .unwrap() + .to_string(), }, CertField { label: LABEL_COLD_KEY.to_string(), - value: match _cert.committee_cold_key().kind() { - Ed25519KeyHash => { - _cert.committee_cold_key().to_keyhash().unwrap().to_string() - } - ScriptHash => _cert - .committee_cold_key() - .to_scripthash() - .unwrap() - .to_string(), - }, + value: _cert + .committee_cold_credential() + .to_scripthash() + .unwrap() + .to_string(), }, ]; certs.push(CardanoCertificate::new( @@ -543,16 +533,11 @@ impl ParsedCardanoTx { if let Some(_cert) = cert.as_committee_cold_resign() { let mut fields = vec![CertField { label: LABEL_COLD_KEY.to_string(), - value: match _cert.committee_cold_key().kind() { - Ed25519KeyHash => { - _cert.committee_cold_key().to_keyhash().unwrap().to_string() - } - ScriptHash => _cert - .committee_cold_key() - .to_scripthash() - .unwrap() - .to_string(), - }, + value: _cert + .committee_cold_credential() + .to_scripthash() + .unwrap() + .to_string(), }]; if let Some(anchor) = _cert.anchor() { fields.push(CertField { @@ -570,7 +555,7 @@ impl ParsedCardanoTx { )); } if let Some(_cert) = cert.as_drep_deregistration() { - let deposit = normalize_coin(from_bignum(&_cert.coin())); + let deposit = normalize_coin(u64::from(&_cert.coin())); let (variant1, variant1_label) = match _cert.voting_credential().kind() { Ed25519KeyHash => ( _cert @@ -607,7 +592,7 @@ impl ParsedCardanoTx { )); } if let Some(_cert) = cert.as_drep_registration() { - let deposit = normalize_coin(from_bignum(&_cert.coin())); + let deposit = normalize_coin(u64::from(&_cert.coin())); let (variant1, variant1_label) = match _cert.voting_credential().kind() { Ed25519KeyHash => ( _cert @@ -752,7 +737,7 @@ impl ParsedCardanoTx { )); } if let Some(_cert) = cert.as_stake_registration_and_delegation() { - let deposit = normalize_coin(from_bignum(&_cert.coin())); + let deposit = normalize_coin(u64::from(&_cert.coin())); let fields = vec![ CertField { label: LABEL_ADDRESS.to_string(), @@ -803,7 +788,7 @@ impl ParsedCardanoTx { LABEL_DREP.to_string(), ), }; - let deposit = normalize_coin(from_bignum(&_cert.coin())); + let deposit = normalize_coin(u64::from(&_cert.coin())); let fields = vec![ CertField { label: LABEL_ADDRESS.to_string(), @@ -858,7 +843,7 @@ impl ParsedCardanoTx { LABEL_DREP.to_string(), ), }; - let deposit = normalize_coin(from_bignum(&_cert.coin())); + let deposit = normalize_coin(u64::from(&_cert.coin())); let fields = vec![ CertField { label: LABEL_ADDRESS.to_string(), @@ -900,7 +885,7 @@ impl ParsedCardanoTx { .to_address() .to_bech32(None) .map_err(|e| CardanoError::InvalidTransaction(e.to_string()))?, - normalize_coin(from_bignum(&_v)), + normalize_coin(u64::from(&_v)), )) } } @@ -1152,8 +1137,8 @@ impl ParsedCardanoTx { .address() .to_bech32(None) .map_err(|e| CardanoError::AddressEncodingError(e.to_string()))?, - amount: normalize_coin(from_bignum(&output.amount().coin())), - value: from_bignum(&output.amount().coin()), + amount: normalize_coin(u64::from(&output.amount().coin())), + value: u64::from(&output.amount().coin()), assets: output.amount().multiasset().map(|v| { let mut parsed_multi_assets = vec![]; // temporary comment multi assets parse logic because it consumes a lot of memory but we don't display it on UI diff --git a/rust/apps/cardano/src/transaction.rs b/rust/apps/cardano/src/transaction.rs index e004ddb7c..69681c8f9 100644 --- a/rust/apps/cardano/src/transaction.rs +++ b/rust/apps/cardano/src/transaction.rs @@ -4,14 +4,13 @@ use alloc::collections::BTreeMap; use alloc::string::{String, ToString}; use alloc::vec::Vec; use cardano_serialization_lib; -use cardano_serialization_lib::crypto::{Ed25519Signature, PublicKey, Vkey, Vkeywitness}; +use cardano_serialization_lib::protocol_types::{Ed25519Signature, PublicKey, Vkey, Vkeywitness}; use cryptoxide::hashing::blake2b_256; use ed25519_bip32_core::{XPrv, XPub}; use hex; pub fn parse_tx(tx: Vec, context: ParseContext) -> R { - let cardano_tx = - cardano_serialization_lib::protocol_types::fixed_tx::FixedTransaction::from_bytes(tx)?; + let cardano_tx = cardano_serialization_lib::protocol_types::FixedTransaction::from_bytes(tx)?; ParsedCardanoTx::from_cardano_tx(cardano_tx, context) } @@ -24,8 +23,7 @@ pub fn parse_sign_data( } pub fn check_tx(tx: Vec, context: ParseContext) -> R<()> { - let cardano_tx = - cardano_serialization_lib::protocol_types::fixed_tx::FixedTransaction::from_bytes(tx)?; + let cardano_tx = cardano_serialization_lib::protocol_types::FixedTransaction::from_bytes(tx)?; ParsedCardanoTx::verify(cardano_tx, context) } @@ -53,11 +51,10 @@ pub fn sign_data(path: &String, payload: &str, icarus_master_key: XPrv) -> R, context: ParseContext, icarus_master_key: XPrv) -> R> { - let cardano_tx = - cardano_serialization_lib::protocol_types::fixed_tx::FixedTransaction::from_bytes(tx)?; + let cardano_tx = cardano_serialization_lib::protocol_types::FixedTransaction::from_bytes(tx)?; let hash = blake2b_256(cardano_tx.raw_body().as_ref()); let mut witness_set = cardano_serialization_lib::TransactionWitnessSet::new(); - let mut vkeys = cardano_serialization_lib::crypto::Vkeywitnesses::new(); + let mut vkeys = cardano_serialization_lib::Vkeywitnesses::new(); let mut signatures = BTreeMap::new(); @@ -176,10 +173,8 @@ mod test { //hash: 6dadb65461bf4e1e9a983f16ba033ca0b490fc3d845db2ec6bf6789a14e7e9c3 //signature: a100828258201e7a836e4d144ea0a3c2f53878dbbb3e4583476d2a970fe5b693bc1d7974faf8584020ef5f3eedfaec7af8c1dafc575fc7af38cd1a2d7215ae2fb7f3f81415caea18f01cc125974133dda35e89bdd2c3b662f33509437564a88f106084f7693a0f0b8258207508644588abb8da3996ed16c70162c730af99b8e43c730d4219ba61b78b463a5840a4a620028627eb384790530010a71349a22dc2c533edafba3fd0dcd60c7b593bd3ba999ec041e429b70ae19feb2f6660cecc3b5715b0e4e4118878878969f80f let tx_bytes = hex::decode("84a80083825820878132f34ab1ae44afa85b6a1f8c1305f02ca4f1030d52f02032cbf5d0d1347f00825820cf74b8e2cdb7fa9273d26142dfe71813f1ff399faa159ced431cf1e132836a3503825820cf74b8e2cdb7fa9273d26142dfe71813f1ff399faa159ced431cf1e132836a35040182a300581d71edfff663d37fc5f9753bc4222e0da2bfe08aa48db0837d2c329adeb301821a004ddd98a2581c22f6999d4effc0ade05f6e1a70b702c65d6b3cdf0e301e4a8267f585a158201df45c7e73e680c256ce0eb777f1299aca718d44aea8ae17c61feae58341b2f801581cdda5fdb1002f7389b33e036b6afee82a8189becb6cba852e8b79b4fba1480014df1047454e531b00000001c37f3dac028200582057e5829401ce8998a6defdda9033dc5a7ba75e67f7d34bce27970cbaf208dd51a20058390125e59a44f460455dba1187f2e13c69dae31bc979e7a408a96d4de5a91ef024cbafb575d639d0b9f67bef0e56937045e0c19f43f75701fa7601821a004ea300a1581cdda5fdb1002f7389b33e036b6afee82a8189becb6cba852e8b79b4fba1480014df1047454e531a005cecc9021a0004a8b80b58208b89de52350671a9d946810a2ff18efd6251349bcb0be48636dc66b4d6df7e650d81825820cf74b8e2cdb7fa9273d26142dfe71813f1ff399faa159ced431cf1e132836a350010a20058390125e59a44f460455dba1187f2e13c69dae31bc979e7a408a96d4de5a91ef024cbafb575d639d0b9f67bef0e56937045e0c19f43f75701fa76011a00454e2c111a0006fd141282825820062f97b0e64130bc18b4a227299a62d6d59a4ea852a4c90db3de2204a2cd19ea0282582018722887e72afbb28dd4f24b401ea95af7c178148a3488d03adf582e0a0879ff00a20482d8799f581cd7a2b4740596a8095e94896e96500047bb34c836eb81247ed70c45b1d8799fd8799f581cd7a2b4740596a8095e94896e96500047bb34c836eb81247ed70c45b1ffd87a80ffd8799f581cdda5fdb1002f7389b33e036b6afee82a8189becb6cba852e8b79b4fb480014df1047454e53ff1b00000001c256acc21b00000001c2256181d8799f4040ffd8799f1b07bd198288051c751b1900000000000000ff58201df45c7e73e680c256ce0eb777f1299aca718d44aea8ae17c61feae58341b2f8d87a80d87a80011a000f42401a000f4240d8799f1a001e84801a0159dc2b190bb8ff1a000f4240ffd8799f581cd7a2b4740596a8095e94896e96500047bb34c836eb81247ed70c45b1d8799fd8799f581cd7a2b4740596a8095e94896e96500047bb34c836eb81247ed70c45b1ffd87a80ffd8799f581cdda5fdb1002f7389b33e036b6afee82a8189becb6cba852e8b79b4fb480014df1047454e53ff1b00000001c256acc21b00000001c256acc2d8799f4040ffd8799f1b07bd198288051c751b1900000000000000ff58201df45c7e73e680c256ce0eb777f1299aca718d44aea8ae17c61feae58341b2f8d87a80d87a80001a000f42401a000f4240d8799f1a000f42401a0159dc2b00ff00ff0581840000d87a9f1a00314b41ff821a000e27be1a15eab7dcf5f6").unwrap(); - let tx = cardano_serialization_lib::protocol_types::fixed_tx::FixedTransaction::from_bytes( - tx_bytes, - ) - .unwrap(); + let tx = cardano_serialization_lib::protocol_types::FixedTransaction::from_bytes(tx_bytes) + .unwrap(); let body = tx.raw_body(); let hash = blake2b_256(&body); } From 7bda6cc38e51e8672de34690d778814c48fdbb5c Mon Sep 17 00:00:00 2001 From: ZhenQian Date: Wed, 27 Nov 2024 17:05:57 +0800 Subject: [PATCH 2/2] chore: bump cardano-ser-lib version --- rust/Cargo.lock | 86 ++++++++++++++++++++++++++++++------ rust/apps/cardano/Cargo.toml | 2 +- 2 files changed, 73 insertions(+), 15 deletions(-) diff --git a/rust/Cargo.lock b/rust/Cargo.lock index 6ef7948d7..4ccec48d3 100644 --- a/rust/Cargo.lock +++ b/rust/Cargo.lock @@ -763,8 +763,8 @@ dependencies = [ [[package]] name = "cardano-serialization-lib" -version = "11.5.0" -source = "git+https://git@github.com/KeystoneHQ/cardano-serialization-lib.git?tag=keystone-0.1.4#5cf9480ed63962072809971e5f74e0b95035bee2" +version = "13.2.0" +source = "git+https://git@github.com/KeystoneHQ/cardano-serialization-lib.git?tag=keystone-0.1.5#c368053f8459a7d5978fd47d068d240368d66932" dependencies = [ "bech32 0.9.1", "cbor_event", @@ -774,16 +774,20 @@ dependencies = [ "cryptoxide", "digest 0.9.0", "ed25519-bip32-core", + "getrandom", "hex", "itertools", "js-sys", "noop_proc_macro", + "num", "num-bigint", "num-integer", "rand", "rand_os", "ritelinked", + "schemars", "serde", + "serde-wasm-bindgen", "serde_json", "sha2 0.9.9", "wasm-bindgen", @@ -1311,6 +1315,12 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" +[[package]] +name = "dyn-clone" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125" + [[package]] name = "ed25519-bip32-core" version = "0.1.1" @@ -1690,8 +1700,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if", + "js-sys", "libc", "wasi", + "wasm-bindgen", ] [[package]] @@ -3074,6 +3086,30 @@ dependencies = [ "syn 2.0.85", ] +[[package]] +name = "schemars" +version = "0.8.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09c024468a378b7e36765cd36702b7a90cc3cba11654f6685c8f233408e89e92" +dependencies = [ + "dyn-clone", + "schemars_derive", + "serde", + "serde_json", +] + +[[package]] +name = "schemars_derive" +version = "0.8.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1eee588578aff73f856ab961cd2f79e36bc45d7ded33a7562adba4667aecc0e" +dependencies = [ + "proc-macro2", + "quote", + "serde_derive_internals", + "syn 2.0.85", +] + [[package]] name = "scoped-tls" version = "1.0.1" @@ -3142,6 +3178,17 @@ dependencies = [ "serde", ] +[[package]] +name = "serde-wasm-bindgen" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3b4c031cd0d9014307d82b8abf653c0290fbdaeb4c02d00c63cf52f728628bf" +dependencies = [ + "js-sys", + "serde", + "wasm-bindgen", +] + [[package]] name = "serde_bytes" version = "0.11.15" @@ -3162,11 +3209,22 @@ dependencies = [ "syn 2.0.85", ] +[[package]] +name = "serde_derive_internals" +version = "0.29.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.85", +] + [[package]] name = "serde_json" -version = "1.0.132" +version = "1.0.133" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d726bfaff4b320266d395898905d0eba0345aae23b54aee3a737e260fd46db03" +checksum = "c7fceb2473b9166b2294ef05efcb65a3db80803f0b03ef86a5fc88a2b85ee377" dependencies = [ "itoa", "memchr", @@ -3828,9 +3886,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.87" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342" +checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -3838,9 +3896,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.87" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd" +checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" dependencies = [ "bumpalo", "log", @@ -3853,9 +3911,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.87" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" +checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -3863,9 +3921,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.87" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" +checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", @@ -3876,9 +3934,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.87" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" +checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" [[package]] name = "wayland-backend" diff --git a/rust/apps/cardano/Cargo.toml b/rust/apps/cardano/Cargo.toml index 0f3b5c76f..bd7f22c6c 100644 --- a/rust/apps/cardano/Cargo.toml +++ b/rust/apps/cardano/Cargo.toml @@ -22,4 +22,4 @@ bech32 = { workspace = true } [dependencies.cardano-serialization-lib] git = "https://git@github.com/KeystoneHQ/cardano-serialization-lib.git" -tag = "keystone-0.1.4" +tag = "keystone-0.1.5"