From a07b18d0076929be8ed7af9239db57be7235d8d6 Mon Sep 17 00:00:00 2001 From: redshiftzero Date: Fri, 22 Nov 2024 11:21:21 -0500 Subject: [PATCH 1/9] UIP-4 Spend Backreferences (#4922) This implements UIP-4 as described in https://github.com/penumbra-zone/UIPs/pull/2 https://github.com/penumbra-zone/UIPs/pull/2 - [ ] I have added guiding text to explain how a reviewer should test these changes. - [x] If this code contains consensus-breaking changes, I have added the "consensus-breaking" label. Otherwise, I declare my belief that there are not consensus-breaking changes, for the following reason: (cherry picked from commit 067708b4a24ef60459db76a76d53807ebd118d97) --- crates/bin/pcli/src/terminal.rs | 4 +- .../component/shielded-pool/src/backref.rs | 217 ++++++++++++++++++ .../core/component/shielded-pool/src/lib.rs | 3 + .../shielded-pool/src/spend/action.rs | 19 ++ .../component/shielded-pool/src/spend/plan.rs | 6 +- crates/core/keys/src/keys/fvk.rs | 7 +- crates/core/keys/src/lib.rs | 2 +- crates/core/keys/src/symmetric.rs | 17 ++ ...enumbra.core.component.shielded_pool.v1.rs | 3 + ...a.core.component.shielded_pool.v1.serde.rs | 21 ++ .../proto/src/gen/proto_descriptor.bin.no_lfs | Bin 648110 -> 648288 bytes .../shielded_pool/v1/shielded_pool.proto | 4 +- 12 files changed, 298 insertions(+), 5 deletions(-) create mode 100644 crates/core/component/shielded-pool/src/backref.rs diff --git a/crates/bin/pcli/src/terminal.rs b/crates/bin/pcli/src/terminal.rs index a13f03d65b..95bf433242 100644 --- a/crates/bin/pcli/src/terminal.rs +++ b/crates/bin/pcli/src/terminal.rs @@ -11,7 +11,7 @@ use penumbra_keys::{ }; use penumbra_proof_params::GROTH16_PROOF_LENGTH_BYTES; use penumbra_sct::Nullifier; -use penumbra_shielded_pool::{Note, NoteView}; +use penumbra_shielded_pool::{EncryptedBackref, Note, NoteView}; use penumbra_tct::structure::Hash; use penumbra_transaction::{view, ActionPlan, ActionView, TransactionPlan, TransactionView}; use termion::{color, input::TermRead}; @@ -82,6 +82,8 @@ fn pretty_print_transaction_plan( balance_commitment: dummy_commitment(), nullifier: Nullifier(Fq::default()), rk: dummy_pk(), + encrypted_backref: EncryptedBackref::try_from([0u8; 0]) + .expect("can create dummy encrypted backref"), }, auth_sig: dummy_sig(), proof: dummy_proof_spend(), diff --git a/crates/core/component/shielded-pool/src/backref.rs b/crates/core/component/shielded-pool/src/backref.rs new file mode 100644 index 0000000000..7eef7f4d96 --- /dev/null +++ b/crates/core/component/shielded-pool/src/backref.rs @@ -0,0 +1,217 @@ +use anyhow::Result; +use chacha20poly1305::{ + aead::{Aead, NewAead}, + ChaCha20Poly1305, Nonce, +}; + +use penumbra_keys::BackreferenceKey; +use penumbra_sct::Nullifier; +use penumbra_tct as tct; + +pub const ENCRYPTED_BACKREF_LEN: usize = 48; + +#[derive(Clone, Debug, Eq, PartialEq)] +pub struct Backref { + note_commitment: tct::StateCommitment, +} + +#[derive(Clone, Debug)] +pub struct EncryptedBackref { + /// The inner bytes can either have 0 or `ENCRYPTED_BACKREF_LEN` bytes. + bytes: Vec, +} + +impl Backref { + pub fn new(note_commitment: tct::StateCommitment) -> Self { + Self { note_commitment } + } + + pub fn encrypt(&self, brk: &BackreferenceKey, nullifier: &Nullifier) -> EncryptedBackref { + let cipher = ChaCha20Poly1305::new(&brk.0); + + // Nonce is the first 12 bytes of the nullifier + let nonce_bytes = &nullifier.to_bytes()[..12]; + let nonce = Nonce::from_slice(&nonce_bytes); + + let plaintext = self.note_commitment.0.to_bytes(); + + let ciphertext = cipher + .encrypt(nonce, plaintext.as_ref()) + .expect("encryption should succeed "); + + EncryptedBackref { bytes: ciphertext } + } +} + +impl EncryptedBackref { + pub fn is_empty(&self) -> bool { + self.bytes.is_empty() + } + + pub fn len(&self) -> usize { + self.bytes.len() + } + + pub fn dummy() -> Self { + Self { bytes: vec![] } + } + + /// Decrypts the encrypted backref, returning a backref if the decryption is successful, + /// or `None` if the encrypted backref is zero-length. + pub fn decrypt( + &self, + brk: &BackreferenceKey, + nullifier: &Nullifier, + ) -> Result> { + // We might have a 0-length encrypted backref, which + // is treated as a valid value and means that the note has no backref. + if self.is_empty() { + return Ok(None); + } + + let cipher = ChaCha20Poly1305::new(&brk.0); + + let nonce_bytes = &nullifier.to_bytes()[..12]; + let nonce = Nonce::from_slice(&nonce_bytes); + + let plaintext = cipher + .decrypt(nonce, self.bytes.as_ref()) + .map_err(|_| anyhow::anyhow!("decryption error"))?; + + let note_commitment_bytes: [u8; 32] = plaintext + .try_into() + .map_err(|_| anyhow::anyhow!("decryption error"))?; + + let backref = Backref::try_from(note_commitment_bytes) + .map_err(|_| anyhow::anyhow!("decryption error"))?; + + Ok(Some(backref)) + } +} + +impl TryFrom<[u8; 32]> for Backref { + type Error = anyhow::Error; + + fn try_from(bytes: [u8; 32]) -> Result { + Ok(Self { + note_commitment: tct::StateCommitment::try_from(bytes) + .map_err(|_| anyhow::anyhow!("invalid note commitment"))?, + }) + } +} + +// EncryptedBackrefs can either have 0 or ENCRYPTED_BACKREF_LEN bytes. + +impl TryFrom<[u8; ENCRYPTED_BACKREF_LEN]> for EncryptedBackref { + type Error = anyhow::Error; + + fn try_from(bytes: [u8; ENCRYPTED_BACKREF_LEN]) -> Result { + Ok(Self { + bytes: bytes.to_vec(), + }) + } +} + +impl TryFrom<[u8; 0]> for EncryptedBackref { + type Error = anyhow::Error; + + fn try_from(bytes: [u8; 0]) -> Result { + Ok(Self { + bytes: bytes.to_vec(), + }) + } +} + +impl From for Vec { + fn from(encrypted_backref: EncryptedBackref) -> Vec { + encrypted_backref.bytes + } +} + +#[cfg(test)] +mod tests { + use super::*; + use proptest::prelude::*; + + use penumbra_asset::{asset, Value}; + use penumbra_keys::keys::{Bip44Path, SeedPhrase, SpendKey}; + + use crate::{Note, Rseed}; + + proptest! { + #[test] + fn encrypted_backref_zero_length(seed_phrase_randomness in any::<[u8; 32]>(), amount_to_send in any::(), rseed_randomness in any::<[u8; 32]>()) { + let seed_phrase = SeedPhrase::from_randomness(&seed_phrase_randomness); + let sk = SpendKey::from_seed_phrase_bip44(seed_phrase, &Bip44Path::new(0)); + let fvk = sk.full_viewing_key(); + let brk = fvk.backref_key(); + + let ivk = fvk.incoming(); + let (sender, _dtk_d) = ivk.payment_address(0u32.into()); + + let value_to_send = Value { + amount: amount_to_send.into(), + asset_id: asset::Cache::with_known_assets() + .get_unit("upenumbra") + .unwrap() + .id(), + }; + let rseed = Rseed(rseed_randomness); + + let note = Note::from_parts(sender, value_to_send, rseed).expect("valid note"); + let note_commitment: penumbra_tct::StateCommitment = note.commit(); + let nk = *sk.nullifier_key(); + let mut sct = tct::Tree::new(); + + sct.insert(tct::Witness::Keep, note_commitment).unwrap(); + let state_commitment_proof = sct.witness(note_commitment).unwrap(); + let nullifier = Nullifier::derive(&nk, state_commitment_proof.position(), ¬e_commitment); + + let encrypted_backref = EncryptedBackref::dummy(); + assert!(encrypted_backref.is_empty()); + assert_eq!(encrypted_backref.len(), 0); + + // Decrypting a zero-length encrypted backref should return `None`. + let decrypted_backref = encrypted_backref.decrypt(&brk, &nullifier).unwrap(); + assert_eq!(decrypted_backref, None); + } + } + + proptest! { + #[test] + fn encrypted_backref_round_trip(seed_phrase_randomness in any::<[u8; 32]>(), amount_to_send in any::(), rseed_randomness in any::<[u8; 32]>()) { + let seed_phrase = SeedPhrase::from_randomness(&seed_phrase_randomness); + let sk = SpendKey::from_seed_phrase_bip44(seed_phrase, &Bip44Path::new(0)); + let fvk = sk.full_viewing_key(); + let brk = fvk.backref_key(); + + let ivk = fvk.incoming(); + let (sender, _dtk_d) = ivk.payment_address(0u32.into()); + + let value_to_send = Value { + amount: amount_to_send.into(), + asset_id: asset::Cache::with_known_assets() + .get_unit("upenumbra") + .unwrap() + .id(), + }; + let rseed = Rseed(rseed_randomness); + + let note = Note::from_parts(sender, value_to_send, rseed).expect("valid note"); + let note_commitment: penumbra_tct::StateCommitment = note.commit(); + let nk = *sk.nullifier_key(); + let mut sct = tct::Tree::new(); + + sct.insert(tct::Witness::Keep, note_commitment).unwrap(); + let state_commitment_proof = sct.witness(note_commitment).unwrap(); + let nullifier = Nullifier::derive(&nk, state_commitment_proof.position(), ¬e_commitment); + + let backref = Backref::new(note_commitment); + let encrypted_backref = backref.encrypt(&brk, &nullifier); + + let decrypted_backref = encrypted_backref.decrypt(&brk, &nullifier).unwrap(); + + assert_eq!(Some(backref), decrypted_backref); + } + } +} diff --git a/crates/core/component/shielded-pool/src/lib.rs b/crates/core/component/shielded-pool/src/lib.rs index 84d112ed52..04109d614e 100644 --- a/crates/core/component/shielded-pool/src/lib.rs +++ b/crates/core/component/shielded-pool/src/lib.rs @@ -25,6 +25,9 @@ pub mod nullifier_derivation; pub mod output; pub mod spend; +pub mod backref; +pub use backref::{Backref, EncryptedBackref}; + pub use convert::{ConvertCircuit, ConvertProof, ConvertProofPrivate, ConvertProofPublic}; pub use nullifier_derivation::{ NullifierDerivationCircuit, NullifierDerivationProof, NullifierDerivationProofPrivate, diff --git a/crates/core/component/shielded-pool/src/spend/action.rs b/crates/core/component/shielded-pool/src/spend/action.rs index 2a548a592a..83517d6748 100644 --- a/crates/core/component/shielded-pool/src/spend/action.rs +++ b/crates/core/component/shielded-pool/src/spend/action.rs @@ -9,6 +9,7 @@ use penumbra_txhash::{EffectHash, EffectingData}; use serde::{Deserialize, Serialize}; use crate::SpendProof; +use crate::{backref::ENCRYPTED_BACKREF_LEN, EncryptedBackref}; #[derive(Clone, Debug)] pub struct Spend { @@ -23,6 +24,7 @@ pub struct Body { pub balance_commitment: balance::Commitment, pub nullifier: Nullifier, pub rk: VerificationKey, + pub encrypted_backref: EncryptedBackref, } impl EffectingData for Body { @@ -91,6 +93,7 @@ impl From for pb::SpendBody { balance_commitment: Some(msg.balance_commitment.into()), nullifier: Some(msg.nullifier.into()), rk: Some(msg.rk.into()), + encrypted_backref: msg.encrypted_backref.into(), } } } @@ -117,10 +120,26 @@ impl TryFrom for Body { .try_into() .context("malformed rk")?; + // `EncryptedBackref` must have 0 or `ENCRYPTED_BACKREF_LEN` bytes. + let encrypted_backref: EncryptedBackref; + if proto.encrypted_backref.len() == ENCRYPTED_BACKREF_LEN { + let bytes: [u8; ENCRYPTED_BACKREF_LEN] = proto + .encrypted_backref + .try_into() + .map_err(|_| anyhow::anyhow!("invalid encrypted backref"))?; + encrypted_backref = EncryptedBackref::try_from(bytes) + .map_err(|_| anyhow::anyhow!("invalid encrypted backref"))?; + } else if proto.encrypted_backref.len() == 0 { + encrypted_backref = EncryptedBackref::dummy(); + } else { + return Err(anyhow::anyhow!("invalid encrypted backref length")); + } + Ok(Body { balance_commitment, nullifier, rk, + encrypted_backref, }) } } diff --git a/crates/core/component/shielded-pool/src/spend/plan.rs b/crates/core/component/shielded-pool/src/spend/plan.rs index a79fd41d99..1602badd0b 100644 --- a/crates/core/component/shielded-pool/src/spend/plan.rs +++ b/crates/core/component/shielded-pool/src/spend/plan.rs @@ -9,7 +9,7 @@ use rand_core::{CryptoRng, RngCore}; use serde::{Deserialize, Serialize}; use super::{Body, Spend, SpendProof}; -use crate::{Note, Rseed, SpendProofPrivate, SpendProofPublic}; +use crate::{Backref, Note, Rseed, SpendProofPrivate, SpendProofPublic}; /// A planned [`Spend`](Spend). #[derive(Clone, Debug, Deserialize, Serialize)] @@ -75,10 +75,14 @@ impl SpendPlan { /// Construct the [`spend::Body`] described by this [`SpendPlan`]. pub fn spend_body(&self, fvk: &FullViewingKey) -> Body { + // Construct the backreference for this spend. + let backref = Backref::new(self.note.commit()); + let encrypted_backref = backref.encrypt(&fvk.backref_key(), &self.nullifier(fvk)); Body { balance_commitment: self.balance().commit(self.value_blinding), nullifier: self.nullifier(fvk), rk: self.rk(fvk), + encrypted_backref, } } diff --git a/crates/core/keys/src/keys/fvk.rs b/crates/core/keys/src/keys/fvk.rs index e9a029578f..44239700bf 100644 --- a/crates/core/keys/src/keys/fvk.rs +++ b/crates/core/keys/src/keys/fvk.rs @@ -12,7 +12,7 @@ use crate::keys::wallet_id::WalletId; use crate::{ fmd, ka, prf, rdsa::{SpendAuth, VerificationKey}, - Address, AddressView, + Address, AddressView, BackreferenceKey, }; use super::{AddressIndex, DiversifierKey, IncomingViewingKey, NullifierKey, OutgoingViewingKey}; @@ -120,6 +120,11 @@ impl FullViewingKey { &self.ak } + /// Construct the backreference key for this full viewing key. + pub fn backref_key(&self) -> BackreferenceKey { + BackreferenceKey::derive(self.outgoing()).clone() + } + /// Hashes the full viewing key into an [`WalletId`]. pub fn wallet_id(&self) -> WalletId { let hash_result = hash_2( diff --git a/crates/core/keys/src/lib.rs b/crates/core/keys/src/lib.rs index 81c8c8be7f..a880e51832 100644 --- a/crates/core/keys/src/lib.rs +++ b/crates/core/keys/src/lib.rs @@ -14,7 +14,7 @@ pub mod test_keys; pub use address::{Address, AddressVar, AddressView}; pub use keys::FullViewingKey; -pub use symmetric::PayloadKey; +pub use symmetric::{BackreferenceKey, PayloadKey}; fn fmt_hex>(data: T, f: &mut std::fmt::Formatter) -> std::fmt::Result { write!(f, "{}", hex::encode(data)) diff --git a/crates/core/keys/src/symmetric.rs b/crates/core/keys/src/symmetric.rs index 4e383d15c3..cc04585ed4 100644 --- a/crates/core/keys/src/symmetric.rs +++ b/crates/core/keys/src/symmetric.rs @@ -344,3 +344,20 @@ impl TryFrom<&[u8]> for WrappedMemoKey { Ok(Self(bytes)) } } + +/// Represents a symmetric `ChaCha20Poly1305` key used for Spend backreferences. +#[derive(Debug, Copy, Clone, PartialEq, Eq)] +pub struct BackreferenceKey(pub Key); + +impl BackreferenceKey { + pub fn derive(ovk: &OutgoingViewingKey) -> Self { + let mut kdf_params = blake2b_simd::Params::new(); + kdf_params.personal(b"Penumbra_Backref"); + kdf_params.hash_length(32); + let mut kdf = kdf_params.to_state(); + kdf.update(&ovk.to_bytes()); + + let key = kdf.finalize(); + Self(*Key::from_slice(key.as_bytes())) + } +} diff --git a/crates/proto/src/gen/penumbra.core.component.shielded_pool.v1.rs b/crates/proto/src/gen/penumbra.core.component.shielded_pool.v1.rs index 1362033de8..e287e3e5e6 100644 --- a/crates/proto/src/gen/penumbra.core.component.shielded_pool.v1.rs +++ b/crates/proto/src/gen/penumbra.core.component.shielded_pool.v1.rs @@ -420,6 +420,9 @@ pub struct SpendBody { pub rk: ::core::option::Option< super::super::super::super::crypto::decaf377_rdsa::v1::SpendVerificationKey, >, + /// An encryption of the commitment of the input note to the sender's OVK. + #[prost(bytes = "vec", tag = "7")] + pub encrypted_backref: ::prost::alloc::vec::Vec, } impl ::prost::Name for SpendBody { const NAME: &'static str = "SpendBody"; diff --git a/crates/proto/src/gen/penumbra.core.component.shielded_pool.v1.serde.rs b/crates/proto/src/gen/penumbra.core.component.shielded_pool.v1.serde.rs index 85e3edf22e..c77243e1d0 100644 --- a/crates/proto/src/gen/penumbra.core.component.shielded_pool.v1.serde.rs +++ b/crates/proto/src/gen/penumbra.core.component.shielded_pool.v1.serde.rs @@ -3789,6 +3789,9 @@ impl serde::Serialize for SpendBody { if self.rk.is_some() { len += 1; } + if !self.encrypted_backref.is_empty() { + len += 1; + } let mut struct_ser = serializer.serialize_struct("penumbra.core.component.shielded_pool.v1.SpendBody", len)?; if let Some(v) = self.balance_commitment.as_ref() { struct_ser.serialize_field("balanceCommitment", v)?; @@ -3799,6 +3802,10 @@ impl serde::Serialize for SpendBody { if let Some(v) = self.rk.as_ref() { struct_ser.serialize_field("rk", v)?; } + if !self.encrypted_backref.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("encryptedBackref", pbjson::private::base64::encode(&self.encrypted_backref).as_str())?; + } struct_ser.end() } } @@ -3813,6 +3820,8 @@ impl<'de> serde::Deserialize<'de> for SpendBody { "balanceCommitment", "nullifier", "rk", + "encrypted_backref", + "encryptedBackref", ]; #[allow(clippy::enum_variant_names)] @@ -3820,6 +3829,7 @@ impl<'de> serde::Deserialize<'de> for SpendBody { BalanceCommitment, Nullifier, Rk, + EncryptedBackref, __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { @@ -3845,6 +3855,7 @@ impl<'de> serde::Deserialize<'de> for SpendBody { "balanceCommitment" | "balance_commitment" => Ok(GeneratedField::BalanceCommitment), "nullifier" => Ok(GeneratedField::Nullifier), "rk" => Ok(GeneratedField::Rk), + "encryptedBackref" | "encrypted_backref" => Ok(GeneratedField::EncryptedBackref), _ => Ok(GeneratedField::__SkipField__), } } @@ -3867,6 +3878,7 @@ impl<'de> serde::Deserialize<'de> for SpendBody { let mut balance_commitment__ = None; let mut nullifier__ = None; let mut rk__ = None; + let mut encrypted_backref__ = None; while let Some(k) = map_.next_key()? { match k { GeneratedField::BalanceCommitment => { @@ -3887,6 +3899,14 @@ impl<'de> serde::Deserialize<'de> for SpendBody { } rk__ = map_.next_value()?; } + GeneratedField::EncryptedBackref => { + if encrypted_backref__.is_some() { + return Err(serde::de::Error::duplicate_field("encryptedBackref")); + } + encrypted_backref__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } GeneratedField::__SkipField__ => { let _ = map_.next_value::()?; } @@ -3896,6 +3916,7 @@ impl<'de> serde::Deserialize<'de> for SpendBody { balance_commitment: balance_commitment__, nullifier: nullifier__, rk: rk__, + encrypted_backref: encrypted_backref__.unwrap_or_default(), }) } } diff --git a/crates/proto/src/gen/proto_descriptor.bin.no_lfs b/crates/proto/src/gen/proto_descriptor.bin.no_lfs index 07410da27bbcc3d19b4f110072ab6deee0e843dc..d0511fd1ddedf5cf99077bb3b1f61779d626627a 100644 GIT binary patch delta 3832 zcmYjUe{5A}8NTm(Pfrhr()OPA-u9l}d%2WCY0GJ8H-{6ZWp0cg>U2R&Ow=eVx+t)) znrO^Ygb+lt1T(ttA1p1bmNE;J9~MXlY0XlbQe|O)83HpCD*AFo!*Tvuf_g@RBqz9Rqib2^9QUl>5a;|gYJNGVx;AawvgMV|Egf4s^V>G(JAcrT ze`V{dKkm$L-PYNW@7$&%uXSvFxnq0%Yxx&9u5WhTd2W&D6ltMi14*EhHc)Sq$+{&j zTM5rTNU?W_+_`StN+9zfISIEE^>iiTG0*NLK1^{<1;%6CeiLJBkvQDst>nTV5TzfJtx z*(xRfZF0+_El8^DFH{MPEf6qOA^=8zp-Kd>Lsx%Tre!4@G-81GsM*31!T>oQdWdD& z;0RgOVVAT#;9LWddxT0V421L%N>xQvEDp-?WpW9Y!vpF;whPwFa}#D6+(9|GjL!4y zA&Q-kM&}`ONJjT0D)OYF7OaVjlyKc^{J99FNVd1Ww6 z>_ikPV3_8F1$a!L3`+swF6>#S)IVgGQ^etQ^O!+7CB2a&0fKUhk}3B&y$jG8wbtj= z!I=UDBec$t6L!JlxFk{9ch_i&10L~F- z{T0gJ#VzWA&lPP&VbGLW1c7q}fg%W;6M>~@ZG~sQOR;hFyBcn)e3zV3w+*rt($$N^ zDZftL|4%%liZfghAW))@ie*S%BwSQEIUpo2O0zzr$ygjyFJyRm%NTK4lq3Beqw=JI zpo~#<+8rm9QR&$e6nkF{Wq7P?LR$I~lq#i+N%eY`Hw2T!^E4GfC{0qSZy=N=DVuX& z&=f3AssCkpZ7@ZgiE?D~Day7O2+9<-J>fpBDH!gw>df(q=4sRRN#Wl1ON3va7s_>r_=+NP)(6TC_MiDJ<+m;=j(GRQCMP zSXeTyE$l`?FtjiPa8iA)(86vM4%!uZ*p0AEG*c|>Ch9=C~DXHj=I<$bFXuCsPuGJAl&K*jGn*l=YjyT0rnu5g{;)VVaHMA?9R{2`? z0|decnbM`qke7?Jq?8$2P^%wziZR8z>if0)WN_EqT?8R{mz?mC0fKUu$`jhmQiAS@ znYDiw|AxKXD-h+<-!qnmRY{dX#h+3zZ|i>OPh&m@YRf`Sw;>RE6P7`~Z(bQ7$oJ)y zt4TQ#HdhXlqO5B7h&)&hYT}*zn`g1)mdaKVat*Cs9U9yE*nt4nJMa#y3qv}eD;v0tmHdVaqA4N*EMN@-Err}9g;OAWTB$~qdeo*yUKR9k^amb6DE081@O=S7 zsfQ~n-4<+KBe%a-z2C^KU+yhX(e|FT7U9huV?M*-hjiAGqaNepd2T&EqyeQh zCzKU%L+uIJqIPv1#t}|1Y@;E{1Mj4IG2o`!lQ5ClJb7s+86R1nkMe*|s{;YI=TEa$ zKAR^dcUs2VfCgn{*R$#qs0C-u7!brBXU!M@amuqYhDJ@n;(4{98CUnb8ADc&;k+3G zASmZ$4DFhNJxA40Gd~-QnlWVc7)H$)06`g*F)Y;-pbIL~!p+SW3KVJo1)dXrI%Tz` zUSRxBVz0cyta$3U`bi7_YR$MA8G_)9n~?!Rc$}k=1Iy1W{Ruk>uUxG$`scw6r08_K$px71;Pyl3~wkPcDrPb3n14$LB6>TM2g@0AmAN|*# zl}+8st&ki=M0!=^m=M>Ph+y+kY?nZ6np%!Abrn7;XrO6?kcAMDLexm^N7{4W%=6~Q zNqgDwT!p~{2EB~ zg&N3slbqCA20;UX%2L2&tWT5z(0G$-lTnrAyKfQyZmmi}{#&G~qbf^* zvt=Rz%4n%f1hB+tSSA|bp%G)mC+rfQAHl4;Ev12Wpcjno}}1JG&vucCuMR^K-HIuPU)*@ zelj>k>>4_P$T>yjVPSw!J4G9+)YFE7hm*RP;hn)Gu@_OKmy=Wx7T`01GARXwtFZ5! z(Z9`Ll{3WU5rsiHBfXIw`OKi4p=3%uYgPd|r~jSd-r!t`5(niRd0`WLj!P1yGitA) zIKFdU|FnT$=s91aIG~&-FYLL`4k+iTA*=QoN}2CW6X!BJ^wj|_>U5Ut3JBN|%Rrtk zk;_1y7IGKbTI0L#QfyAYoaN5icgfqJdLUUN9lb=H%52t0KaXeiAF^B%AW&(xiN}z< zL^!0fYd}a|l16>aknwO+v4dwtRefL9(eHeoZxa7_RSH@>PNw-15PdW0cex*=1w5^@1BL2Hw!r0eG$yi< zZPXD&&OJ(mivdFIp18!5hJuIpiJLQR`rt3)X??AUGXVnOg-n@J?vtO7w4{{#w5iEl z?i6E+D>~iGPXsIW>>>!s74pJM1_;UuRVR#*r35_?Bip?Vf5UGcl!$WZA6PrXQ%RLV z#hX$vZs(zX)XXpTJS};plSwS~$=44M<7z`~f#bRlX zN&;eOk3?XPVi)88jAH-NA8+Q}FMdW|t<2puSLiYE_oO9)pzxSnb5#YRCy%Lqt9=T= z$FyU=y3U4+;Rk>otA(ynh>2#r;G_GPsb^RM&WFDZ72 zDO1pg+PFoxw6b6IC3zdwc5J#%&OpEJZRMx-^)rVCf*{uI=lYGJC^=B<=jP4kMAiH5 z0LOmK;ipVJG6&e(q<$s#R4;Oa`h!*;EDSP-uMGr|G|1^zBL@h%LGI{Oy(lp4yN5aU zivD>UKUaNNl<*&qo`HBq#ERm9>Aa^OewKqq(a9Vt=d5|427 z34k0>MmV~}S>HXzvA3hGWRZD{y$-btYFQ~@RR5=wp9w~p!?zrQ$Qk8SgJ}#P)J8eq zr~*U5!!iBiE-nUR%;81PnyWj;b-9Ql1&r~=P3l{Qf)h8c|J21V^^Mz_v*zlK+nNDE z84qig!hlXNhp#>$Ob)Oml9$VSg12;7Xp)11nOqK^TpYU`Z8wL^lkBw_AI~{0xMuG# zpX2arIp@e$-{JE0suf?$fYOi&Jr!_!(**p_*tZE|3lj`~Xpi#1JFTg}olU3V7HfHO zxlS{_q`n^I0iV?`6?pf?v+Pu_<%ye}m7%tyK{;74y7n6hI)5Nk}?F#uwhQ!<7Q zL&3ut?G|xhXY3eqW(+fS41l1_$QX7T3f8=!4;J|w!38^poEgIfI|e{dF31?V3aIr*@_Fv?R@Ea*-yz?UC--X}E-OGu2&gqV=e0cAi9T|e)%-N9vLU@j&k>!2& zea1gQp(*5%`96E?=Dg>nHS_wvTe&-!x2-`CIrFwPfKZ#4*2tG!UarW3{y{fy4;F0E z2ujoz4G7AD6y0ekXw9OY?dIUXqU~nhv}Td(8qF~S1Z9z%n#Gy13eXjMLV<8X0mBmt jh}Evx?E*^jU~doO7st=RuM9sIzjFM%>E51-%-R0~76-xb diff --git a/proto/penumbra/penumbra/core/component/shielded_pool/v1/shielded_pool.proto b/proto/penumbra/penumbra/core/component/shielded_pool/v1/shielded_pool.proto index f93427e8e8..d2c9cb55f7 100644 --- a/proto/penumbra/penumbra/core/component/shielded_pool/v1/shielded_pool.proto +++ b/proto/penumbra/penumbra/core/component/shielded_pool/v1/shielded_pool.proto @@ -42,7 +42,7 @@ message FmdMetaParameters { } // How much time users have to transition to new parameters. - uint64 fmd_grace_period_blocks = 1; + uint64 fmd_grace_period_blocks = 1; // The algorithm governing how the parameters change. oneof algorithm { uint32 fixed_precision_bits = 2; @@ -154,6 +154,8 @@ message SpendBody { sct.v1.Nullifier nullifier = 6; // The randomized validating key for the spend authorization signature. crypto.decaf377_rdsa.v1.SpendVerificationKey rk = 4; + // An encryption of the commitment of the input note to the sender's OVK. + bytes encrypted_backref = 7; } message SpendView { message Visible { From e0c55885215de11024584403fbb2cfc7c1962189 Mon Sep 17 00:00:00 2001 From: Erwan Or Date: Fri, 22 Nov 2024 11:45:04 -0500 Subject: [PATCH 2/9] UIP-5: Outbound PFM support (#4940) Implementation of the candidate UIP-5: outbound PFM support (see https://forum.penumbra.zone/t/pre-uip-outbound-packet-forwarding-middleware-support/121) Should be reviewed for correctness and adherence to the spec. Note that this only includes the required protocol changes to allow clients to use the new memo field (a prerequisite for PFM support), and does not implement outbound packet forwarding directly (that is to be done in the client). By @avahowell cherry-picked from https://github.com/penumbra-zone/penumbra/pull/4923 Co-authored-by: Ava Howell (cherry picked from commit 5a66403e91b82aa1234d8dd12d72ab08e5e2f416) --- crates/bin/pcli/src/command/tx.rs | 1 + .../app/tests/common/ibc_tests/relayer.rs | 1 + .../shielded-pool/src/ics20_withdrawal.rs | 9 ++++++++- .../src/gen/penumbra.core.component.ibc.v1.rs | 5 +++++ .../penumbra.core.component.ibc.v1.serde.rs | 18 ++++++++++++++++++ .../proto/src/gen/proto_descriptor.bin.no_lfs | Bin 648288 -> 648603 bytes .../penumbra/core/component/ibc/v1/ibc.proto | 5 +++++ 7 files changed, 38 insertions(+), 1 deletion(-) diff --git a/crates/bin/pcli/src/command/tx.rs b/crates/bin/pcli/src/command/tx.rs index 9289d1fb5c..5f9be82c63 100644 --- a/crates/bin/pcli/src/command/tx.rs +++ b/crates/bin/pcli/src/command/tx.rs @@ -1133,6 +1133,7 @@ impl TxCmd { // TODO: impl From for ChannelId source_channel: ChannelId::from_str(format!("channel-{}", channel).as_ref())?, use_compat_address: *use_compat_address, + ics20_memo: "".to_string(), }; let plan = Planner::new(OsRng) diff --git a/crates/core/app/tests/common/ibc_tests/relayer.rs b/crates/core/app/tests/common/ibc_tests/relayer.rs index 488e68dcca..2998d40b64 100644 --- a/crates/core/app/tests/common/ibc_tests/relayer.rs +++ b/crates/core/app/tests/common/ibc_tests/relayer.rs @@ -1485,6 +1485,7 @@ impl MockRelayer { source_channel: ChannelId::from_str("channel-0")?, // Penumbra <-> Penumbra so false use_compat_address: false, + ics20_memo: "".to_string(), }; // There will need to be `Spend` and `Output` actions // within the transaction in order for it to balance diff --git a/crates/core/component/shielded-pool/src/ics20_withdrawal.rs b/crates/core/component/shielded-pool/src/ics20_withdrawal.rs index c452d5d703..a4881edd3c 100644 --- a/crates/core/component/shielded-pool/src/ics20_withdrawal.rs +++ b/crates/core/component/shielded-pool/src/ics20_withdrawal.rs @@ -41,6 +41,11 @@ pub struct Ics20Withdrawal { // Whether to use a "compat" (bech32, non-m) address for the return address in the withdrawal, // for compatability with chains that expect to be able to parse the return address as bech32. pub use_compat_address: bool, + + // Arbitrary string data to be included in the `memo` field + // of the ICS-20 FungibleTokenPacketData for this withdrawal. + // Commonly used for packet forwarding support, or other protocols that may support usage of the memo field. + pub ics20_memo: String, } #[cfg(feature = "component")] @@ -118,6 +123,7 @@ impl From for pb::Ics20Withdrawal { timeout_time: w.timeout_time, source_channel: w.source_channel.to_string(), use_compat_address: w.use_compat_address, + ics20_memo: w.ics20_memo.to_string(), } } } @@ -148,6 +154,7 @@ impl TryFrom for Ics20Withdrawal { timeout_time: s.timeout_time, source_channel: ChannelId::from_str(&s.source_channel)?, use_compat_address: s.use_compat_address, + ics20_memo: s.ics20_memo, }) } } @@ -164,7 +171,7 @@ impl From for pb::FungibleTokenPacketData { denom: w.denom.to_string(), receiver: w.destination_chain_address, sender: return_address, - memo: "".to_string(), + memo: w.ics20_memo, } } } diff --git a/crates/proto/src/gen/penumbra.core.component.ibc.v1.rs b/crates/proto/src/gen/penumbra.core.component.ibc.v1.rs index 320e259a47..2eb7b4651d 100644 --- a/crates/proto/src/gen/penumbra.core.component.ibc.v1.rs +++ b/crates/proto/src/gen/penumbra.core.component.ibc.v1.rs @@ -73,6 +73,11 @@ pub struct Ics20Withdrawal { /// for compatability with chains that expect to be able to parse the return address as bech32. #[prost(bool, tag = "8")] pub use_compat_address: bool, + /// Arbitrary string data to be included in the `memo` field + /// of the ICS-20 FungibleTokenPacketData for this withdrawal. + /// Commonly used for packet forwarding support, or other protocols that may support usage of the memo field. + #[prost(string, tag = "9")] + pub ics20_memo: ::prost::alloc::string::String, } impl ::prost::Name for Ics20Withdrawal { const NAME: &'static str = "Ics20Withdrawal"; diff --git a/crates/proto/src/gen/penumbra.core.component.ibc.v1.serde.rs b/crates/proto/src/gen/penumbra.core.component.ibc.v1.serde.rs index b4bcbf3624..58fd339e65 100644 --- a/crates/proto/src/gen/penumbra.core.component.ibc.v1.serde.rs +++ b/crates/proto/src/gen/penumbra.core.component.ibc.v1.serde.rs @@ -1057,6 +1057,9 @@ impl serde::Serialize for Ics20Withdrawal { if self.use_compat_address { len += 1; } + if !self.ics20_memo.is_empty() { + len += 1; + } let mut struct_ser = serializer.serialize_struct("penumbra.core.component.ibc.v1.Ics20Withdrawal", len)?; if let Some(v) = self.amount.as_ref() { struct_ser.serialize_field("amount", v)?; @@ -1083,6 +1086,9 @@ impl serde::Serialize for Ics20Withdrawal { if self.use_compat_address { struct_ser.serialize_field("useCompatAddress", &self.use_compat_address)?; } + if !self.ics20_memo.is_empty() { + struct_ser.serialize_field("ics20Memo", &self.ics20_memo)?; + } struct_ser.end() } } @@ -1107,6 +1113,8 @@ impl<'de> serde::Deserialize<'de> for Ics20Withdrawal { "sourceChannel", "use_compat_address", "useCompatAddress", + "ics20_memo", + "ics20Memo", ]; #[allow(clippy::enum_variant_names)] @@ -1119,6 +1127,7 @@ impl<'de> serde::Deserialize<'de> for Ics20Withdrawal { TimeoutTime, SourceChannel, UseCompatAddress, + Ics20Memo, __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { @@ -1149,6 +1158,7 @@ impl<'de> serde::Deserialize<'de> for Ics20Withdrawal { "timeoutTime" | "timeout_time" => Ok(GeneratedField::TimeoutTime), "sourceChannel" | "source_channel" => Ok(GeneratedField::SourceChannel), "useCompatAddress" | "use_compat_address" => Ok(GeneratedField::UseCompatAddress), + "ics20Memo" | "ics20_memo" => Ok(GeneratedField::Ics20Memo), _ => Ok(GeneratedField::__SkipField__), } } @@ -1176,6 +1186,7 @@ impl<'de> serde::Deserialize<'de> for Ics20Withdrawal { let mut timeout_time__ = None; let mut source_channel__ = None; let mut use_compat_address__ = None; + let mut ics20_memo__ = None; while let Some(k) = map_.next_key()? { match k { GeneratedField::Amount => { @@ -1228,6 +1239,12 @@ impl<'de> serde::Deserialize<'de> for Ics20Withdrawal { } use_compat_address__ = Some(map_.next_value()?); } + GeneratedField::Ics20Memo => { + if ics20_memo__.is_some() { + return Err(serde::de::Error::duplicate_field("ics20Memo")); + } + ics20_memo__ = Some(map_.next_value()?); + } GeneratedField::__SkipField__ => { let _ = map_.next_value::()?; } @@ -1242,6 +1259,7 @@ impl<'de> serde::Deserialize<'de> for Ics20Withdrawal { timeout_time: timeout_time__.unwrap_or_default(), source_channel: source_channel__.unwrap_or_default(), use_compat_address: use_compat_address__.unwrap_or_default(), + ics20_memo: ics20_memo__.unwrap_or_default(), }) } } diff --git a/crates/proto/src/gen/proto_descriptor.bin.no_lfs b/crates/proto/src/gen/proto_descriptor.bin.no_lfs index d0511fd1ddedf5cf99077bb3b1f61779d626627a..047ad2e205b0d73bdc1dcd235f2640ed77b5df5a 100644 GIT binary patch delta 1307 zcmX|A&uZ)m*h|SgQ(xz}_19WK2+9ehx! zUtL}bXCKkRXwUNz>kZ{`FWB$+&aub9pp`m*N~c?PqSFK93#0qpA*% z4i7y)_)a40p%ys47kF*2KZK(b$bo|nBNBX^uA9_XJw+{D8*zSyr_^{UHJ_Cr6UaWB zAPSV9m1-oP1HStXu1?!F_cor8#i6Q6;nbZ;h*sa8NKp?KzBFVvSC70(_$Z-G2 zt%ijyx;|PZxtL9%#ZT0xt zfIzIk#d2(kwLV6~n= zFmK3gHrsgBn3Y!gjyVN@6t1WD0=3})9ervJBZ)rZZ&yZlr+l@3PG%wI ztMzkASGYvWTrk(zH;d;~%VF(%niCvk7dtTvJFeR8hL4+6&UDE)+5j;yx)a3&!LIwu Wt0u)^I4PVoP6o#sziQh5{rVMPR>Ri- delta 1017 zcmX|<&uUXa6vpqJGxy&_G)|k8rcF%?No+*4f*@@YX=0*DX-d-?Z$gBUzJ$Ao7F@Uy z1n zTrEGVagM@G+pMB9P_Cr5p+mvh&K8pzc_fyxC8ghM^PZa3=!n!Eprvk|b*7NA{ z85OS%@Jq*7u0WB)Xd$FQC1kEn;SP+@i6fF6b9C)TN*TP$=M&FJ6`Wu$=l1Y58M soKWpfqIW|o Date: Fri, 22 Nov 2024 12:57:57 -0800 Subject: [PATCH 3/9] pd: implement no op migration to v0.81.0 (#4942) This implements a migration to version 0.81.0, which doesn't require any logic. This will break PD, but targets the new release branch. The APP_VERSION has been incremented to 9, in order to satisfy the safeguard version checks from UIP-6. --------- Co-authored-by: Conor Schaefer (cherry picked from commit 7e0825b48d5d0b87317ca93a8d5f41e0b34f45fd) --- COMPATIBILITY.md | 1 + crates/bin/pd/src/main.rs | 4 +- crates/bin/pd/src/migrate.rs | 7 ++ crates/bin/pd/src/migrate/mainnet2.rs | 103 +++++++++++++++++++ crates/core/app/src/app_version.rs | 2 +- crates/core/app/src/app_version/component.rs | 1 + 6 files changed, 115 insertions(+), 3 deletions(-) create mode 100644 crates/bin/pd/src/migrate/mainnet2.rs diff --git a/COMPATIBILITY.md b/COMPATIBILITY.md index 76436ebaac..345b75ab60 100644 --- a/COMPATIBILITY.md +++ b/COMPATIBILITY.md @@ -9,3 +9,4 @@ | 7 (Testnet 78) | v0.78.x | v0.37.5 | v1 | | 7 (Mainnet) | v0.79.x | v0.37.x | v1 | | 8 (Mainnet) | v0.80.x | v0.37.x | v1 | +| 9 (Mainnet) | v0.81.x | v0.37.x | v1 | diff --git a/crates/bin/pd/src/main.rs b/crates/bin/pd/src/main.rs index 35815c7d5a..59bca2cdbc 100644 --- a/crates/bin/pd/src/main.rs +++ b/crates/bin/pd/src/main.rs @@ -12,7 +12,7 @@ use cnidarium::Storage; use metrics_exporter_prometheus::PrometheusBuilder; use pd::{ cli::{NetworkCommand, Opt, RootCommand}, - migrate::Migration::{Mainnet1, ReadyToStart}, + migrate::Migration::{Mainnet2, ReadyToStart}, network::{ config::{get_network_dir, parse_tm_address, url_has_necessary_parts}, generate::NetworkConfig, @@ -473,7 +473,7 @@ async fn main() -> anyhow::Result<()> { let genesis_start = pd::migrate::last_block_timestamp(pd_home.clone()).await?; tracing::info!(?genesis_start, "last block timestamp"); - Mainnet1 + Mainnet2 .migrate(pd_home.clone(), comet_home, Some(genesis_start), force) .instrument(pd_migrate_span) .await diff --git a/crates/bin/pd/src/migrate.rs b/crates/bin/pd/src/migrate.rs index ad6e612a9e..2beaaed7e3 100644 --- a/crates/bin/pd/src/migrate.rs +++ b/crates/bin/pd/src/migrate.rs @@ -5,6 +5,7 @@ //! This module declares how local `pd` state should be altered, if at all, //! in order to be compatible with the network post-chain-upgrade. mod mainnet1; +mod mainnet2; mod reset_halt_bit; mod simple; mod testnet72; @@ -56,6 +57,9 @@ pub enum Migration { /// Mainnet-1 migration: /// - Restore IBC packet commitments for improperly handled withdrawal attempts Mainnet1, + /// Mainnet-2 migration: + /// - no-op + Mainnet2, } impl Migration { @@ -94,6 +98,9 @@ impl Migration { Migration::Mainnet1 => { mainnet1::migrate(storage, pd_home.clone(), genesis_start).await?; } + Migration::Mainnet2 => { + mainnet2::migrate(storage, pd_home.clone(), genesis_start).await?; + } // We keep historical migrations around for now, this will help inform an abstracted // design. Feel free to remove it if it's causing you trouble. _ => unimplemented!("the specified migration is unimplemented"), diff --git a/crates/bin/pd/src/migrate/mainnet2.rs b/crates/bin/pd/src/migrate/mainnet2.rs new file mode 100644 index 0000000000..32a4c4d364 --- /dev/null +++ b/crates/bin/pd/src/migrate/mainnet2.rs @@ -0,0 +1,103 @@ +//! Migration for shipping consensus-breaking IBC changes, fixing +//! how withdrawals from Penumbra to Noble are handled, and ensures that IBC +//! error messages from counterparty chains are processed. +use cnidarium::{StateDelta, Storage}; +use jmt::RootHash; +use penumbra_app::app::StateReadExt as _; +use penumbra_app::app_version::migrate_app_version; +use penumbra_governance::StateWriteExt; +use penumbra_sct::component::clock::EpochManager; +use penumbra_sct::component::clock::EpochRead; +use std::path::PathBuf; +use tracing::instrument; + +use crate::network::generate::NetworkConfig; + +/// Run the full migration, emitting a new genesis event, representing historical state. +/// +/// This will have the effect of reinserting packets which had acknowledgements containing +/// errors, and erroneously removed from state, as if the acknowledgements had contained successes. +#[instrument] +pub async fn migrate( + storage: Storage, + pd_home: PathBuf, + genesis_start: Option, +) -> anyhow::Result<()> { + // Setup: + let initial_state = storage.latest_snapshot(); + let chain_id = initial_state.get_chain_id().await?; + let root_hash = initial_state + .root_hash() + .await + .expect("chain state has a root hash"); + // We obtain the pre-upgrade hash solely to log it as a result. + let pre_upgrade_root_hash: RootHash = root_hash.into(); + let pre_upgrade_height = initial_state + .get_block_height() + .await + .expect("chain state has a block height"); + let post_upgrade_height = pre_upgrade_height.wrapping_add(1); + + let mut delta = StateDelta::new(initial_state); + let (migration_duration, post_upgrade_root_hash) = { + let start_time = std::time::SystemTime::now(); + + migrate_app_version(&mut delta, 9).await?; + + // Reset the application height and halt flag. + delta.ready_to_start(); + delta.put_block_height(0u64); + + // Finally, commit the changes to the chain state. + let post_upgrade_root_hash = storage.commit_in_place(delta).await?; + tracing::info!(?post_upgrade_root_hash, "post-migration root hash"); + + ( + start_time.elapsed().expect("start is set"), + post_upgrade_root_hash, + ) + }; + storage.release().await; + + // The migration is complete, now we need to generate a genesis file. To do this, we need + // to lookup a validator view from the chain, and specify the post-upgrade app hash and + // initial height. + let app_state = penumbra_app::genesis::Content { + chain_id, + ..Default::default() + }; + let mut genesis = NetworkConfig::make_genesis(app_state.clone()).expect("can make genesis"); + genesis.app_hash = post_upgrade_root_hash + .0 + .to_vec() + .try_into() + .expect("infallible conversion"); + + genesis.initial_height = post_upgrade_height as i64; + genesis.genesis_time = genesis_start.unwrap_or_else(|| { + let now = tendermint::time::Time::now(); + tracing::info!(%now, "no genesis time provided, detecting a testing setup"); + now + }); + let checkpoint = post_upgrade_root_hash.0.to_vec(); + let genesis = NetworkConfig::make_checkpoint(genesis, Some(checkpoint)); + let genesis_json = serde_json::to_string(&genesis).expect("can serialize genesis"); + tracing::info!("genesis: {}", genesis_json); + let genesis_path = pd_home.join("genesis.json"); + std::fs::write(genesis_path, genesis_json).expect("can write genesis"); + + let validator_state_path = pd_home.join("priv_validator_state.json"); + let fresh_validator_state = crate::network::generate::NetworkValidator::initial_state(); + std::fs::write(validator_state_path, fresh_validator_state).expect("can write validator state"); + + tracing::info!( + pre_upgrade_height, + post_upgrade_height, + ?pre_upgrade_root_hash, + ?post_upgrade_root_hash, + duration = migration_duration.as_secs(), + "successful migration!" + ); + + Ok(()) +} diff --git a/crates/core/app/src/app_version.rs b/crates/core/app/src/app_version.rs index 276d64b471..e45acf17ab 100644 --- a/crates/core/app/src/app_version.rs +++ b/crates/core/app/src/app_version.rs @@ -1,6 +1,6 @@ /// Representation of the Penumbra application version. Notably, this is distinct /// from the crate version(s). This number should only ever be incremented. -pub const APP_VERSION: u64 = 8; +pub const APP_VERSION: u64 = 9; cfg_if::cfg_if! { if #[cfg(feature="component")] { diff --git a/crates/core/app/src/app_version/component.rs b/crates/core/app/src/app_version/component.rs index ff38395027..891ee61882 100644 --- a/crates/core/app/src/app_version/component.rs +++ b/crates/core/app/src/app_version/component.rs @@ -16,6 +16,7 @@ fn version_to_software_version(version: u64) -> &'static str { 6 => "v0.77.x", 7 => "v0.79.x", 8 => "v0.80.x", + 9 => "v0.81.x", _ => "unknown", } } From 8ae9669ebb72f99cff77417fefc410c76126564e Mon Sep 17 00:00:00 2001 From: Henry de Valence Date: Fri, 13 Dec 2024 14:23:08 -0800 Subject: [PATCH 4/9] UIP-8: Transparent Addresses (#4950) This commit experiments with a "truncated" address format, which aims at maximizing compatibility with other chains. This is kind of a janky hack, but may be worth doing anyways -- and could allow users to work around current and future Bech32m encoding compatibility issues (though our goal should be to ensure compatibility). - Uses Bech32, like other Cosmos chains - Fits in 32 bytes -- looks exactly like a cosmos except for a different Bech32 HRP - As an alternate encoding, requires no changes to other parts of Penumbra, can be parsed directly into an `Address` - A third address format adds UX complexity - The truncated address points at a random account number - Only one truncated address per IVK (reuse of the address causes linkability) - Not compatible with FMD (clues created with the truncated address are not detectable) A Penumbra address has three components: the diversifier `d`, the transmission key `pk_d`, and the clue key `ck_d`. To truncate the address to a 32-byte encoding: - The diversifier is required to be `[0; 16]`, omitted from the encoding, and filled in with the hardcoded value during decoding; - The transmission key is encoded as 32 bytes; - The clue key is stripped, and filled in on the decoding side with the identity element. The fixed diversifier means that there's only one per IVK, and also that the truncated address points at a random sub-account: the fixed value `[0u8; 16]` is decrypted with the diversifier key to a random address index. Stripping the clue key and filling it in with a dummy value means that generated clues are not detectable, but should not have other effects on the protocol, and since FMD is currently unused this seems fine. To allow the use of truncated addresses in IBC transfers, the `Ics20Withdrawal` action would need to be changed to have a `use_truncated_address` parameter. No issue - starting point for forum discussion - [ ] ~~I have added guiding text to explain how a reviewer should test these changes.~~ N/A - starting point for discussion - [x] If this code contains consensus-breaking changes, I have added the "consensus-breaking" label. --------- Co-authored-by: redshiftzero (cherry picked from commit ff94498554c55996b435140586c4a30cce362795) --- crates/bin/pcli/src/command/tx.rs | 10 +- crates/bin/pcli/src/command/view/address.rs | 13 +- .../app/tests/common/ibc_tests/relayer.rs | 1 + .../shielded-pool/src/ics20_withdrawal.rs | 6 + .../core/component/shielded-pool/src/note.rs | 11 ++ crates/core/keys/src/address.rs | 47 ++++- crates/core/keys/src/keys/diversifier.rs | 20 ++ crates/core/keys/src/keys/ivk.rs | 63 +++++- ...nerate_transaction_signing_test_vectors.rs | 2 + .../signing_test_vectors/effect_hash_0.txt | 2 +- .../signing_test_vectors/effect_hash_1.txt | 2 +- .../signing_test_vectors/effect_hash_10.txt | 2 +- .../signing_test_vectors/effect_hash_11.txt | 2 +- .../signing_test_vectors/effect_hash_12.txt | 2 +- .../signing_test_vectors/effect_hash_13.txt | 2 +- .../signing_test_vectors/effect_hash_14.txt | 2 +- .../signing_test_vectors/effect_hash_15.txt | 2 +- .../signing_test_vectors/effect_hash_16.txt | 2 +- .../signing_test_vectors/effect_hash_17.txt | 2 +- .../signing_test_vectors/effect_hash_18.txt | 2 +- .../signing_test_vectors/effect_hash_19.txt | 2 +- .../signing_test_vectors/effect_hash_2.txt | 2 +- .../signing_test_vectors/effect_hash_20.txt | 2 +- .../signing_test_vectors/effect_hash_21.txt | 2 +- .../signing_test_vectors/effect_hash_22.txt | 2 +- .../signing_test_vectors/effect_hash_23.txt | 2 +- .../signing_test_vectors/effect_hash_24.txt | 2 +- .../signing_test_vectors/effect_hash_25.txt | 2 +- .../signing_test_vectors/effect_hash_26.txt | 2 +- .../signing_test_vectors/effect_hash_27.txt | 2 +- .../signing_test_vectors/effect_hash_28.txt | 2 +- .../signing_test_vectors/effect_hash_29.txt | 2 +- .../signing_test_vectors/effect_hash_3.txt | 2 +- .../signing_test_vectors/effect_hash_30.txt | 2 +- .../signing_test_vectors/effect_hash_31.txt | 2 +- .../signing_test_vectors/effect_hash_32.txt | 2 +- .../signing_test_vectors/effect_hash_33.txt | 2 +- .../signing_test_vectors/effect_hash_34.txt | 2 +- .../signing_test_vectors/effect_hash_35.txt | 2 +- .../signing_test_vectors/effect_hash_36.txt | 2 +- .../signing_test_vectors/effect_hash_37.txt | 2 +- .../signing_test_vectors/effect_hash_38.txt | 2 +- .../signing_test_vectors/effect_hash_39.txt | 2 +- .../signing_test_vectors/effect_hash_4.txt | 2 +- .../signing_test_vectors/effect_hash_40.txt | 2 +- .../signing_test_vectors/effect_hash_41.txt | 2 +- .../signing_test_vectors/effect_hash_42.txt | 2 +- .../signing_test_vectors/effect_hash_43.txt | 2 +- .../signing_test_vectors/effect_hash_44.txt | 2 +- .../signing_test_vectors/effect_hash_45.txt | 2 +- .../signing_test_vectors/effect_hash_46.txt | 2 +- .../signing_test_vectors/effect_hash_47.txt | 2 +- .../signing_test_vectors/effect_hash_48.txt | 2 +- .../signing_test_vectors/effect_hash_49.txt | 2 +- .../signing_test_vectors/effect_hash_5.txt | 2 +- .../signing_test_vectors/effect_hash_50.txt | 2 +- .../signing_test_vectors/effect_hash_51.txt | 2 +- .../signing_test_vectors/effect_hash_52.txt | 2 +- .../signing_test_vectors/effect_hash_53.txt | 2 +- .../signing_test_vectors/effect_hash_54.txt | 2 +- .../signing_test_vectors/effect_hash_55.txt | 2 +- .../signing_test_vectors/effect_hash_56.txt | 2 +- .../signing_test_vectors/effect_hash_57.txt | 2 +- .../signing_test_vectors/effect_hash_58.txt | 2 +- .../signing_test_vectors/effect_hash_59.txt | 2 +- .../signing_test_vectors/effect_hash_6.txt | 2 +- .../signing_test_vectors/effect_hash_60.txt | 2 +- .../signing_test_vectors/effect_hash_61.txt | 2 +- .../signing_test_vectors/effect_hash_62.txt | 2 +- .../signing_test_vectors/effect_hash_63.txt | 2 +- .../signing_test_vectors/effect_hash_64.txt | 2 +- .../signing_test_vectors/effect_hash_65.txt | 2 +- .../signing_test_vectors/effect_hash_66.txt | 2 +- .../signing_test_vectors/effect_hash_67.txt | 2 +- .../signing_test_vectors/effect_hash_68.txt | 2 +- .../signing_test_vectors/effect_hash_69.txt | 2 +- .../signing_test_vectors/effect_hash_7.txt | 2 +- .../signing_test_vectors/effect_hash_70.txt | 2 +- .../signing_test_vectors/effect_hash_71.txt | 2 +- .../signing_test_vectors/effect_hash_72.txt | 2 +- .../signing_test_vectors/effect_hash_73.txt | 2 +- .../signing_test_vectors/effect_hash_74.txt | 2 +- .../signing_test_vectors/effect_hash_75.txt | 2 +- .../signing_test_vectors/effect_hash_76.txt | 2 +- .../signing_test_vectors/effect_hash_77.txt | 2 +- .../signing_test_vectors/effect_hash_78.txt | 2 +- .../signing_test_vectors/effect_hash_79.txt | 2 +- .../signing_test_vectors/effect_hash_8.txt | 2 +- .../signing_test_vectors/effect_hash_80.txt | 2 +- .../signing_test_vectors/effect_hash_81.txt | 2 +- .../signing_test_vectors/effect_hash_82.txt | 2 +- .../signing_test_vectors/effect_hash_83.txt | 2 +- .../signing_test_vectors/effect_hash_84.txt | 2 +- .../signing_test_vectors/effect_hash_85.txt | 2 +- .../signing_test_vectors/effect_hash_86.txt | 2 +- .../signing_test_vectors/effect_hash_87.txt | 2 +- .../signing_test_vectors/effect_hash_88.txt | 2 +- .../signing_test_vectors/effect_hash_89.txt | 2 +- .../signing_test_vectors/effect_hash_9.txt | 2 +- .../signing_test_vectors/effect_hash_90.txt | 2 +- .../signing_test_vectors/effect_hash_91.txt | 2 +- .../signing_test_vectors/effect_hash_92.txt | 2 +- .../signing_test_vectors/effect_hash_93.txt | 2 +- .../signing_test_vectors/effect_hash_94.txt | 2 +- .../signing_test_vectors/effect_hash_95.txt | 2 +- .../signing_test_vectors/effect_hash_96.txt | 2 +- .../signing_test_vectors/effect_hash_97.txt | 2 +- .../signing_test_vectors/effect_hash_98.txt | 2 +- .../signing_test_vectors/effect_hash_99.txt | 2 +- .../transaction_plan_0.json | 103 +++------- .../transaction_plan_0.proto | Bin 950 -> 286 bytes .../transaction_plan_1.json | 98 ++++++---- .../transaction_plan_1.proto | Bin 868 -> 760 bytes .../transaction_plan_10.json | 110 +++++++---- .../transaction_plan_10.proto | Bin 539 -> 545 bytes .../transaction_plan_11.json | 119 +++++------ .../transaction_plan_11.proto | Bin 920 -> 765 bytes .../transaction_plan_12.json | 75 ++++--- .../transaction_plan_12.proto | Bin 702 -> 643 bytes .../transaction_plan_13.json | 59 +++++- .../transaction_plan_13.proto | Bin 151 -> 546 bytes .../transaction_plan_14.json | 102 ++++++++-- .../transaction_plan_14.proto | Bin 157 -> 1184 bytes .../transaction_plan_15.json | 116 +++++------ .../transaction_plan_15.proto | Bin 595 -> 300 bytes .../transaction_plan_16.json | 63 ++---- .../transaction_plan_16.proto | Bin 1064 -> 363 bytes .../transaction_plan_17.json | 72 +++++-- .../transaction_plan_17.proto | Bin 591 -> 570 bytes .../transaction_plan_18.json | 140 ++++++------- .../transaction_plan_18.proto | Bin 970 -> 1018 bytes .../transaction_plan_19.json | 117 +++++++++-- .../transaction_plan_19.proto | Bin 570 -> 1036 bytes .../transaction_plan_2.json | 77 ++++---- .../transaction_plan_2.proto | Bin 482 -> 608 bytes .../transaction_plan_20.json | 54 +++-- .../transaction_plan_20.proto | 22 ++- .../transaction_plan_21.json | 122 +++++------- .../transaction_plan_21.proto | Bin 1111 -> 864 bytes .../transaction_plan_22.json | 90 +++++---- .../transaction_plan_22.proto | Bin 406 -> 760 bytes .../transaction_plan_23.json | 85 ++------ .../transaction_plan_23.proto | Bin 960 -> 218 bytes .../transaction_plan_24.json | 81 +++----- .../transaction_plan_24.proto | Bin 556 -> 241 bytes .../transaction_plan_25.json | 90 ++++----- .../transaction_plan_25.proto | Bin 977 -> 546 bytes .../transaction_plan_26.json | 52 +++-- .../transaction_plan_26.proto | Bin 275 -> 326 bytes .../transaction_plan_27.json | 85 ++++---- .../transaction_plan_27.proto | Bin 857 -> 405 bytes .../transaction_plan_28.json | 87 +++------ .../transaction_plan_28.proto | Bin 1070 -> 467 bytes .../transaction_plan_29.json | 71 ++++--- .../transaction_plan_29.proto | Bin 506 -> 872 bytes .../transaction_plan_3.json | 32 +-- .../transaction_plan_3.proto | Bin 330 -> 222 bytes .../transaction_plan_30.json | 103 ++++++++-- .../transaction_plan_30.proto | Bin 251 -> 843 bytes .../transaction_plan_31.json | 40 ++-- .../transaction_plan_31.proto | Bin 220 -> 390 bytes .../transaction_plan_32.json | 83 +++++--- .../transaction_plan_32.proto | Bin 312 -> 819 bytes .../transaction_plan_33.json | 28 ++- .../transaction_plan_33.proto | Bin 64 -> 186 bytes .../transaction_plan_34.json | 53 ++--- .../transaction_plan_34.proto | Bin 652 -> 389 bytes .../transaction_plan_35.json | 99 ++++++---- .../transaction_plan_35.proto | Bin 697 -> 634 bytes .../transaction_plan_36.json | 59 +++--- .../transaction_plan_36.proto | Bin 802 -> 509 bytes .../transaction_plan_37.json | 98 ++++++++-- .../transaction_plan_37.proto | Bin 527 -> 896 bytes .../transaction_plan_38.json | 128 +++--------- .../transaction_plan_38.proto | Bin 1123 -> 517 bytes .../transaction_plan_39.json | 25 +-- .../transaction_plan_39.proto | Bin 196 -> 244 bytes .../transaction_plan_4.json | 68 +++---- .../transaction_plan_4.proto | Bin 509 -> 320 bytes .../transaction_plan_40.json | 107 ++++------ .../transaction_plan_40.proto | Bin 672 -> 520 bytes .../transaction_plan_41.json | 94 +++++---- .../transaction_plan_41.proto | Bin 447 -> 855 bytes .../transaction_plan_42.json | 115 +++++++---- .../transaction_plan_42.proto | Bin 431 -> 704 bytes .../transaction_plan_43.json | 75 +++++-- .../transaction_plan_43.proto | Bin 331 -> 487 bytes .../transaction_plan_44.json | 146 ++++++++++++-- .../transaction_plan_44.proto | Bin 318 -> 1142 bytes .../transaction_plan_45.json | 46 ++--- .../transaction_plan_45.proto | 18 +- .../transaction_plan_46.json | 67 +++---- .../transaction_plan_46.proto | Bin 515 -> 493 bytes .../transaction_plan_47.json | 67 +++---- .../transaction_plan_47.proto | Bin 294 -> 381 bytes .../transaction_plan_48.json | 70 ++++--- .../transaction_plan_48.proto | Bin 286 -> 377 bytes .../transaction_plan_49.json | 44 ++--- .../transaction_plan_49.proto | Bin 474 -> 237 bytes .../transaction_plan_5.json | 80 ++++---- .../transaction_plan_5.proto | Bin 776 -> 395 bytes .../transaction_plan_50.json | 81 ++------ .../transaction_plan_50.proto | Bin 1004 -> 618 bytes .../transaction_plan_51.json | 101 +++++----- .../transaction_plan_51.proto | Bin 560 -> 737 bytes .../transaction_plan_52.json | 92 +++++---- .../transaction_plan_52.proto | Bin 549 -> 907 bytes .../transaction_plan_53.json | 119 +++++------ .../transaction_plan_53.proto | Bin 771 -> 397 bytes .../transaction_plan_54.json | 79 ++++---- .../transaction_plan_54.proto | Bin 429 -> 533 bytes .../transaction_plan_55.json | 95 +++------ .../transaction_plan_55.proto | Bin 949 -> 375 bytes .../transaction_plan_56.json | 108 ++++++---- .../transaction_plan_56.proto | Bin 652 -> 832 bytes .../transaction_plan_57.json | 91 +++++---- .../transaction_plan_57.proto | Bin 483 -> 435 bytes .../transaction_plan_58.json | 64 ++++-- .../transaction_plan_58.proto | Bin 398 -> 600 bytes .../transaction_plan_59.json | 116 +++++++---- .../transaction_plan_59.proto | Bin 663 -> 709 bytes .../transaction_plan_6.json | 153 ++++++--------- .../transaction_plan_6.proto | Bin 737 -> 535 bytes .../transaction_plan_60.json | 122 +++++------- .../transaction_plan_60.proto | Bin 1259 -> 641 bytes .../transaction_plan_61.json | 102 +++++----- .../transaction_plan_61.proto | Bin 498 -> 988 bytes .../transaction_plan_62.json | 140 ++++++++++--- .../transaction_plan_62.proto | Bin 277 -> 976 bytes .../transaction_plan_63.json | 81 ++++---- .../transaction_plan_63.proto | Bin 718 -> 398 bytes .../transaction_plan_64.json | 73 ++++--- .../transaction_plan_64.proto | Bin 438 -> 471 bytes .../transaction_plan_65.json | 60 +++--- .../transaction_plan_65.proto | Bin 192 -> 471 bytes .../transaction_plan_66.json | 81 +++----- .../transaction_plan_66.proto | Bin 753 -> 447 bytes .../transaction_plan_67.json | 71 ++----- .../transaction_plan_67.proto | Bin 943 -> 312 bytes .../transaction_plan_68.json | 90 ++++++--- .../transaction_plan_68.proto | Bin 1144 -> 670 bytes .../transaction_plan_69.json | 130 ++++++------- .../transaction_plan_69.proto | Bin 966 -> 845 bytes .../transaction_plan_7.json | 139 ++++++------- .../transaction_plan_7.proto | Bin 810 -> 565 bytes .../transaction_plan_70.json | 71 +++++-- .../transaction_plan_70.proto | Bin 319 -> 325 bytes .../transaction_plan_71.json | 71 +++++-- .../transaction_plan_71.proto | Bin 192 -> 807 bytes .../transaction_plan_72.json | 74 ++++--- .../transaction_plan_72.proto | Bin 483 -> 711 bytes .../transaction_plan_73.json | 101 ++++------ .../transaction_plan_73.proto | Bin 509 -> 282 bytes .../transaction_plan_74.json | 87 ++++----- .../transaction_plan_74.proto | Bin 709 -> 693 bytes .../transaction_plan_75.json | 71 ++++--- .../transaction_plan_75.proto | Bin 323 -> 505 bytes .../transaction_plan_76.json | 113 +++++------ .../transaction_plan_76.proto | Bin 680 -> 503 bytes .../transaction_plan_77.json | 66 +++---- .../transaction_plan_77.proto | Bin 788 -> 632 bytes .../transaction_plan_78.json | 68 +++---- .../transaction_plan_78.proto | Bin 401 -> 274 bytes .../transaction_plan_79.json | 53 ++--- .../transaction_plan_79.proto | Bin 572 -> 277 bytes .../transaction_plan_8.json | 71 +++---- .../transaction_plan_8.proto | Bin 758 -> 603 bytes .../transaction_plan_80.json | 111 ++++++----- .../transaction_plan_80.proto | Bin 820 -> 674 bytes .../transaction_plan_81.json | 113 +++++------ .../transaction_plan_81.proto | Bin 610 -> 379 bytes .../transaction_plan_82.json | 149 +++----------- .../transaction_plan_82.proto | Bin 994 -> 240 bytes .../transaction_plan_83.json | 51 ++--- .../transaction_plan_83.proto | Bin 425 -> 304 bytes .../transaction_plan_84.json | 115 ++++++----- .../transaction_plan_84.proto | Bin 527 -> 553 bytes .../transaction_plan_85.json | 93 +++------ .../transaction_plan_85.proto | Bin 702 -> 792 bytes .../transaction_plan_86.json | 59 +++--- .../transaction_plan_86.proto | Bin 775 -> 313 bytes .../transaction_plan_87.json | 36 ++-- .../transaction_plan_87.proto | Bin 343 -> 283 bytes .../transaction_plan_88.json | 43 ++-- .../transaction_plan_88.proto | Bin 180 -> 325 bytes .../transaction_plan_89.json | 62 ++++-- .../transaction_plan_89.proto | Bin 245 -> 397 bytes .../transaction_plan_9.json | 56 +++--- .../transaction_plan_9.proto | Bin 581 -> 433 bytes .../transaction_plan_90.json | 72 +++---- .../transaction_plan_90.proto | Bin 784 -> 435 bytes .../transaction_plan_91.json | 52 +++-- .../transaction_plan_91.proto | Bin 244 -> 444 bytes .../transaction_plan_92.json | 88 ++------- .../transaction_plan_92.proto | Bin 664 -> 146 bytes .../transaction_plan_93.json | 88 ++++++--- .../transaction_plan_93.proto | Bin 260 -> 827 bytes .../transaction_plan_94.json | 101 ++++------ .../transaction_plan_94.proto | Bin 1139 -> 896 bytes .../transaction_plan_95.json | 180 +++++++++-------- .../transaction_plan_95.proto | Bin 817 -> 1193 bytes .../transaction_plan_96.json | 150 ++++++++++---- .../transaction_plan_96.proto | Bin 711 -> 1037 bytes .../transaction_plan_97.json | 91 +++------ .../transaction_plan_97.proto | Bin 710 -> 339 bytes .../transaction_plan_98.json | 115 +++++++---- .../transaction_plan_98.proto | Bin 491 -> 908 bytes .../transaction_plan_99.json | 31 +-- .../transaction_plan_99.proto | Bin 390 -> 447 bytes .../src/gen/penumbra.core.component.ibc.v1.rs | 4 + .../penumbra.core.component.ibc.v1.serde.rs | 18 ++ crates/proto/src/gen/penumbra.view.v1.rs | 112 +++++++++++ .../proto/src/gen/penumbra.view.v1.serde.rs | 184 ++++++++++++++++++ .../proto/src/gen/proto_descriptor.bin.no_lfs | Bin 648603 -> 649637 bytes crates/view/src/service.rs | 19 ++ .../penumbra/core/component/ibc/v1/ibc.proto | 5 +- proto/penumbra/penumbra/view/v1/view.proto | 15 ++ 317 files changed, 5104 insertions(+), 4351 deletions(-) diff --git a/crates/bin/pcli/src/command/tx.rs b/crates/bin/pcli/src/command/tx.rs index 5f9be82c63..063ffc36b3 100644 --- a/crates/bin/pcli/src/command/tx.rs +++ b/crates/bin/pcli/src/command/tx.rs @@ -264,10 +264,11 @@ pub enum TxCmd { /// The selected fee tier to multiply the fee amount by. #[clap(short, long, default_value_t)] fee_tier: FeeTier, - /// Whether to use a Bech32(non-m) address for the withdrawal. + /// Whether to use a transparent address (bech32, 32-byte) for + /// the return address in the withdrawal. /// Required for some chains for a successful acknowledgement. #[clap(long)] - use_compat_address: bool, + use_transparent_address: bool, }, #[clap(display_order = 970)] /// Register a Noble forwarding account. @@ -1018,7 +1019,7 @@ impl TxCmd { channel, source, fee_tier, - use_compat_address, + use_transparent_address, } => { let destination_chain_address = to; @@ -1132,8 +1133,9 @@ impl TxCmd { return_address: ephemeral_return_address, // TODO: impl From for ChannelId source_channel: ChannelId::from_str(format!("channel-{}", channel).as_ref())?, - use_compat_address: *use_compat_address, + use_compat_address: false, ics20_memo: "".to_string(), + use_transparent_address: *use_transparent_address, }; let plan = Planner::new(OsRng) diff --git a/crates/bin/pcli/src/command/view/address.rs b/crates/bin/pcli/src/command/view/address.rs index 587b896a4c..2c724ed870 100644 --- a/crates/bin/pcli/src/command/view/address.rs +++ b/crates/bin/pcli/src/command/view/address.rs @@ -16,9 +16,9 @@ pub struct AddressCmd { /// Output in base64 format, instead of the default bech32. #[clap(long)] base64: bool, - /// Use compat (bech32, not bech32m) address encoding, for compatibility with some IBC chains. + /// Use transparent (bech32, 32-byte) address encoding, for compatibility with some IBC chains. #[clap(long)] - compat: bool, + transparent: bool, /// Print the current FVK #[clap(long)] fvk: bool, @@ -49,8 +49,13 @@ impl AddressCmd { "{}", base64::engine::general_purpose::STANDARD.encode(address.to_vec()), ); - } else if self.compat { - println!("{}", address.compat_encoding()); + } else if self.transparent { + if index != 0 { + return Err(anyhow::anyhow!( + "warning: index must be 0 to use transparent address encoding" + )); + } + println!("{}", fvk.incoming().transparent_address()); } else { if self.fvk { eprintln!("🔥 CAUTION: POSSESSION OF THE FOLLOWING FULL VIEWING KEY WILL"); diff --git a/crates/core/app/tests/common/ibc_tests/relayer.rs b/crates/core/app/tests/common/ibc_tests/relayer.rs index 2998d40b64..4b76f6d0d3 100644 --- a/crates/core/app/tests/common/ibc_tests/relayer.rs +++ b/crates/core/app/tests/common/ibc_tests/relayer.rs @@ -1485,6 +1485,7 @@ impl MockRelayer { source_channel: ChannelId::from_str("channel-0")?, // Penumbra <-> Penumbra so false use_compat_address: false, + use_transparent_address: false, ics20_memo: "".to_string(), }; // There will need to be `Spend` and `Output` actions diff --git a/crates/core/component/shielded-pool/src/ics20_withdrawal.rs b/crates/core/component/shielded-pool/src/ics20_withdrawal.rs index a4881edd3c..922d99275f 100644 --- a/crates/core/component/shielded-pool/src/ics20_withdrawal.rs +++ b/crates/core/component/shielded-pool/src/ics20_withdrawal.rs @@ -46,6 +46,8 @@ pub struct Ics20Withdrawal { // of the ICS-20 FungibleTokenPacketData for this withdrawal. // Commonly used for packet forwarding support, or other protocols that may support usage of the memo field. pub ics20_memo: String, + // Whether to use a transparent address for the return address in the withdrawal. + pub use_transparent_address: bool, } #[cfg(feature = "component")] @@ -112,6 +114,7 @@ impl DomainType for Ics20Withdrawal { type Proto = pb::Ics20Withdrawal; } +#[allow(deprecated)] impl From for pb::Ics20Withdrawal { fn from(w: Ics20Withdrawal) -> Self { pb::Ics20Withdrawal { @@ -124,10 +127,12 @@ impl From for pb::Ics20Withdrawal { source_channel: w.source_channel.to_string(), use_compat_address: w.use_compat_address, ics20_memo: w.ics20_memo.to_string(), + use_transparent_address: w.use_transparent_address, } } } +#[allow(deprecated)] impl TryFrom for Ics20Withdrawal { type Error = anyhow::Error; fn try_from(s: pb::Ics20Withdrawal) -> Result { @@ -155,6 +160,7 @@ impl TryFrom for Ics20Withdrawal { source_channel: ChannelId::from_str(&s.source_channel)?, use_compat_address: s.use_compat_address, ics20_memo: s.ics20_memo, + use_transparent_address: s.use_transparent_address, }) } } diff --git a/crates/core/component/shielded-pool/src/note.rs b/crates/core/component/shielded-pool/src/note.rs index e695544b3e..2f9a24c5d4 100644 --- a/crates/core/component/shielded-pool/src/note.rs +++ b/crates/core/component/shielded-pool/src/note.rs @@ -108,6 +108,17 @@ pub enum Error { impl Note { pub fn controlled_by(&self, fvk: &FullViewingKey) -> bool { if let Some(address_index) = fvk.address_index(&self.address()) { + // Check if this note is associated with the wallet's transparent address. + if fvk + .incoming() + .transparent_address() + .parse::
() + .expect("constructed transparent address is always valid") + == self.address() + { + return true; + } + // Get the expected clue key and check it matches what is on the provided note address. let (expected_address, _) = fvk.incoming().payment_address(address_index); let expected_ck_d = expected_address.clue_key(); diff --git a/crates/core/keys/src/address.rs b/crates/core/keys/src/address.rs index 4251e40e78..85939a858f 100644 --- a/crates/core/keys/src/address.rs +++ b/crates/core/keys/src/address.rs @@ -23,6 +23,8 @@ pub use view::AddressView; use crate::{fmd, ka, keys::Diversifier}; +pub const TRANSPARENT_ADDRESS_BECH32_PREFIX: &str = "tpenumbra"; + /// The length of an [`Address`] in bytes. pub const ADDRESS_LEN_BYTES: usize = 80; @@ -224,6 +226,27 @@ impl Address { recipient: format!("{}", self), } } + + /// Encodes the address as a transparent address if it has zero diversifier and clue key. + /// Returns `None` if the address doesn't meet the requirements for a transparent address. + pub fn encode_as_transparent_address(&self) -> Option { + // Check if diversifier is zero + if self.diversifier().0 != [0u8; 16] { + return None; + } + + // Check if clue key is identity + if self.clue_key().0 != [0u8; 32] { + return None; + } + + // If both are zero, encode the transmission key + Some(bech32str::encode( + &self.transmission_key().0, + TRANSPARENT_ADDRESS_BECH32_PREFIX, + bech32str::Bech32, + )) + } } #[derive(Clone, Debug, Serialize, Deserialize)] @@ -319,7 +342,29 @@ impl std::str::FromStr for Address { type Err = anyhow::Error; fn from_str(s: &str) -> Result { - if s.starts_with(bech32str::compat_address::BECH32_PREFIX) { + if s.starts_with(TRANSPARENT_ADDRESS_BECH32_PREFIX) { + let dzero = Diversifier([0u8; 16]); + + let pk_dzero_bytes: [u8; 32] = + bech32str::decode(s, TRANSPARENT_ADDRESS_BECH32_PREFIX, bech32str::Bech32)? + .try_into() + .map_err(|bytes: Vec| { + anyhow::anyhow!("wrong length {}, expected 32", bytes.len()) + })?; + let pk_dzero = ka::Public(pk_dzero_bytes); + + let ck_id = fmd::ClueKey([0u8; 32]); + + let address = Self::from_components(dzero, pk_dzero, ck_id) + .ok_or_else(|| anyhow::anyhow!("could not reconstruct transparent address"))?; + + // Verify this is a valid transparent address, bailing if not + if address.encode_as_transparent_address().is_none() { + return Err(anyhow::anyhow!("invalid transparent address components")); + } + + Ok(address) + } else if s.starts_with(bech32str::compat_address::BECH32_PREFIX) { pb::Address { inner: bech32str::decode( s, diff --git a/crates/core/keys/src/keys/diversifier.rs b/crates/core/keys/src/keys/diversifier.rs index e10379889f..99fb27b8b9 100644 --- a/crates/core/keys/src/keys/diversifier.rs +++ b/crates/core/keys/src/keys/diversifier.rs @@ -107,6 +107,15 @@ impl DiversifierKey { let cipher = Aes128::new(&key); cipher.decrypt_block(&mut block); + // Special case for the null ciphertext. This enables transparent addresses (which have + // a null diversifier) to use account 0. + if diversifier.0 == [0u8; 16] { + return AddressIndex { + account: 0, + randomizer: [0; 12], + }; + } + let mut index_bytes = [0; DIVERSIFIER_LEN_BYTES]; index_bytes.copy_from_slice(&block); @@ -295,4 +304,15 @@ mod tests { assert_eq!(index2, index); } } + + proptest! { + #[test] + fn diversifier_encryption_null_ciphertext( + key in diversifier_key_strategy() + ) { + let diversifier = Diversifier([0; 16]); + let index = key.index_for_diversifier(&diversifier); + assert_eq!(index, AddressIndex::new(0)); + } + } } diff --git a/crates/core/keys/src/keys/ivk.rs b/crates/core/keys/src/keys/ivk.rs index 1338e830d4..7302161cc6 100644 --- a/crates/core/keys/src/keys/ivk.rs +++ b/crates/core/keys/src/keys/ivk.rs @@ -44,6 +44,25 @@ impl IncomingViewingKey { ) } + /// Derive the (encoding of the) transparent address for the given IVK. + /// + /// This intentionally returns a `String` rather than an `Address`, as it's not + /// safe to truncate arbitrary addresses. + pub fn transparent_address(&self) -> String { + // The transparent address uses an all-zero diversifier. + let dzero = Diversifier([0u8; 16]); + let g_dzero = dzero.diversified_generator(); + let pk_dzero = self.ivk.diversified_public(&g_dzero); + let ck_id = fmd::ClueKey([0u8; 32]); + + let address = Address::from_components(dzero, pk_dzero, ck_id).expect("valid address"); + + // This should never fail as we just constructed a valid transparent address + address + .encode_as_transparent_address() + .expect("address meets transparent requirements") + } + /// Derive an ephemeral address for the provided account. pub fn ephemeral_address( &self, @@ -180,11 +199,53 @@ impl IncomingViewingKeyVar { #[cfg(test)] mod test { - use crate::keys::{Bip44Path, SeedPhrase, SpendKey}; + use crate::{ + keys::{Bip44Path, SeedPhrase, SpendKey}, + test_keys, + }; use proptest::prelude::*; + use std::str::FromStr; use super::*; + #[test] + fn transparent_address_generation_and_parsing() { + // Use test seed phrase for test vector + let seed_phrase = SeedPhrase::from_str(test_keys::SEED_PHRASE).expect("valid seed phrase"); + let spend_key = SpendKey::from_seed_phrase_bip44(seed_phrase, &Bip44Path::new(0)); + let ivk = spend_key.full_viewing_key().incoming(); + + let transparent_address_str = ivk.transparent_address(); + + let reconstructed: Address = transparent_address_str + .parse() + .expect("can parse transparent address"); + + assert!(ivk.views_address(&reconstructed)); + + let address_index = ivk.address_index(&reconstructed).expect("views address"); + + let actual_address = ivk.payment_address(address_index).0; + + // The diversifiers will not match, as the encryption of the 0 account `AddressIndex` + // is not the null ciphertext, so when deriving `actual_address` from the 0 account + // `AddressIndex`, we end up with a different diversifier. + assert_ne!(reconstructed.diversifier(), actual_address.diversifier()); + // The transmission keys also will not match, as the null diversifier is not the + // same as the diversifier for the 0 account `AddressIndex`. + assert_ne!( + reconstructed.transmission_key(), + actual_address.transmission_key() + ); + // The clue keys should not match, as the clue key is zeroed out + assert_ne!(reconstructed.clue_key(), actual_address.clue_key()); + + println!("Transparent address: {}", transparent_address_str); + println!("Reconstructed address: {}", reconstructed); + println!("Address index: {:?}", address_index); + println!("Actual address for index: {}", actual_address); + } + #[test] fn views_address_succeeds_on_own_address() { let rng = rand::rngs::OsRng; diff --git a/crates/core/transaction/tests/generate_transaction_signing_test_vectors.rs b/crates/core/transaction/tests/generate_transaction_signing_test_vectors.rs index 085d1e6d5b..969d1c55ef 100644 --- a/crates/core/transaction/tests/generate_transaction_signing_test_vectors.rs +++ b/crates/core/transaction/tests/generate_transaction_signing_test_vectors.rs @@ -557,6 +557,8 @@ fn ics20_withdrawal_strategy() -> impl Strategy { timeout_time: 0u64, source_channel: ChannelId::default(), use_compat_address: false, + use_transparent_address: false, + ics20_memo: String::default(), }, ) } diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_0.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_0.txt index 4284d2a0b8..f2d4266629 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_0.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_0.txt @@ -1 +1 @@ -9e73992b95b90d5cb6e67e0d111214d6473902cb32151baf9fee37480ae3841c6d30d64323b26f51b91db797369fa6f099e8ae900211e0376fa77c52ca59771e \ No newline at end of file +c21d59db60453a6dd7ca12b4d1cd1cc8081c7d8ccf8c1c77124096021c85ce6f71ea81584138e400ced5116fe3bc005dfd612111d1fc9f7803a31f085a1771cd \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_1.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_1.txt index 563b05f2cd..3968644aad 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_1.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_1.txt @@ -1 +1 @@ -a29371cb3627441e0d1938399f6cf630829bb722c475bbf69db08cadb652d12f067cf2b5a8ca9792bf940b0899b1897dfda338b1dbcd09c5160e795bbc3b6361 \ No newline at end of file +7526468a388a4ee6be53a825f96f54052d193b5c0558dc190dde73f7ed222c8c17689dcb05bd1efe871bc4dfdb7b6d9c9b9fb0709c26d1df54f02cabbc9e489d \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_10.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_10.txt index 938966f8a7..04ce465066 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_10.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_10.txt @@ -1 +1 @@ -bf1468170ef936887f9e861f10e55b5b189c79dc323eecc38ecf89186455280b0b6377356fe1948f31809d921714f08a1218e2aa5fe039a95f2dfeec50a79396 \ No newline at end of file +19d49249253ff9d119936839c806a5c93c621055583884e331ab9a3d20c5e2a0d0e5a1e28a02721b04ee7d909aaa56559f2db93cd12f3cbd459741f83a99e745 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_11.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_11.txt index abff50d3ef..7fd58b55c8 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_11.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_11.txt @@ -1 +1 @@ -ce462753553b47ef87a246e01c7481661dad7dfb4310d31c8406df180437d0110f0d15d3d102fdb016c7a700ca0eed0b0d8ecce354937801fb85ea8cc1f3c44e \ No newline at end of file +e1d67de14607ebed02d6142eea32d2fde7abb7e7ca6ce0adf7b22f7cb68bb635c4784becd1ff75f2553746fda51acc360a80c2ee3ba46130d6ee84280e986b86 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_12.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_12.txt index 8ff69ce53f..e20b1c720d 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_12.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_12.txt @@ -1 +1 @@ -2cd8be2841ab2d84ca3651058441aa9516fd11a3bd273a8e6ff7368e23ced5d7535eac3ec9c51d3e5bf0b034accbdacdd6a5bd1c49ec389b1fcc9ec793887903 \ No newline at end of file +fc4ea663296554be580b3b2070dff2a43c77f76cd5d4a1535e05ebfecc87612756c332cb3f04001e3e24aae9177aa2b4c6c2d15537122ed5457b920a6a5a28f0 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_13.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_13.txt index af90f7d73a..40315d1d6c 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_13.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_13.txt @@ -1 +1 @@ -809e2b176709aed953224d16e3aab487f37660bce1f48b1376aa13c657cf4648e09381b6fb17e7b025a4cddf848a73138b7d979debde1cd804008c09ac8e9316 \ No newline at end of file +9b06df17a172483e4be5efcb5ab83b7bcf379d5ef3bd2530a468d082b23ac68925f05967cca25807d1d21d971e3f8dd2502a8e7c3301aeaecf876744b649f57b \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_14.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_14.txt index c1b76ef4ca..144b2ef7bc 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_14.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_14.txt @@ -1 +1 @@ -2e0b87b60f276f08899fa9be690d733bd949138d768d81680950935af7fcd46acfefa661b74eefcc42e5e37109323587145e77fc2d0e83faba08209ae05ff907 \ No newline at end of file +6cbf16540a8d063548f3cbae75543a278377d6d4a3df9b346582cc5e4f7cdd3875d9fdd0b02a9270acaea19118948e83eb4617816ae8d074950dda36f3d6f51e \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_15.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_15.txt index 01a2b8e11d..7afbcec66c 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_15.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_15.txt @@ -1 +1 @@ -7f1de934b32d6d846fa7c0cad6e40012039b633837f98a57878c9d08e5df3769a7bf54b82f1bf2973a785b2dad9d3dafc889da66cc30ee7556c597af1f927a8e \ No newline at end of file +6c75137b7b6925d1cd793861b33a2ee31c9234f83b7a4cb2a4999f80f2c5765acd35efa6fe43429f3f542bc3d9e2a22db6bc42de5218783eb1909fead675bce4 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_16.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_16.txt index 8758bf088e..18385d4bd0 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_16.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_16.txt @@ -1 +1 @@ -69b9d287cf63fdbdce8a940adcdcbf4166dc01dbb8f45e1c4eccb02d1f932fd4ff6f8196f37ea07387dc23010f53e4d55cb9cd2f8efeb28d28bc9cbcd721ed58 \ No newline at end of file +9feb663064ae4da04d49de9d226465b1995f84d339e5017839797355cdaf6c78735d19f548c0e051055d001fdaaa4bc89ed56fd4c4b23ae680bcb788a7652aa6 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_17.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_17.txt index 0d2d2cd826..3ecaa4cd71 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_17.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_17.txt @@ -1 +1 @@ -5ffbd0c46efb39f9d685613ba32902f6ad1e624e43067c341aef4ea5312c86e36da50301fa2272e3eec3e7ba1601036a4e8a39ae44dd6db7debe03016ae4f3e6 \ No newline at end of file +094f3f150f19ab3f9d90f951249c0d2d25d934b991a394926b8d748324e55c8076507eb3906d0b0ca0d6d947a123e7442e61bef4cfd77026fb1e34280d29fad3 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_18.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_18.txt index 29739dbaae..8f8c0b8c24 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_18.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_18.txt @@ -1 +1 @@ -3fb12b16b36925001b89b083052796fb2652e9ef22389f115a65a211f6411d519c7e8e2c1442681b8591151efe2bfcf56b1e28788796619ab16c03da937cfd46 \ No newline at end of file +dab248626a03ca12ddeb8fa26198b0cf086c41a191695c63133b0d8d57c60ed0efd684019c2509b3b2f78a84bfdb378a463af14b9a5e3f5c1b3c49255f177863 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_19.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_19.txt index 6d6f7ba798..6bcdf42d80 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_19.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_19.txt @@ -1 +1 @@ -546017f17576f94b4b2359c8a73ee4d46f77daf1f309fb26bd5e8649338a135b5d1c1fd10ec9c326f95a91b22fff23dc8c27e380cc780550c16533c7ee03547a \ No newline at end of file +1cb81939e71cb53372dad5349febf57c74d7030953baa4bcccf8b87e31fa4a2ff891b15e26ccb614d4e16d7b7c5e298086d952d139f867fee844e30087e42a8f \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_2.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_2.txt index b3fbf3dd08..9e0be0dc01 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_2.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_2.txt @@ -1 +1 @@ -e4460f3c5068ac4e4d077da569745073b66f4ea32d62cb3c329813135ebc389aecadfbdab4fb6f36c5bad55c154c4cd6daeca8672bae8933580839bb9639a717 \ No newline at end of file +9cc31bcff4aee3d58b862a2395e91831cbece591d8b86e8e2212db945f98a21551799a7795af277d278758b1088cc869f542bf19972dd67e6a45ac04fa240295 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_20.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_20.txt index 327b9fcf3d..14306823b3 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_20.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_20.txt @@ -1 +1 @@ -dfe0bb6c511b1e504cb39b615f321f444732c249e564d53f14575fbf47a204bdef390aaf3c0f7b230f1818c1d5ad12120d2119eb856798d5de1a0f4ab1d4b20b \ No newline at end of file +69fc9b63206b8d3d039dce4c6dc5cfbfa3d56df1ab35a47a4e5fd44b16dfb4ef54e35a23c3d4fa2120ee2d3acc8f877086e92c0b726c0c1bf69a1d25edbb9416 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_21.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_21.txt index 0a96dc9a62..80c652612c 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_21.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_21.txt @@ -1 +1 @@ -b27ef3fb5d60dfe6414de303bcb4792223945572c4167ec0d1c0de6bdeb88bd7d270dd03b34a6b2c244f58e98cf8dffb5348a259635002469ae02fed1aa2401a \ No newline at end of file +e521793606782a907b1f91e59194c4c3ea561edb4de925f390af36827acbe7ac49d5db507572007efdda2fecbc87c1a9fbc15efca3a92c0ef537ee8667dad2dd \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_22.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_22.txt index 3151ffaf8d..72f4ae9cf6 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_22.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_22.txt @@ -1 +1 @@ -af167c0dbbb3daa0f9cb289fb3cdd7e11c2acd09d93111d36bbb8370e685747ab677d91813ed24e5e7466122b331e2a21399fbd204c1d9e7b31f5c9d335b71cc \ No newline at end of file +26b98113e860dee1544274cf3ea0b94688ef02b4be99cf7d795a2e15766565916d357df69c69acf1d1d0d09c17f5dd26333932e7fff32596aacafa57ab811bea \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_23.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_23.txt index 9fe81b797c..a2789a3dc2 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_23.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_23.txt @@ -1 +1 @@ -e97f01590e58dd68fa5708250d9e8667db1241c3000aa7e4e1839d30b7988c65f8d438957d89d755c3c4f1fe35908c705d97cf3d237002287ab5059574393270 \ No newline at end of file +72d76e27b0a9aacaec1b4a606c9186ab933427d1d7c518e7b279a03da543ee489b8c83fb95dd07fc26f6da2b9672ee8f96232cbb779cb1b92b990a38bf8b7d89 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_24.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_24.txt index 229453797e..afc95b0e58 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_24.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_24.txt @@ -1 +1 @@ -a1c704853d82d4dec1287ffcdbc68cb2e84309525fc148f10092d1824e30ab15679171f2ab81a71d8891cccb8a7f6abdbae5505ab80ce80343f8cc411ad55162 \ No newline at end of file +8a1312ac43402a7038e881378fe4d61757d9543d58e5101e0037ccd033bb58ff928658984ae31eac819a7815f4a96f04bf7f9dcb3b62bbb7a0b355f9458a9480 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_25.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_25.txt index 941f230296..dd12c6f04f 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_25.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_25.txt @@ -1 +1 @@ -507fb0aec0310a59261302a5e50ae8df2cdd8e4073d21201e1bf7ca5cb54e4a8f85b6033174919e7811dafce5cc83e968826b0cb8eb037b78c4dc248123d1331 \ No newline at end of file +56d89852683e0b1bc11ea6eb8b4fd49a9cd8508ed0b67af22c95e2ebc72a5e93691b0978f832f0369b670d45e40fbf94fce949aaf695c0c3539436d31d2940f9 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_26.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_26.txt index 47ccf70bd5..7bcff90dc1 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_26.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_26.txt @@ -1 +1 @@ -91d7d9b5e761ea32d02fff8bf0d0eb3cd70af80af2ae01009308c282a13163de68c8911f22f61399cc543cf3a03f31c725f973ef54e8c341a70412c392c8d5fb \ No newline at end of file +fccf046817b6319e270f6403c55fa983d725f7ca70da7404842796a1b845c64e9e35280e1996f3aeb0303b044a67c08d34c8d9385641d2192677ceb3bbc9c12f \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_27.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_27.txt index 75cb008b8a..11afc01ae0 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_27.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_27.txt @@ -1 +1 @@ -8e2bceb912bb2b69089d5348e0e2a1e472e10f34c96ece0f3ee1c63929c6a983e110a7c0917dec3b64d8c0389c642de023baecbf01ce74b7bdf077ecb236aba8 \ No newline at end of file +42cb9c0702f36a797c9b0c2f7f44f412fb8d5445c7a665436b6658fad4155822a0ff9cd77c05305c22661f95ff3ab10198ccabe7ddd459b60c88b3a51851e753 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_28.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_28.txt index 520a717a8f..7235eb7223 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_28.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_28.txt @@ -1 +1 @@ -e7e2888bb68215390a053e84530fe3c99f723e5710ee4c2c841c41cf1d01c038569177fd063c2ba31d974d3c21039920c9b533e8c40173e2beb65853f014470b \ No newline at end of file +ac7a3e93a7ff399b0c0333d8ddfef3ef6a89e6aa3ba1d3a3fe51d0ae453b6bd95bf7e32a57c94102fad79af47b71303cfc61060931a646c8f1fee8ac3eaa2932 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_29.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_29.txt index 6f9f4f5296..a75a67180b 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_29.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_29.txt @@ -1 +1 @@ -c300f0a663c828f2b34a16af4387d007b51598348f9f89cdd38a6d2da5f45d5d84287c7df592f064ff33133c9456afdba115a769c8d69d9928d0a81e9d6a9d23 \ No newline at end of file +1d8fd4c68c59776fd200b7bc23ed2a0899d4d5ff5615fe4de296e06ad5d32423b7a5403665736bba946f656e792f74e97262e4458f8f9a180f00bec78ce1fc47 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_3.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_3.txt index 4348243474..f2ba8f275f 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_3.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_3.txt @@ -1 +1 @@ -38e3833889cd54dda12b577933dcc36d5679e399bed7c0b94d8e9e17c2651d95e70e201b81d376341ad76c136989805ba936cb9e62b62136b6710f81a51cafc8 \ No newline at end of file +460bc7b6884f942bd5be17230f2360aedbbacec366ad4273fc538b61748ca00a9118aae2fb1fd73bec2b60858fc2f2bbaef3c58b5a1858d3bb14846279ea0dae \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_30.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_30.txt index cd7ee7765d..8311e2fc92 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_30.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_30.txt @@ -1 +1 @@ -dab12cb667e33b0064b735dd0dd7237ff6b6e4ecef5fb0e9e413f9beec2cc2d70a0a2e1ef31292fa4df3385f26ccb7077b73915530a43805e71245834add315c \ No newline at end of file +2316212605ebc444a755cd24811fa6dc763dffc4498f396200b78461e2d3568c29341bbb161667f7b51177ccb316a2312bfa511a728d5be9eaa4749793e6ca31 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_31.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_31.txt index 53a3be7ebc..1d4c9da8a0 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_31.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_31.txt @@ -1 +1 @@ -9eb0ff68c2281870c1738caa57d29b0198012759e1a0eec9b52c0c666ea3e90e5bbfc454c711fccca2bf2e55c91be48f208259d9f616548e2765628132f93ab8 \ No newline at end of file +1ff4a0cac3e5ac1e56dfc6a134b74e4198a4f44af7ff4e6e2840cb0d0d533699704952759cc50d2c7f5d5491169894a01e5e575bff7a28dd47b24852c8342073 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_32.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_32.txt index 197e65b683..c7d0825534 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_32.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_32.txt @@ -1 +1 @@ -3762a00f04f7cc8fa41aeddaa28baef78800801581540436c651ed68e53f8816c30c88d923227e54717833479b0cb6a4762061a64cf49bbe2a037631f35340ec \ No newline at end of file +a574ec310686c09728e763fbf0f1b3ba5a2b8698bbc619a7b204769b99ba9371d8aba58fa414f0e7c2e6e22058e2c2aa693be6f2bc64179a96fe88f58d2c8fa0 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_33.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_33.txt index b3fe25b188..b3ebea5bf9 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_33.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_33.txt @@ -1 +1 @@ -16d67249c208a6807b6aa74f650f718dabb02696ca4cd4234a99313c13aeea0d58a086e266db3272972b40a7ed0de6ce102ecf6070da1255c2ebb94d39ed6cb0 \ No newline at end of file +4b5f402856760c0f41016a1d12df15708cee1343f8ff63b59594844faf7466cc1e171d0ffbb9226a87201b82aff695d3d7be5466ebbe7f926a1918bdb4d9a61e \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_34.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_34.txt index 8198192499..3ba525ed64 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_34.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_34.txt @@ -1 +1 @@ -6d5ac8b140d9b5fadd1397104ea05c34a88607130acd4946e6acc88010eec7c7e56b4edbef91107cea1641b0a35eeb0ea5310630e9add59c4f655746bb2d47a1 \ No newline at end of file +c695de6e3db638e6d67f43ea6b369e24f43f6afd2503c947ea6b76cb5ac0c90e89cead1d5704824267e69d9f432a01fda2089eec613ee5809a2b7111631d3dc5 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_35.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_35.txt index 6de6d24cf7..b3a061c573 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_35.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_35.txt @@ -1 +1 @@ -f0eeff0095d519be0843af4625742dc1516e5f8a8ece7bd4fb246e1149ccdf0e4bcbd556a53458b01c742c291488cf574c9ebe89991712aec3bb3ef056e2b7ee \ No newline at end of file +ea396477ed0844d5d651fb2f91b7ac43d15b7f6b5a9ad6bf2db0e21196009a39045bce8c4905600c6e4fe1462acf84d5975b5d3812699fdad92469d57dd32766 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_36.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_36.txt index a9a2674e30..31c6b350a9 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_36.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_36.txt @@ -1 +1 @@ -909d6e657ca5e03ee7fee8edfdfb651d233528716eb38664f9f281c05ea74f995706809d3d4bcfb48c5446f722f10ba0d3bcfba6dcbca5358bb251b790bcb4c4 \ No newline at end of file +7f3300d804b1d1b00b558e9ed6daaf85c2c932a9fdbd47235e9c733057e61714e685e1f406d56ef53041ee82baeafd458ab69c013599a26eb12ff433a66f54dc \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_37.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_37.txt index 297aae830e..1c0e7bab30 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_37.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_37.txt @@ -1 +1 @@ -0e9fb80f112cf8058a30b3bfc3c9ae7a4e2809e5d4d99f4555eee506b4d226b7c7d8cec6ca9b1288564b4718b497ab97784789434e03003103e3be6d416a6cc1 \ No newline at end of file +2c41c642c9bb98317904665f494a28c314397700c952c26a7f5372e770a9f269a9039a63c27e38b12b17f8212f1a448a3985887d8092fa3149ccb920e37cbd16 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_38.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_38.txt index 7dda4450c1..992d38d63e 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_38.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_38.txt @@ -1 +1 @@ -1452b5729be2e4050d58a4452873dc90c316367f0cff6567cb3b7522cdcdc89fa1632559142f48d51e86bcdf948c8328e6240282292b18933f7dfabae7849d54 \ No newline at end of file +1d51f07575a6f629f1590a8e9ef6dbee44d7c4efbccdeeed625206a52bb6812f13e903b27eb45e213ecde24a5a7e3bdb5571d3456071c8289cd2df31f084511f \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_39.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_39.txt index cc3e3a251e..a066368796 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_39.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_39.txt @@ -1 +1 @@ -315713693488a6048f23099ec9b85bf9ddc12a912c920745b355627d9e682862b518cae29e5333d69d259c16ef8f5d4f1c8368bce2cd2c395eff620fbbd0da43 \ No newline at end of file +1b47f2edc0cd08b2b0654e3c85aef5698f244554c1ace94bd5fea401b2025239a964d4422dcb93eb4d77db8b2373cd13a6570c25b7ae304775109004421cea7c \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_4.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_4.txt index 69be6692bf..e9c07322d1 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_4.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_4.txt @@ -1 +1 @@ -e1b0bf57b4f98bc6d43a0276d26d7261e6c6a95bac927dac95e36b67b4891d5eefdcdbc2b646575e566e5148166bf1e9d9c1f37b5737941183080ef587f7cc9f \ No newline at end of file +54c3cb40fc87871c96354ba0ad8e63edf4e978d033247cb8782da36b525505cc2de65eb756c138505d6be396546b9b759cd20abb28c82a75ceeaea02820c0161 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_40.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_40.txt index a9b3533abd..85d7bcbdd6 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_40.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_40.txt @@ -1 +1 @@ -edf7089cb08bbf91e1b719d3ec2003277925b9a9d253b8985e6bb55b21d84129641fc5c6bb036d4595b3eda9f9b9a4a9e416889f98391f27fb1c82f671f5f959 \ No newline at end of file +923506f9aa0838c9308b68e1693232ce84feeb558b4d6c18b55afb33997aaeeedc188829034dc4d20feccf6e50d1d925bb708b24cc0db6d431678e3e4dca3fe0 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_41.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_41.txt index 12c51f4085..66e8e5887b 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_41.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_41.txt @@ -1 +1 @@ -81476307c5227bf5fc1a5e6894b4b2ff5c6fb4feab1abe6be29f4d4dad7d867eae0498e7c423cfa427483bfba990f26e78fbf45d18920233d12b89d44fed14cc \ No newline at end of file +7ec83d830e726d381f51c019f9a15e0597ba1ea63ce4eefa8d75af504431dc41dc451d3c795473a20e3877d5ea516c0414e2d39dcf17c0d8ea2f00a00c8b3c4d \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_42.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_42.txt index ea4745830b..7366635f49 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_42.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_42.txt @@ -1 +1 @@ -928292972397812d1df67f6438b04bb185ca953ad6b8e71c0c558d34e60947172bbb0baa6ba803bab66169b0023ad82bafe8c1d3ac3502b54215b39cec66ebae \ No newline at end of file +ef4d482ba75f4a74e986429e7673f8359d29988059e7d9dd71b00ccc16553f519bf18ddb41180de503bc5a358445f4c35e2f6619d70f812ef6f6e4c0a3fc8e77 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_43.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_43.txt index b487eee9b1..8804af2508 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_43.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_43.txt @@ -1 +1 @@ -9c794cbc9b48f25e2e0669240accb516761abe9c5c1a0b8efdafbca248aa4796cb729965355b348aa48c9e50c58993d65593c55faba00afdc623e213bdc66143 \ No newline at end of file +821725eeeca45f93c76a2d0a5df279ce8c1328030d90432d43978249e7fd91533c0a01ffe41f297fce034082e02f0f9e81a0e86ab1ed6017361fa5c24b4e0651 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_44.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_44.txt index 4118752b95..0827140faa 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_44.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_44.txt @@ -1 +1 @@ -a640df95ba3f1301bec45e49ed99f439b5f58c831a20c3275e97b1949dc98ae390788b13f119ef11018cd1d055ef8098b15637ff47c04a91228ea47f322691eb \ No newline at end of file +bd97eaf2ff5144c56067a8ae459b8e5db006a5e42b3876a0dd2eb70a589c2b2a482d91328c895ea6600a9d97d981817e7c4e95430bdba9c56d484c6c29b7c96e \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_45.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_45.txt index 436d8b301c..8f33391df7 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_45.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_45.txt @@ -1 +1 @@ -090a3261cb11cde58e7f7be2f54336cf142918713537ae7b6dcef0cd14ef563f7c2765d56a380bb33e2bc9ab89fd3cda6749240412b25df439f1a658965aee71 \ No newline at end of file +91587fd2aad74276e8fa5b609628fda9a20de9090ec2916c32e892e02d2cf97d0e123e987b045048aa15be37a734c224e62da0bc40f4d0eb2e0a2c7aeaedfc3d \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_46.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_46.txt index 3ec442fcef..dde27b635e 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_46.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_46.txt @@ -1 +1 @@ -264526b00ee9983fb65770d93cb4103ecd4b56b34cbe1d0a2afcbf19224c5fcae08362fec63020d5d67b7c8a6aabba7bb80cdcef7295bf8065781645e48d55a3 \ No newline at end of file +ac5190cd94e2a2d66994d7b0e707be7ad6ebe9a7eb1263c98a43a39c2fd297ef2418674f3cb6d44e10f79caf63a7574646dd8b0bf26fde39dd456020747cadd3 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_47.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_47.txt index d51b5f7e3e..a3bccec161 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_47.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_47.txt @@ -1 +1 @@ -6cd5bc7761a077d46a1fa37c3191df6c4ba38b0cbbaf190bc1a7e9fa900e369f1c31ceab32dc0479d27daad3163d20f1630fee6ac7dd7fb5b4f17ac9fd04b53a \ No newline at end of file +592e68352576d8c519f99b752873d69a75b6818690e7e427f606e9ce898f5556126deea899d66fa2374fba30d75f0056634e3cf47de0b52dd7db4ea35ed3b54c \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_48.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_48.txt index d2b5e94b65..6ed6d558ea 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_48.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_48.txt @@ -1 +1 @@ -7970bba9f22cb7ae8a9129d07eae124db1343be40a70a01280d1162f7324b74e137b7c792f7bc411b2a0964291df27eb77da940cbaee62c3dcf83160ef5d8c6d \ No newline at end of file +6b6027c14de173fff0a6274a833f45b9cadfce54981419c2f0ce83e1e026fb95aa14fd063d65ae99104a83301715e2b526456e8522151880c7808fa82ac8c260 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_49.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_49.txt index 244d71dad1..1ced34119a 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_49.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_49.txt @@ -1 +1 @@ -e310717d8fc6a54de17aadb828132413995a688be186487ea48a8cf1a754a33c121dea4edcbc989863d730eb6258704285c09562eb206e1fbcf24675862adf72 \ No newline at end of file +238db40b89eed2c77c0c423d3699126bf428d1e01c2b4d06a6be90552779cfea66465dd91bce1bed67e5f233eeca661134261cc185599822ebd84ed7228a31e5 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_5.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_5.txt index 6d14582565..f68c569b01 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_5.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_5.txt @@ -1 +1 @@ -ef60123290ebd67ab8f02e54c8b3b7e0b56a783acce7f9db2c4c4042ab7dc757ae36391b13e8f537b4ed6a904661229e94e2f85fa2e16ed6d7367606d6f094f2 \ No newline at end of file +2e86bb0892b69a0d2307c78997c3d26122f0d1250bb057e64d02753f03cd8c445c2b2e0b1bef597b9d5b1f5a0a8752283b5609907989b92d4c7b4bfd2d722527 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_50.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_50.txt index 73af3e683f..d05a13e99b 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_50.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_50.txt @@ -1 +1 @@ -be9e30233325c98ea883e6a8066111cc254a11326bba13b206fac8ce490da13ea099fcf62b6f7ba2a49e198f1de4acedfbaa2cbfec09755d416f3fe0d36ea3ff \ No newline at end of file +dbcaa59a898c191bf28bf23d80b4efb08ae11c0fd98def06eb5d721a4e31adecb797b33c82bf19134fe1336abdd2c9e4866e89807da18af1b440678aed3acd10 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_51.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_51.txt index 960fab2272..8f5813e2ae 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_51.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_51.txt @@ -1 +1 @@ -131b45d707e6e5087e0ee60cf847b9d2f9171fbf949715fc0df1a5c69e8fed4f0120e1067f61abb6730cb21b663b31c384c080de47b75213c491c46b048f09eb \ No newline at end of file +868b0c8e2bd7e6a14f047ae015a07877273620afd863d729fd1ba05d6d5ee7ef238e5b7f81cc1d72c63c54ef12ff79ae88d746531e6031559b8135d7daddf787 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_52.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_52.txt index f4eb2a9ff6..810e005c6f 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_52.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_52.txt @@ -1 +1 @@ -b86a4c80edda50d67c18cfa492cbf03b3951c94a7ee3d73fd0fa74427098db8fdc7ef946fd6b64972bf3b3d2ed4fa175d466c746a522158424e8f3a5fd63f53a \ No newline at end of file +629a88eba85b041a6d00cf0768407f443b45c3d7be0cf4274d7a03477e7b2b6af0df1bbecc763d1aeb04ef99e9da92a0d0d570b4f2ef4bfb168da6a7314a896a \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_53.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_53.txt index 8512b3598f..d31b974bf8 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_53.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_53.txt @@ -1 +1 @@ -d9d7ae31d0469531c08b995a5177186642e8271a99160a19ba018aa972f376e1eccb02c7ed9802d07aefd46433491555e1a14e857f24200baa00050b547b0f1f \ No newline at end of file +0ec857f4dd865cfee94a8daad54f600c9ac4a237d025146c3d8a919a97821c3483887b59f9f7eb636376eedfc78d2176af84db7afd791082a842ca77b9a09117 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_54.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_54.txt index b148d97fa5..9009edcb7a 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_54.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_54.txt @@ -1 +1 @@ -9c75bcb67d510cb224460d1426bed6c20462f274dd70fd2447be751c5735b1f5e792ca49b9a75766b8bcdf77dbbb8df03910c8f2dab411ad9c362f76a27b939a \ No newline at end of file +df0bc62bccc1b5699c9ba64d93dbe623488f6a4f866bdc44194547360dc7f7f552b8f87b749c1c02d0fc4d7c36e47e33df6f2d0e26e945f40487bd2d69ab0e27 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_55.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_55.txt index 563b4da502..25dce3bd57 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_55.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_55.txt @@ -1 +1 @@ -0483a21011f661985a2bf337d450ae41532f458e9c11d63b5b5a54d75632bd1c5959afe1714818936ecd7714408f46ff39fc4ea80c69dddd8ac11a22529e2ace \ No newline at end of file +90a9376a2ce24e03d892a35b6bfb2bf927bb6871af3a2dadc9efd32d048746277333e4f3b5d22e7e9c335a246872dbe1b46d474c68b69c6818fae86d3f0e19f2 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_56.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_56.txt index 64b5a21dd1..91d6423b4f 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_56.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_56.txt @@ -1 +1 @@ -ad5702bf8eb5e6499397c6d40d2a5baa38d3fbfa705f1ab95a69190529d710a183408747ac320dffc50bc6773e637bc819844e561ef5f6d8f7c541493aa1ae8c \ No newline at end of file +ff6ff99af1dddcaeb182d851b280b219ed8b98004d8292cfcf8d69dbdea0c8f5c3b302aa9ee3c5337fa8940bb424793425018dd03e6c375365a1a17299d38120 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_57.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_57.txt index 4b13995e1f..3e3d2de663 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_57.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_57.txt @@ -1 +1 @@ -757df1d31c6840a4b5158a10cc1bf8157c6fb8089495a8de76792b3f23c3aafe72e56819a16a8055b65ab6f97ccd5094dea27729dc070ecf65aa2b37b1195a0d \ No newline at end of file +0415057bb2db5b058806d1f5ab5cc728b8b47ba5d32efe15d2a43803aececce23b569da93d883d4e32a0035df30c461bf4312e649891d15bb115cbd22e276ca8 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_58.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_58.txt index 698a6f3521..a5e8bb0c07 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_58.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_58.txt @@ -1 +1 @@ -b878991664578bbe458d35cc1df8bdd4b5bd892eda8395fcbfaa88bda1d8f9ea26cd9f14400f4bec239ca0392c4a62623ed0251af5e39a61666dc387547e4695 \ No newline at end of file +80afdcac7c23436af59c4e48cb8f390292068ce45938c21f97b632446a64c93459f5167928b72314226c26251c11092345df64dcf9cde7279a900b4d89672466 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_59.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_59.txt index fd06b74bdf..4626246f82 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_59.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_59.txt @@ -1 +1 @@ -5f3a0b3cad21dbde5579050d8f469a2e55ca2814be2a5d57ebe91fedaff9dc438543d4660a3c0a86f507e0de19f6d28a7659dd07d9f9c9150cb6a6d3cf5dc272 \ No newline at end of file +bfccc8654b9b9a9f737bd94e9b3d6a9950c28294e661a71f7796eeac71ed736de53a5f96566f0003bc2c3c4435a9bac5e221f210dc898271c4d9b615f78b9262 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_6.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_6.txt index 5046847203..77fc5a82cd 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_6.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_6.txt @@ -1 +1 @@ -477cfcffa8b548f6fab669743ddc05dc681f67a2ebaedb43b5d1d4a20e616d600353291660e170f171e497eb689af063f9b545cd1c99248c82b5af72a27603c0 \ No newline at end of file +597c542ba74bce385524eb5cf22d5d645dcc476bf7efd11529c6312b0e6aabd57b725362bfabb517f47270048c3c82e5ceb1b872761ca65b8e03d8380c815e60 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_60.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_60.txt index dcdb12185e..97685d3e2a 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_60.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_60.txt @@ -1 +1 @@ -2659a2374d9ccaba2139ca2895900187e5e1d20696d9433df7bc0495c366ce7b3d220d525725a5dcb682f42acf31326ddcf3f38ca191606ac4394aed2741abae \ No newline at end of file +4b8c3036d331d0b7cd806e6cac92799cfcf0b891c85c04a55e89f77458007b57728a912bb4cae70e93c244b93e29cb07fb4b1623d5906222e1600444bba05bc0 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_61.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_61.txt index 30930193be..3f8a813d59 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_61.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_61.txt @@ -1 +1 @@ -ec33ddb4030bb3e8e04faf7341e780b6c71ef0d03b5a14fcc4211fddbace7a94a532db288198081f99f7998fc21981cc2887b0ec9a66f1d4dd2c44cab88ec50a \ No newline at end of file +c365f0ddd921df788b1033598b566dd8b3752ca85bf5b3d956656d4d311413abedbb5db8c384afeb8d2f46e765d6f8cc149c5d47f411c7a2b4b089e46768bedc \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_62.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_62.txt index 597466e292..a2426f7756 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_62.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_62.txt @@ -1 +1 @@ -5dfe267e35f5dfde1f9a7ce3749994749b1499e731feebd2826312d093afd764f53270b8c4d0f7cb4a0027364d6cc16b067c9782573d48817ff2faf1e26f3944 \ No newline at end of file +6b1b44830d7731f60b4f44548157fca21ac99fd7f434f3c7f0b0d0c1d1bbae3989eee2a14924dd2fe2579618201fb1eccf424fa6d91c2bfd7b40a79e2907771d \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_63.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_63.txt index 43d39bd5af..16c8e2859a 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_63.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_63.txt @@ -1 +1 @@ -4c11e590aca4e0a30f1a112098a0aa52fd32673cee1e4e13b2e906f72cedf5c42ab7682e4d1d63442f0799384d68d90d26dcfdaad120383f0c3d991ade72f6ae \ No newline at end of file +90f1281a2e9e4d2e3a52ac1e186820a4ce87c3b4abf36806716540126c2ea03ca8e8b165672ddc4007f440de709a633c3069d519ca968b9205e2aec31a4fd9b5 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_64.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_64.txt index 01ddb74ed0..bac026a8f7 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_64.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_64.txt @@ -1 +1 @@ -00cdabde4f9492b560d52a65d5440c8a802e5717ebe481e3054091bff16ce1d36d48f6b8acf02ac5eb41b2a6375ec5c27e542af023a563138c5bf03dba9dd276 \ No newline at end of file +26dced25bdebfaa8c66384af78557a775812d9a96127cd47c77264964a85ee5d9763f2d48948a7a9c838b2838278d174b38de243ccde19ed92b86e9a43e42ac6 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_65.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_65.txt index 0ad2347d31..8db6bad35a 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_65.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_65.txt @@ -1 +1 @@ -4b9833eb48c7829222cde1aa6e8b6c751af1a3a35a9aa407a18efe30ba8e297339666026e7eb801b6def009085dcf19a6e23cdcaa11b30301822ce3ef913363b \ No newline at end of file +075e6749f0c9f1533dee8a71edb0ea34561bdf89db2e924239509015240673adef1f4b3635d1dc29ca4089fc8768622737f872afd1256b19d4233e6ba7e7f29a \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_66.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_66.txt index dd30812906..755cd2e6df 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_66.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_66.txt @@ -1 +1 @@ -1470fa3d5ee3d05dec9e73a4a1daee0cf1e94747472adf4c2107238b0e4cfa581438480e00cda92997d31a13baa76760c4265afb10f8832ffd10a5d36f41839c \ No newline at end of file +7d51d2f5e9ddccdf5c3911ee194eb2072a8c16d20897a6a7e502306d48b69da4fed5097580c3e15eb0746a6aaef1049aa7b451f655c9583431d7e831c21627a7 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_67.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_67.txt index f0edeeb86b..c7473450b9 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_67.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_67.txt @@ -1 +1 @@ -32eced012e6578ad7ac84f164444adb736c4700ceaf84cabc12b2a5809150a8409d39b0598e1f36733f08db982391a760675c897fbcfd331b25fb9c0d29caf4e \ No newline at end of file +096245fc4457e10833fd2302e7e65667a0f6555d8471ec4b7ae45c190c86edbeb30211256e59d09f65238aaaa5df966380e37a1bbeed8bd7a1f8ed841d4781b4 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_68.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_68.txt index 566d1a7604..85bc850503 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_68.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_68.txt @@ -1 +1 @@ -9f86dd743cd336ae76e41a7e6762f630c5610c9e7fcf5261264a59939ada97a710e7ff1d0d3855f7d5bd8e8e33797c571c4153d19f4f43d1fa5e5f897df5782c \ No newline at end of file +4c93ac290851b6d6874981fbf951d4ad9a200981730685050c9ffefce20a8134c82d5f4326f8581b847dfa8effc93b1d86b4b2124ce5bd9e117d33fe15571b85 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_69.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_69.txt index 40e95607e9..6523252f9b 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_69.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_69.txt @@ -1 +1 @@ -ea83e935f93abd603d4754a4c26ad0224653e19a00d0e40cd25f00ddaa5acebeada497ea4b4cf96b6af467107a7ee4efd142de9a121a4d48a857845f52744abd \ No newline at end of file +be9dadf2b0ecc91c0c31538f8705a6392a7db537488d33a96485f8ac0db2b9262a74d8e729f474dbf2e760dbaf9e2a309e4e9f13149ef2adde8b340d4549073b \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_7.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_7.txt index c24813bdcc..6d7c860431 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_7.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_7.txt @@ -1 +1 @@ -7e87f599ca36e3c9797c54be2239aeb9431d4421d28c5223073a6489806a632314519f172404479238e301ae234cea747ba1ac8808d577edf6128c433130b015 \ No newline at end of file +d5dfdb0998871d421532ffa1bbd41273f1215362f3515e74a74875bdd9dffb714a282e51c09fb09f798212e5709a956b6baba3e2c396c82089a50c5b4d677af9 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_70.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_70.txt index 36e9e85bdc..07f0f83163 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_70.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_70.txt @@ -1 +1 @@ -cdfacfe67692eafa2b0f3659511f4dd03157437c3598a623bf4fc6a94ee129f281d16200291a1556c7cf1f389e7e2975ec2f23e229efb702665ab18bf1bab9c2 \ No newline at end of file +e6d8939e72059a47c2ae7353e01bb1049fa79e331f83533efbb7fc6732bd4b164dc60fc78dd73c28a23b574894089dd22784fd0d2ee07c7c70a63795039c9025 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_71.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_71.txt index d5ccdaa2bb..e66f966dbe 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_71.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_71.txt @@ -1 +1 @@ -aad5e1df7dca3514de2321afd5ef501cec063b1bde35ea75744e49c20af80a926ea05a7fe5cbb9c9da05df5b97fe0ff16474a36529be449506274ea37200a0fc \ No newline at end of file +4222d68864f792cec53f2bc9042765b2a9f0c1df467fb9456a7e733998475eab051aa2d3fbd8fee640d60d537b2208acb434a6f60203ac8378e7a84809619c69 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_72.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_72.txt index 7805a17a30..f34fbecb3a 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_72.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_72.txt @@ -1 +1 @@ -936cd628ce09442def5c028ac328347b566f0f947e0f0647740655dbf587d8d15e3f00745f0d3fa3009f9abc6cf96488f70fa7fb0d0d05b879ebf7222ab32aea \ No newline at end of file +9bbb950f06c632d0c690b8ef3701e410623f0287ad45512e5a39345e21aaaca38fa69523f16d7a0a714bc4dd11d7a3e35381255621250d3e534cef1d563bcab9 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_73.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_73.txt index 0169219d5b..83a694e23e 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_73.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_73.txt @@ -1 +1 @@ -9dcad47517dbea198604f7b54bdbff87d9d5ed1c8b6f3b06a84fdfcc55496bbd26ec354b4885af3b6d444e03b96dbf27d69535667636a696e2016cb4216f20f6 \ No newline at end of file +96a0ea2f00e6c545ea330abec444220fba22eb8a9ab80e92376aa6ceb9f8bee2c823eeb038fbd28c876a114662fde3c9a0618f7f1e0e3c6cc4a9d28c9192d256 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_74.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_74.txt index 5b658753f2..05aafa541e 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_74.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_74.txt @@ -1 +1 @@ -1902d128894cbbeb3c32f388aadf1d3366c4be85940a10f5fbbed8435fc46f79ec8e2b6b4f4babc8bc3b943131aa1a2050393d8ca71c17ba9203dc4590b393c4 \ No newline at end of file +b887c1d62f1ffcc9d3c1bce41129ff0f7cba576dfd34befe7918baaf118e3b1d0a5bf1c05c697dbb86fd3e1944fbac95460e8d40025677ea81f7081a3c9bd112 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_75.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_75.txt index 74c22905f7..f44b20eb90 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_75.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_75.txt @@ -1 +1 @@ -86a39b2cd9ddb300c73e200254bdac705ca2dea4146202eab52a17dee86e36684792dd99ee9184cbe3bc0921660e39bd79e039f935a629636969b38ecfacc663 \ No newline at end of file +a05813d079a2ab7d7973d287f0cd0e24b3c085cdbb24df476c1994620b50f60ea89d94a0a6182a6695a36a10b8ccfe073ac3b285157f6b40b1bcea9010fb1773 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_76.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_76.txt index 5a4b806b49..567ed0c1f8 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_76.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_76.txt @@ -1 +1 @@ -1706ba637a0b4929582e329745d3e8185043c10dc993362e1aa7bb0dda9bddf1dbe977c974afaf8d531267d5767919855a34506c88510085f802645e6364838a \ No newline at end of file +d04296c45c7cc145d3382e594db0ffe5a7d8f9e6e2f60cf18b4cffb90210f7eb703c65a7de40d4969cab1ed13021eead8d5850cfbaba85c0dfdbf27ecda5042a \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_77.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_77.txt index d8e201a5f7..6eaabbd7ca 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_77.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_77.txt @@ -1 +1 @@ -99b63d744567e892bfb2bc51767b7a0ec1a8250aea923b941776a9d7fc5b4aadd47f68997b106ac675b0b152d4da9a769e79040d73f6b5e30be535aede44ac07 \ No newline at end of file +e1d7ace1bf7aa8d8e6e63c38c0b383a4f1a4f1a794f7ea7553f7fb23004afd309475611bc47acfbe4297fc738a324be5e942c5e4b4049546afc2dcfd23c95440 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_78.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_78.txt index 5f3ace6cda..16cf9d0e9b 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_78.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_78.txt @@ -1 +1 @@ -9e9bf0ee47ccb01def23551cfb2f09094ef10072f135fa746789fae405655e6143ec04f34b9034224216dd6688d6dce91524cce710ba74dac5c50b78903d8206 \ No newline at end of file +9a112caf4d30b54c157435b9f5e7acf5fd17b228f56a0e6c048a707943a0a200184ed26b9e2658aedd72143252aa3f0e711a2566608f5d4c295222ddae24905c \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_79.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_79.txt index f1c33626e0..69f19da8d6 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_79.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_79.txt @@ -1 +1 @@ -cdebfd3eaa16a6c117d15451b7c9a2b180dc83fc845a2ad8503b8a79390f03bf429120f4a1df2f888fe37b70af0b99b46fc5903607ca3cfd9cec6dce894a29ba \ No newline at end of file +9fce27e3ccc577a4d6d1c981f9bd110c924e79146cce6a19c92c1aac85508b6e09e24dbf93cf5931368de09b17ef5992ca467351c5151bff8d41a9489d781c4e \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_8.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_8.txt index 0e77f27e2a..19a447f702 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_8.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_8.txt @@ -1 +1 @@ -560e3ccce602b51527e70cfc70cee5a6fbdd806b992d0121282f1dce976de7da21bc0fe43de7eb326ea014786ff11720123215ff26c9441d92c0f070e1c588df \ No newline at end of file +dc1bfe97a404b448dee10458475f2c576721a3be3d027c0d48d4cfcc1ba6927422b532a205e5f933654d4ed3f287ee280c614dce29d3dd6c500b832f234cb973 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_80.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_80.txt index 09dc1abe3d..6533a0a0a2 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_80.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_80.txt @@ -1 +1 @@ -0c25b098f758b43516e3b2017c5a1f84c387d102c4c665aff6d1b8df941ef0bb15ca6d2dfcbdaff409cffcce9214f054930fea68870e10f7e3a7b531cb649395 \ No newline at end of file +c41076dc36ec247480fd71fed9d6528b66fed49c3a99a09e61ba5d2cfae337074114ba320abc0d1b16454af883f53b051ebd08e6639b704cef86714e1229527c \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_81.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_81.txt index a1ae6aa1a6..7ae2df62f2 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_81.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_81.txt @@ -1 +1 @@ -bcb0d63847cb04888db8a225311e26867fad10f88a4c2698a6fc7f06f51bd74de72d145b33b981afd3b75ebc004e48800b0a541a77f1d24d7be8ea395776e793 \ No newline at end of file +440000b753954f8be6a705cb2d9f1fa0245c189c9b027449af0b4fab325b4739ba9172930ac6544af73da136cf7d72707a8bab4a86ca1a88e5d74719c56844ee \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_82.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_82.txt index c75c67b3d7..9d95f06548 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_82.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_82.txt @@ -1 +1 @@ -fe872322f09b93492f240671ff2c06b22d946fa3c6dfcf433e4d48b49ed6662a3ac3c01c1ad4a8a1f9bc6765d4e1e3f0530382a27e5c7fe478f12dfb7e8f6e8f \ No newline at end of file +15a46c9abae48ac5b05600b1fb0722b35a42ade07b146599778b9a8f7792cff2326e5d4be58b2147e03fb4db7f4271628b8b4e729a8a2b7290ae4f8d19e91a03 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_83.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_83.txt index ad722e5fbe..042aa5dbe6 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_83.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_83.txt @@ -1 +1 @@ -5d6a63214f57c620576e315586594311354be066c7d4cca7fd1b06568ff039b59032bc2a782d8a0960bb8b8f912fbd091de5b35d91813faa99cd9c53592ab3a1 \ No newline at end of file +3c9cd51ed30111a1a461d80a16c578b1c56bcf1ca11ebc449809fc57ca634f3d36105992d8a232ed7626b395be7e2b129dfb7f09d4eae01cdff594edb6653d2a \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_84.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_84.txt index 89273cf289..13419d3e9c 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_84.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_84.txt @@ -1 +1 @@ -431a4e07f6ba31488657fed2cf14d88d401d4461d690ed3f7f0bbb6e615b82375ac6cd717df8d1374b445c402ee25d8b75c53ffc2e4f3e70dbb47ecb954105af \ No newline at end of file +93569f1bcb45721347651073011fefcc5d66e169cb242bfd6f63a4243c544f15d69c153f469b78a067a0e33ef2306b6579f997965ca8a7ee34ee58aade0cb5fd \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_85.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_85.txt index a2eaa73230..d4629cffef 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_85.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_85.txt @@ -1 +1 @@ -7865a2541657b2454d4c97d3fb72a80ab1453afc1266bb95f3cff0900e0ec441521bc806dbfa4e78d0ab5f37e6ca4607a71a006851e901a4d944f4d38301a815 \ No newline at end of file +6eb43d21881f614d948ed3627513149695ac3b63ffeea2076490f6fc76c805a08a7dc138eb8e067cf5e808a93905e25eeb1942cf54c355a179967c5511f1c38b \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_86.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_86.txt index faff9343f4..a4124d2694 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_86.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_86.txt @@ -1 +1 @@ -9c30c053de8434869f884ee946bd0db8a22b215f7f6d85bd2df46b0a533f904b272103c5039ccd1380ca04ddcc4a68bf528155077bfe97c666c1eaddda62f3a3 \ No newline at end of file +13c834fbbe639c1ebfc0b63691a3031c08f06f050ac3ef9319fdd89c05d8cb5dffee6cf085a3e56f6118f907b7511fbedbfb4ac47236c414a21bda5d41e0c3a4 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_87.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_87.txt index aa51ceab8b..fd168d350f 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_87.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_87.txt @@ -1 +1 @@ -362edd5f9ac5cfccfbf45ece906a7ca613bcb971f00c6f4c1f5c96a3d6f58a5a370b659ae47a09ea7950b93575e0c77258a6e642f33a2b5af770b4e2f76307a9 \ No newline at end of file +8a89cc370473639dc424b66797becf85c509a4f168445567def898f8b37a6ca7485f424381a7edb97dc5d66f589e44a611c9b7e84802fd815c0eed53e9e2a47d \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_88.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_88.txt index 533ba78b31..e9e1c745d7 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_88.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_88.txt @@ -1 +1 @@ -a6f3ac2926705a47861c9e4704c7494a79c1da31642b8c0ed4c3f1706ff0fc3dcafee7283a26982a003d7c7de2214de532ce137cf00dd51690357f49e882a125 \ No newline at end of file +19b1d8974b992f2fc9bccea47ffcf33fa9a7d5a955c5b6f1857808693bcf6bc3ab7c0b62adc1156ad2875de3fb133e8259d77f4ff968e3058b08deddd0591ece \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_89.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_89.txt index 91eb5dbe20..866933620e 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_89.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_89.txt @@ -1 +1 @@ -1f4ea6317004a0ccee3698eb0d4e3a85eca6ae49706b4acc68c4e5019c90fd595e609b65deb104164cdc453ee3c71eb63c7ddc2eb7446c33d5b4b54923554785 \ No newline at end of file +81ba37364d520fcff07c76d54432455ac962859b5a34443d20f28676045722258f06796bc3d6e32b43df4437e087abd1677ef23925f1fca4519c27ed606ec358 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_9.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_9.txt index 0087bbb014..58d529a1bf 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_9.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_9.txt @@ -1 +1 @@ -e8a16df33a41d0937200725c09f992a60606e80d5efed27ec8c57156c1be9a0a4024ccb7d70b2b95438d2ee588f753738c410d54137e73bff18c62bc5d45b79e \ No newline at end of file +e2ac71084dce38c445885989e1fc49e404bd4046cd67252b1010ecabe928e121ced52e433f4e606778acba5a59733e56b3e631baf4483f3153a83e7c168ee6da \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_90.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_90.txt index 4c284c594b..1acef23a81 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_90.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_90.txt @@ -1 +1 @@ -ab7d270ef50a23b764acd071398da9499161e1dd870a3426bae1841a658095c6d8a1d186b8ea95fd53ee98b38be02364d58564ec0a9a1c67e748726874b419bb \ No newline at end of file +75be981fdd20806a2356608139b4038074dc11b2aa33ad0277af2e296138aa199e7576a7ec2b70272d6d4a86da0becf9eddc04d73d711ceb274b38b82c6ccf76 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_91.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_91.txt index 5d743aa8b3..6bd63375e8 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_91.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_91.txt @@ -1 +1 @@ -ab347ac5278811962e5b5d4297e704dbcc17cdc9b99d4a9ce424b2f74cd3578c250fbfe7f0521718064c5121ccda038f68c5f1df96f1b3707ed8322a60f93477 \ No newline at end of file +eb94f3cecd9f96711db19d4307b033620cd9840de99118db8825a5a3c840ed2b44bbbf1861590cdee86acdcd417b870a16aa7076bcf8d77d6c4806eb530f9495 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_92.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_92.txt index 25f8399dcd..fd0ffcbed8 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_92.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_92.txt @@ -1 +1 @@ -36f48312315dd0e5061d1990fef967ece484b21b94c86ee989acfe3d856f203df8e09ef5599e50c4abfc0db44a8a8d7921af442cb418d93684877e5353940d22 \ No newline at end of file +a1372f0997ce31b01645905b0919f8b5be41c912ea3356bf52d3c154eef6db3d37d9df1ba08b45f931386a099be1d2234b73689113cea3596065202b231fbefc \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_93.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_93.txt index 84c90b2ca7..caebe329f8 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_93.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_93.txt @@ -1 +1 @@ -3b437bee53675b38a2519028ba7484e324237360619026826861e1411a98c84c000c4fce05606ddf556438ac1b7ec5d9d4e3cc626d5c5754b43b01dd17688131 \ No newline at end of file +0f29647c62519870d193a8f7dd32fbc526751a00a63ebfb46c1bf10f9bfbe5becfe721237e11522db7922500cad5d2bf3431f5c56fb265b3299bd91b449a7540 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_94.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_94.txt index d3e7303237..6f33dd0ecc 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_94.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_94.txt @@ -1 +1 @@ -2a4f4ed0decef08aa2a9a4cbf92c0af59943134f84ec908af41b28752f5601e7834ec8a145758ce5934ac84e3804d1b1f519bd27b8e366529f3f5f54eca8f70e \ No newline at end of file +fff32cf501d959178e8a0b0a21685fce7deb635ff47538b7c61b53fc086494dd8ab4df73f8170a444bc072483729be6cc86b87f4ac843b51de2da359a03747b4 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_95.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_95.txt index a71d05fb91..8c9f9ff9ea 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_95.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_95.txt @@ -1 +1 @@ -38bb20dbfba2720725ea233bc236b6fd4ca8f1223f5bed7cc37916b8da95ae9e8bd5043fb3a63cc7d9fcd6699f5c6efd6acf2ce6d710abb92edd074f56ca934c \ No newline at end of file +1a5dcbb8913ff99a93d578e656454b08d027052cbe8e3639c8385fa8aa3c6124de2d7d40e9f973ef17a7fc072707172574e186c72f5c2dbae615ba17c96dc318 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_96.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_96.txt index ed576c77d7..b0520e1fe4 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_96.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_96.txt @@ -1 +1 @@ -ac546fe08aaa6e76cb76c5958dfcc6aa4a7e181fe7f6e81622501f142b94bc91fcd7456571c6837cf63a308a989817e425e5e166db7e6f83836afa251a124f5f \ No newline at end of file +8aea1c997c29de07451837ccd10b5d8b29c051753f8fafbaff9e285ca5b9f584b751fcc91c6aadab5cf49b3b54b9bf71055de7e713b5135564afb399ac3e79ab \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_97.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_97.txt index 658f52c2e8..287a503402 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_97.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_97.txt @@ -1 +1 @@ -28cc29485b0e9cf4d92df7b85430b7d90d1d7b9380d5855064674dd74de2ee531c2dad7acad45e1d39a484d24d14b065eb786878ad1263df456a942977780c51 \ No newline at end of file +3370ae42ef8ac4b38a616de1b627c78b01d225a3e42e32cf8ac1f9b25cb3390e72ae261cb52818dcc97acc03718bb8c322ab297a9e63a2ece642f50cb8715848 \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_98.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_98.txt index 8014118c07..667ef252f4 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_98.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_98.txt @@ -1 +1 @@ -15cad26010f8acfc4c7238911c655fea43ff8604d3a96daff3c7e51c3ed6727145b185fdac3278000a41be8c7f228dfe3282f54631c8d58000c05181a7894537 \ No newline at end of file +03f1447361ab12b58fdf874c5c5f5ce13c9ea2799d7dfc3f9f7c901e113d266e7190150d5b5ff8c1cf64a4f1b17f3f6914c5241b776b92d8b731f902c0faf78a \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/effect_hash_99.txt b/crates/core/transaction/tests/signing_test_vectors/effect_hash_99.txt index b66c1bc9d6..e07757035d 100644 --- a/crates/core/transaction/tests/signing_test_vectors/effect_hash_99.txt +++ b/crates/core/transaction/tests/signing_test_vectors/effect_hash_99.txt @@ -1 +1 @@ -588256d6077a82fa68ed82ca5ba1c43086158c21874ccbd1927d59cf065a9b62feff874fd93532e59cec30811873a568c098945575ac139a1a0b0e9a5d1ae3e2 \ No newline at end of file +2e4e94accb52fc6480fc54681c16e25c4675222991a0b9513aec24f2c25b52fcccabd287e9989de24cc80040198fa73780eec5b22b56c016f70ead1008d07f1b \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_0.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_0.json index c2de0e410a..6b975ad5f6 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_0.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_0.json @@ -1,103 +1,48 @@ { "actions": [ { - "validatorVote": { - "body": { - "proposal": "734178146", - "vote": { - "vote": "VOTE_YES" + "positionWithdraw": { + "reserves": { + "r1": { + "lo": "13648740409960435" }, - "identityKey": { - "ik": "M+KCjFBoz26jhphK5GxrofTA5S1FjNumOTpvxDql5FU=" - }, - "governanceKey": { - "gk": "0K9/IhGDnY0HM7cKc6BzfZqH+woUX8N5BFzt9+t97gg=" - }, - "reason": { - "reason": "MaTOG8ZA81BaGY6snYzK" + "r2": { + "lo": "756856335878883454" } }, - "authSig": { - "inner": "erfSdVw34DGkIbzsI5fD4G3YzsV0NuCJxPl1wEB8MwNdrOmqIXIy9ecDDozV3yW1NdH1EO0Rz23scMbiFIiPAw==" - } - } - }, - { - "positionOpen": { - "position": { - "phi": { - "component": { - "p": { - "lo": "398983242223267371" - }, - "q": { - "lo": "174252255376395430" - } - }, - "pair": { - "asset1": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - }, - "asset2": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - } - } - }, - "nonce": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", - "state": { - "state": "POSITION_STATE_ENUM_CLOSED" - }, - "reserves": { - "r1": { - "lo": "9696041976274794" - }, - "r2": { - "lo": "462018430045093463" - } - }, - "closeOnFill": true - } - } - }, - { - "actionDutchAuctionWithdraw": { - "auctionId": { - "inner": "xsRCOlxNHiX/h9AeLtuHVj2+c7JWQXmLz8UFuTTO0Ts=" + "positionId": { + "inner": "STNeLtIut4nZAZOgE2tGZMRof1ge1GThQiZ0S3ReG20=" }, - "seq": "45580760", - "reservesInput": { - "amount": { - "lo": "12303585269341678" - }, - "assetId": { + "pair": { + "asset1": { "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - } - }, - "reservesOutput": { - "amount": { - "lo": "324597899784941655" }, - "assetId": { + "asset2": { "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" } - } + }, + "sequence": "1" } }, { - "ibcRelayAction": { - "rawAction": { - "typeUrl": "/ibc.core.channel.v1.MsgRecvPacket", - "value": "CrIBCMq4tpgEEgtkZWZhdWx0UG9ydBoJY2hhbm5lbC0wIgtkZWZhdWx0UG9ydCoJY2hhbm5lbC0wMmQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOgoI5NbuKxD/vetKQKCW5+KZteqBGBICCgAaCgjk1u4rEP+960oijwFwZW51bWJyYTF4aHhqN3Z5ejRydWxhdXh3enF4NGNsdnltd2w4d2szcXA3enU4cWpqdW5yMGt2ZXo0aGd0bnpudnJyNmhoc2g5djU3bjJseGFsZHdxMmpzd2QyNW1jYTk0YzZ1MnQ0dXd6Z2c1azgycDM1Mmp1OG14NTcwaDB0M2R4eG5xcGw1cmo4OXQweg==" + "proposalSubmit": { + "proposal": { + "title": "eruqiigybuwslelyedqzuejy-9415523", + "description": "bnsgnfxdfqopuoofieudfassceif-7983516", + "signaling": {} + }, + "depositAmount": { + "lo": "755307093195598306" } } } ], "transactionParameters": { - "expiryHeight": "1826436459", - "chainId": "jmuxcavzgvycljsrxop-0521683", + "expiryHeight": "8043970505", + "chainId": "dgptroyoifjvsxy-559380648", "fee": { "amount": { - "lo": "427956015384633665" + "lo": "428924731905324533" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_0.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_0.proto index 42e07d6378bc38edd1bd58ed4e2cf6086eb82a4f..2222eb386548fc1d6b07e904fc95527817f87206 100644 GIT binary patch delta 223 zcmV<503iRi2c7~&3XK7R0*L_%7YYdo^Usl<(5{~t5()_ZkixLNnz_IV5+Vv9Ni$w9 z(k{1&*#VQF6Kh6f#Att59@J#vLMC)ebY2^68j;>fe;@%0Tap1-3Q7tfWpZ_KX=!J9 zVs&?OY-MbDWn^)Bb!BRKEjctXH8nCb5+q`7b7yX5cw}aAZ*X;QZ)Ry_b!28?b8};5 zX=W`qIXE*lF*Ygy8VU&F(}vQ@`PjV*5-$kJ|J3^(5*cJ?aCCBSd2eZEYIbvYc`Y?H ZIWssg5jHe98Vm{w2=(jY#MYSh`2|rzRK5TJ literal 950 zcmdZHT48!oX=a_HpA;lPWHkt2cGJ>_S{}( zX_bG(YUz_uC7_xM>+6*So9Fhj8*k?-UQk>+tNk~ZNc`bSmYBESU)R3l&=TVk@l6cz zcejXgv@mo^bdNME&Wo(_7INZpsM>z1G{*da;S$9?ZF3GHwDKYiFEWcbFE|i#JGx)YdIrV3YUZs z7su*5TMk@Ya_=uXX7bM%c1zb$Eh{xU|T!12rCu%FGZ z+5BR)t4bD`=0dvK0ikg=&0*|rcP;pb!!Wo1|!!5 z#$C)kj3D#tOwZM($d!kbMK%?I6 zKKgps!MCEsxKPP}3uxhk$$#cGojt%pj1I0=<}SuYX0CrsTuSoJmup*-(%e<_z%A}|?C$Y4mysEImBsr(7GPgX(qCDHUu)w^k)S@set2D33AiFHJ z$|NJbB(Ey3tfM#{KB@GvJH_JCVvd8 z>qqVPsC_Fp48}~hdj~5;dn^t`T75`Vh9LSr!+RQ13Q)9ss*B7DIGB@K=|c)&6W2%!1?|Nj4u@_!3DAmOsn?q zHO0l!P$;omAKH^WkW7QNkweaP)|L4%1-9q=1gHG;F|MAt3^E`C(>evv~FE=qKnSGva`?a_&&NXb`(ZdSwS zRsk9yUnzzB#m2jADL7*$fWdUIyo?^7y(KB*)RtgX5eq5_A|PiJ^2SBi@{wEk2jyuy z1$~r4OxjWcT*Ln%F}tcDD**}^vH=wcwNJ{V6%q;v(%H!NvFQ863mO6v01`R~(6+Dh zBoZWaVrye~dSYgBc64uaZ+U8FYhq<-X=84BEjKVZIWRXdG&MFF3TpSl(&A7gF`QqKoliL_o>lHHpwj1qR*by;3x9E4f zRD)L~$L{X0b934+-}SoEQu9VlDu^p!{kD1k-wS-bd!clJ&g=EZ7}##G^&gl$KRq$M zgVpb%;0c#I+jK>~Z51fprq}D0dL(RT&AGpaEgvXd6082!!F6H2#OoCh z*o7J2z6;!*-?Qt)NnI(0dIQBxqPs=!q+Viv+VG?+_jZiv&rc=EB}Y^avyeeR%P?qCVV0Zlcch(G+sf%xL{N26rk<-oIIonp%UpVpQ z=<1J5TyvNX@yuWX2G6WF-7Wn+yRWbaadUAdn&qT=hI+dhO7$}qq~?|8CKV+brd3sy zn&noeW|!quBxjkG8JHQBn57gJr)8Ao8CaO* zq?xBwRHY@FrWEGoW@J~HS)^uV7o?|~7N-^~0V8J7rAwSD%AbEkuf4dpRixlQ*%2eNAqv&wa0b z<#0lcfJRG=<%7%bwRkwb?|gKhNuYJ>j!#ThoXHu9d3mWhx&~ZF7@HUmFmly!DRC)W zI?gdgW8de{N8f6`UtC*t$58Dud++SWEB5c0v0i@bM?oQl?=_p3mYaS)|FgjU=G0Wy z_GSM%mq?sGa{Jn9ZhwlsK~^ob!@s|0pBmr(lFP4oS4^GNum8j$#^Fg|`+vr>UJGKl9z~Z# z2v5JqBxKF8==g`f;zFtgDJiMRdbxS28Kt=?8ASz!x<*EZ2IdwHnwsD0BuKqf&c&j diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_10.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_10.json index 035ac52c29..884f9e033f 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_10.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_10.json @@ -1,66 +1,100 @@ { "actions": [ - { - "delegate": { - "validatorIdentity": { - "ik": "2DD/chk5YdK22L1I3rTCZx/w58xmyEcBwGyhNQYaliw=" - }, - "epochIndex": "669", - "unbondedAmount": { - "lo": "270330855486289586" - }, - "delegationAmount": { - "lo": "328798106370388332" - } - } - }, { "proposalSubmit": { "proposal": { - "title": "ywvqymndsk-75270024643337517299763461", - "description": "kxfokuhbfdqzuxijmqgaidkatkq-690630951763", + "title": "vkdhsftlg-6340666030193708661", + "description": "kwoeai-4793102263178515169356716579", "signaling": {} }, "depositAmount": { - "lo": "216221221416320389" + "lo": "12909196238215414" } } }, { - "delegatorVote": { - "proposal": "432345648", - "vote": { - "vote": "VOTE_ABSTAIN" - }, - "stakedNote": { - "value": { + "positionOpen": { + "position": { + "phi": { + "component": { + "p": { + "lo": "601933346084361823" + }, + "q": { + "lo": "199758989564752483" + } + }, + "pair": { + "asset1": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + }, + "asset2": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } + } + }, + "nonce": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "state": { + "state": "POSITION_STATE_ENUM_CLOSED" + }, + "reserves": { + "r1": { + "lo": "194218140268482907" + }, + "r2": { + "lo": "760758746492025233" + } + }, + "closeOnFill": true + } + } + }, + { + "actionDutchAuctionSchedule": { + "description": { + "input": { "amount": { - "lo": "550593064295398233" + "lo": "610494058979516937" }, "assetId": { "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" } }, - "rseed": "bwyn4V7Tfmc9yXPHIBJFkmX7c681Y9DlmZYcf6pSn7I=", - "address": { - "inner": "lsaxy+MS9biAcPNVyhx3bUpjbDFkA28S3kfC9nSVzmzSHfqADz+XPPOQCIu1YSugfrBAKN2YVxDDYDsvrvuEuY70+NUYNPwLdfzPWwsRMnk=" + "outputId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + }, + "maxOutput": { + "lo": "828438600773162744" + }, + "minOutput": { + "lo": "957584202670255169" + }, + "startHeight": "753301358", + "endHeight": "753301359", + "stepCount": "828250991", + "nonce": "hVRRXBjJ7eAkQnDET157fullW1Wlr1/rjFmIJ2rYOdo=" + } + } + }, + { + "communityPoolSpend": { + "value": { + "amount": { + "lo": "790523462100311735" + }, + "assetId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" } - }, - "unbondedAmount": { - "lo": "21769842851469698" - }, - "randomizer": "0ny8l9DX6ysyFucrB9D41g4aNXW4WyPCARE9io7epQA=", - "proofBlindingR": "3OJ0tnH7l8fdEvGzqCgQk+kjvUI24caRhJIfl4JJQAw=", - "proofBlindingS": "n2mdBevmqaNlrVEuEPowouYfx7NAOUuuyZJb2A9TVws=" + } } } ], "transactionParameters": { - "expiryHeight": "8313699849", - "chainId": "inqirnjanjgtgxedavvxghxm-46721656813046370851", + "expiryHeight": "368984369", + "chainId": "jmqptcwrkav-5457786122718644", "fee": { "amount": { - "lo": "37721920543956097" + "lo": "265854478781762380" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_10.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_10.proto index f1d4eb52ea34eb385eec0bd8bedb136cc3508918..ba4f128e0a8716d573905bce4384ed522a13725b 100644 GIT binary patch delta 387 zcmbQuvXG^oD{K;DFqa#bY*}_nMsZq6PP(p{v5A41nVEsHfuW_bxq*e5nW2z!c6okk zVy3Q%xuvn8fsv7!v7xzzsiCQ%nWeF*nYp2vskx;VgA^ynw~b#9w9o!7#d)Z2npfDK3u3Pfopk`2F=GCLtydu8C(=CZ1J|U?2dbm^he} zB)GUZZZGP;`?9;?CKJ%miJ!MUK6!A%aV`x;u9b|dn3pngEn?&{0IKRda((*g#k=-! zOgy7H@vL$@(AFPocdj}$;p~2HB`%JGH}*|kvZHY+ug1G~GoLdVya$mM@3;NvVs=t! z4GD~qIQjO0ic`T6|G4V9m#NXAOV`K0?uqPB&$?lGi_3Hpvk};q?R%ehyqL4#4;RoD zVC)wnHyS|nV3lN03CN`+WWKDmM^%$ F3;+pyh|T~2 delta 515 zcmV+e0{s1<1e*kZ3PQpHKMEoWAlNYfav3>c(ze*WNZz!V{9>G18)-EN5b}WmCkI^9r}O|KbJi7kO+&lVJo11us|r? zm{$96SV)qf^BAkuuim(bViD>4@6 zD+kc{)(#pqb+}t2!T}LIijLl;074+#;&irg`Z!{Pi;dK56};8H{ffi)%TB6qY7u`2}|;i*BDkap}tMyDB{P zM)*yCoO8{6EvtXZX3=UXzLM195{0tFoXnKOlKdhEMlU6VAx{cjS?iBfUX!`u0Kk`?* zh7{Vbe=T+C)bm%fO=JxCUsUw&PgLK2z523Dbm`(7hjtWQDb{@S*j&ds+K1V}Gfij0 zj~Mn#s(%ZgX1}u1;^z3c`v$APhCe?hFk5jZXC&t3rRHes8gQ*={KUALk!uAbR|=N| zFcBPUSTf^P!-OstDK3tstG@j_z3S!x4j~V&$pVZj6Mg+s8df~MHDlqDDJ(#>|0cJ7 z-S+JGe|8NR@F}JiZv@|s}H8(Mk;sHj``W@fS^&ekX+1(*jZ3aT8Y z`wj|`0uqh_3NQ)^2(Jb$u>ley3Lq)!oG&wR_LEft8h=s>P_2|jZTigT+B<8% zrJ`5Qmq1Bh*^f_@yu9(W^9fH&RLKok`FwgefAx`TUgFq_SmmkI$w{6pfj5+>(FE0Y zEO|l52HZteA*cO!+br#QSsEbRR-chF_@PUK`}_7iGUlyyOCN%;757l9MaC57r<>;@ zAS@DOio&s$0)Gwm<@?8#J=l?c;ENT-5PYC}XINr^Py{L<*`OjES!4U*s>}~vE~#Qv zkan*ASvpcFEerWq?1+x8h?w~$bxfN7oKdV%aElI z`I0sb0IHmsy;Y=-yrX7Dd-4@W8_V*B@ zijsl)gCZIrPk(aMdGO|@!}kBR2{C%q*gE5DKOKrj=tvKPn6BPo03sk1j_{|TKRnug z%o7$|l;f=sQT#=QW>Zzt6nY3l>&gHsAV{KJAdg{G`u7P+ap@ea;JGgaz*poHR7;$Y zjUWM43Nj$!6S#MMa04EuXmFwbGQ$75g#WD#+l48=-cD^oSVKP!5=ID=f}N}x5-@XY zYj9_GYh+<`WOQY5Z((w0Xlr_OVPtV=Eif@PGc`6iGC4LkH#0OjIXN{oFf$qq3JM6C L$M=Hj{Lrus_zP)B diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_12.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_12.json index 6a54185220..5428f35bea 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_12.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_12.json @@ -1,10 +1,51 @@ { "actions": [ { - "communityPoolDeposit": { + "validatorVote": { + "body": { + "proposal": "737860699", + "vote": { + "vote": "VOTE_NO" + }, + "identityKey": { + "ik": "2zSKoclsheomE1Z2zPe0KBF8c1uD1J50St6CMmebA8U=" + }, + "governanceKey": { + "gk": "xEzm3ufW9SI0vCFCAYW0XRD2dIuECpK19iKSUIoF9wA=" + }, + "reason": { + "reason": "n6Nj7UbCD1e" + } + }, + "authSig": { + "inner": "OC8hSOl6VCOqZq+wlR7rBt7ngeGUhgS7FSdxkxphYg01FgT0MoYzf/KII+a2wNGiFm1IkhQzQ+TMDF6CUhTXAQ==" + } + } + }, + { + "ics20Withdrawal": { + "amount": { + "lo": "644001588327089470" + }, + "denom": { + "denom": "1rZ9U0PMnnq7EVVvLM15YY9hQSDLkyTp" + }, + "destinationChainAddress": "penumbra1lk0edk6s9gkrmcepuaamk75qf74eu3t6tgqudxmkyegz9g2urscmu0ruwckt3vvjkrmurztncc5gzkqxvlct8fm7cnnc3qluxyc5vfuhjgcrktegj564g0gvlf3jrqleuztzwt", + "returnAddress": { + "inner": "52JzuK+NtoZzgJC64t7LqVneBzxFrgBHxcP/+R/BjvydnPWp62FDo82qx+h+szaIbmmSE3Z+CbHOonCxoL/o0bvB4I4UC1XV2oAlnaKLF1M=" + }, + "timeoutHeight": { + "revisionNumber": "613171166", + "revisionHeight": "316680151" + }, + "sourceChannel": "channel-0" + } + }, + { + "communityPoolSpend": { "value": { "amount": { - "lo": "842479024237700718" + "lo": "467365412505888176" }, "assetId": { "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" @@ -13,37 +54,19 @@ } }, { - "ibcRelayAction": { - "rawAction": { - "typeUrl": "/ibc.core.channel.v1.MsgRecvPacket", - "value": "CrQBCPKY0aUCEgtkZWZhdWx0UG9ydBoJY2hhbm5lbC0wIgtkZWZhdWx0UG9ydCoJY2hhbm5lbC0wMmQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOgwI2J/62gIQioDf5wFA+PD3o5216oEYEgIKABoMCNif+toCEIqA3+cBIo8BcGVudW1icmExMGxkamV0MGdrZGxlMjdqenhjcG04ZXIwanFuZXZqdnhseDJqdnBlMzNnM2dzNXBkdWhodjhhd3NmOHp5bXIzODUwNHJuOTlnODNuZXhyY3NjenZuNWhtcm5qc3p5dThoZTByN3ZrNThqMDRodDQ4N2N0eTBkeDM2eDR1OHRwc2VnZ2h5ZnU=" + "actionDutchAuctionEnd": { + "auctionId": { + "inner": "PJ1+32nRIYQgCvf8clmG1FlohFzqkSsObd1MAcJ0sGY=" } } - }, - { - "undelegateClaim": { - "validatorIdentity": { - "ik": "t1Oeu+lPkxKLBOapLc4pfn6AFVKYXWZfEUfEg1uaKls=" - }, - "penalty": { - "inner": "AAAAAAAAAAAAAAAAAAAAAP7FbVz6rNnoPkJa7mMfigo=" - }, - "unbondingAmount": { - "lo": "801434380644204905" - }, - "balanceBlinding": "kZoXFQc+EG9iJspeEjjurco7HwTtH49pssWng7WktgM=", - "proofBlindingR": "T2scn3ZvdkoA07DNLRtT2sR5O3xvhBt8KAWvhJOxNg0=", - "proofBlindingS": "z8N4Q7nfBP4mONZviIoU7A7XFNbmZvqA3XJcI4yG/gY=", - "unbondingStartHeight": "21401" - } } ], "transactionParameters": { - "expiryHeight": "4435935439", - "chainId": "jtdlkbidulz-665965532517491243", + "expiryHeight": "5967159869", + "chainId": "dkpqfakzletaqbyshaugajusqrixyh-90872977", "fee": { "amount": { - "lo": "767764384364047948" + "lo": "958926249489581173" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_12.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_12.proto index 3aeb9dd42919d64e0706683a475ccce92f9bf0a0..fe469bbfb8eae37f5fb38a77d45e173018e01b3a 100644 GIT binary patch delta 623 zcmV-#0+9W_1%m~D3abI40jB{9VF=r}>)!$r0tf>dA_^eeG>W0gY=!D36IOQ2_p~Sx zd~;ia)Sh%o-hwh`n*+rnA_^eHOy=I_*7YJZydgpXg|uA|_H>Jc3X-+jvI`=Yiprh6KA6CvlS+VPXw6 z76kM%hBJTih$H5ZAg+7GehLe3|@j#6xRU?vjV~luL24R2)>G#n1zA;_XrXq z3Lr6ZS~*oPP)%-baW_R)R(4EHF*R9PIcQN+L`-XWRB#%P0dQq*b!}pDVKHoLFlA(G zHgh>=YjSOWV`Xr4VPS1+H#Ko)H#B8+Gjuj|XK{68cx`KWWoLRhXEJqib7O6FFmiQw zV{3FXc6MrOa&2{TdUS4MV>M@bYjJpXY-4mdW^FfPZf;{Uacp&Xd1EzpW_4(4XJc|} zbY*91H8wP7FlTmbW;1GXacpIEdUSesbRtp;Q0HQQbGWaKwuW2;Tp&qyiAv&w!T!ItgQFVQy|^Y%MSfHIf4|3NQ)^2(ZiEh26`Vz6KH^ z3Lq(w7$9dSvI8UvA_^cpoqpeG(IJE&3iteSS%%bEXoOtqkt+^u-An<(bg*U;JqW$T zuALSVCuD1Iab{s_dTeEMVR2%4b7*08XJKk}b8&KMczI|oIWRakGC4Ol8Vm{w2=$2n Jl>W-Hrww__|KtDw literal 702 zcmd-wUBqm}Wx&P7@$St0%h!(`y}>P{#HFD5YL32f;kPC2&tJx<6gYla9QL#MHJe|o zw)J@qnVrfoEKz>n)6em=Ru7MJ=xE4a(D20Izz>0_C#{6Hm zm;|~S?muUA`0?TU;<;O2HA)CEaWP1t$SL(R7Nq8t<|Y*-8XDxJWTloEq-Uq(q#BuL zRaGPx3W8RHl`39b&x1w2zSs7;W2w=k0#!KUt`o<=INzbDDK^4WdCaV$RqyY7nc?n$IGUx9jm)8_H!F4Oq?Yy%5Eo+ zpQLswPRQcj+Edo@EN|ueGdCSw-n@0mHfAdY|7@B0W%*@Z43{^Y)s+sub)?d|Ccj0x zMuT;I%jAt_yiN+|4_7$vywCDa&Ei^qN0-POzUv~_o~8Y2xLXvX+|%}t&12?rMj;c9 z^Nn*33kb<&m89fkCuOFT=2YpLnVDLenVK3KnHrj#SQ;9c7)$X0lj@l}cTVov^71kl E0En^WcK`qY diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_13.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_13.json index 6dae7ba65e..e937f94dcb 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_13.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_13.json @@ -1,26 +1,67 @@ { "actions": [ { - "positionClose": { - "positionId": { - "inner": "mSHwo2i5YzvPusdoOrhcYl1stJIFrRR7mOTlufZ9mK0=" + "actionDutchAuctionWithdraw": { + "auctionId": { + "inner": "7VqkK8r4+LjEjibDjcy6lEyQOMrD1GOLhHlgNZVbxuY=" + }, + "seq": "344260043", + "reservesInput": { + "amount": { + "lo": "202717122495478987" + }, + "assetId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } + }, + "reservesOutput": { + "amount": { + "lo": "852915895491359987" + }, + "assetId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } } } }, { - "positionClose": { - "positionId": { - "inner": "KrohYFW3AiAxd3Sdfuydpbp7Lp2G9fNQwra0eFnPQkk=" + "validatorDefinition": { + "validator": { + "identityKey": { + "ik": "kFLH+THPqFcgmeHkHB1P1TH3T0ZoRqXFULot1IVoUQo=" + }, + "consensusKey": "0lEUYNdTh0nbyZhuxF8mCR9k7YWl+zCZwoWAiv1EWXA=", + "name": "test validator", + "enabled": true, + "governanceKey": { + "gk": "kFLH+THPqFcgmeHkHB1P1TH3T0ZoRqXFULot1IVoUQo=" + } + }, + "authSig": "OnyVtDsEae29pj948f6bDEKiZ5MSolrkSdzhtogOpgR8M9/NHG3uFThCbPXfexG9L0g8vocy+AsswOx4tzlfAA==" + } + }, + { + "communityPoolOutput": { + "value": { + "amount": { + "lo": "362303330762116970" + }, + "assetId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } + }, + "address": { + "inner": "lych9nwg5qpEJgZayUVwZQEOqBKSBPstKrfLy2Gu7nkuY19p04NNG5bmGELYF3lGa9r0EQja9uFPnlvj4R/ULlGReWs7IEKytEGZE9b6gQg=" } } } ], "transactionParameters": { - "expiryHeight": "3949352929", - "chainId": "qrfschiqxdgzxb-892924459211469308974498987534", + "expiryHeight": "2862319137", + "chainId": "bvqvpyxzxrdkbsakjyfdbfdnvsns-2146", "fee": { "amount": { - "lo": "769594145860330082" + "lo": "826167708543284896" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_13.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_13.proto index d4d37d1b9ed03e5c9989c4d62b8f88d645c72e1c..79600f3c49def54ac88ecaab8f6361a60036df19 100644 GIT binary patch literal 546 zcmd;@#JG#OkC97>OW|$Q675qze(X5Xr*^pa%&sXu6D&?0zLMPCQkh^nHTu{yfz!Vy zFJY82;Ns#q{qya^hevu|FbM(mX}+4HZ(R6oN&EAcF)9U)Ulxb`Y<|t=7prZ3-biO< zmVgpS$LE*pKb$+?^_rU)9b88kn-~u;a@ByGH6iHuPs8&o!WCvdd?F+3f7S52zgvde z(xU;pbg#5#1ab)}TnZFPxE|c@dHdvyyd&{yoboAeTbKSen0ctRq3f?pWPuc4NosM4 zLRn%?W=dj7evt#C7cu5KSk+A3V$G8IcJDI#ijV(h^EfR^pDeT}>WSx_hub>%ma)_r z-#;sp`%cutDd+3`YQeqw9ya^hjecKRX-?)+9eV=Wg diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_14.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_14.json index 01e3641917..b4a7a3000b 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_14.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_14.json @@ -1,37 +1,101 @@ { "actions": [ { - "proposalDepositClaim": { - "proposal": "689883150", - "depositAmount": { - "lo": "169393152499615694" - }, - "outcome": { - "failed": {} + "ibcRelayAction": { + "rawAction": { + "typeUrl": "/ibc.core.channel.v1.MsgRecvPacket", + "value": "CrMBCPyRmdwCEgtkZWZhdWx0UG9ydBoJY2hhbm5lbC0wIgtkZWZhdWx0UG9ydCoJY2hhbm5lbC0wMmQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOgsI4vejvgMQjqbra0DwwOqiuLu2iBgSAgoAGgsI4vejvgMQjqbrayKPAXBlbnVtYnJhMXphZjVoNnpwNThnODdzbmhwendxOGNxYW1obW51MGNwZW5wdGs0aDNrNGhscnI5Nzdza3hrcTY2NGNrdm45eXR4cGp1eG1mbndwbTN0bjhqdTRtcmVnNHA3dnp5dHZmdXhlM205eXV4djU2ZjY3ZWtmdHdwYWZyZTRqNXEzdHM2MnB4cXMy" } } }, { - "delegate": { - "validatorIdentity": { - "ik": "wqA9fnZGn9YTV8TB7X9XmyYUMdcDvA7aW1KNHGa1TJE=" + "swapClaim": { + "swapPlaintext": { + "tradingPair": { + "asset1": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + }, + "asset2": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } + }, + "delta1I": { + "lo": "903962750346066958" + }, + "delta2I": { + "lo": "64239544125562429" + }, + "claimFee": { + "amount": {} + }, + "claimAddress": { + "inner": "ntQ86q2E4T5q5xMfPa8+6Y6UUr4gnvysSCxrrTAEULTwhJBAsGDkW9M3DoB8ZxSoZsUNgHa/MLmZTjrBOcTpsHhTs5c7xmeGEs/YYFTXD/g=" + }, + "rseed": "yddOunWKNbZba/amCZxMkRn3/6fYYaE2RrQIZy27420=" }, - "epochIndex": "6726", - "unbondedAmount": { - "lo": "972176713087358483" + "outputData": { + "delta1": { + "lo": "815550387" + }, + "delta2": { + "lo": "421335002" + }, + "lambda1": { + "lo": "623" + }, + "lambda2": { + "lo": "1368" + }, + "unfilled1": { + "lo": "1848" + }, + "unfilled2": { + "lo": "473" + }, + "tradingPair": { + "asset1": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + }, + "asset2": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } + } }, - "delegationAmount": { - "lo": "885414211593882465" - } + "epochDuration": "1000", + "proofBlindingR": "OMDsm6GKR3aOoN01s0slY5N+oYx7LRsXtEg5axJyewo=", + "proofBlindingS": "5FYCaEdllB89f+pIAJAzl7FpCeM0nfclOext0rhXmQY=" + } + }, + { + "spend": { + "note": { + "value": { + "amount": { + "lo": "192835527635686891" + }, + "assetId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } + }, + "rseed": "5YY05QrCmAKHSGOOnWpTMKo2YFFXdETsXar+9TTYZZo=", + "address": { + "inner": "r7ae/+8Q9d3QdaAs66/GAAbYBo/Am59nYWeIBU7REchE3LYtFPa1EHW2Lo1KZcRWuXzO/cM54CLSFnv2iArQnxjrlJnTB4nGnuLdFtCY9vc=" + } + }, + "position": "91417552315437", + "randomizer": "4jIEG9lbOj7O6noC4qfzXHHMxjr0KsiFJk5KVeS4OwQ=", + "valueBlinding": "KO7e8Dr5D6HPytuslNOAPKAn/rKF2JBD6/tJbqPLKAE=", + "proofBlindingR": "dCCdi1sZm5xCe3FhPLr8vNJKXoBQ5OF0DNFNEUJDwQ8=", + "proofBlindingS": "AKib8uL1JVgDjrPJtX3/0MBfcDUYvhqhr6xt+tydywk=" } } ], "transactionParameters": { - "expiryHeight": "3715525953", - "chainId": "jolxe-84624395377984128911110845038766", + "expiryHeight": "1619113480", + "chainId": "ybe-043596547717848724790145571744", "fee": { "amount": { - "lo": "646445886750715744" + "lo": "565216682890262079" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_14.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_14.proto index a3eed28f2d3ebb3587788cba2d0b1ae0f02a0074..f90f053770fd3b162a05a4aa50b7d45ab84c6b2c 100644 GIT binary patch literal 1184 zcmd;TXYOKbX69;O=2FtnOiI>E&M!*UOU_8l%S+ACD>KydElv+gO)d*aOwLX%5xU95 zwV9FQ&%~K`n1r}fQqvMkb4mj8i%O(8p;~kel#s=>5aLED40Hfi+#HX-FW$#2(6{V$ zw!?=5uNLjty{$t+h>43q3Rz02pRph{uQWHQDABMgG0il?tg67&BHhBgI4`51s=Ux5 zxiB#|BR8+qAQ`Bxpd{NQ!x)Hjii#}F&5N@uvJ1`3Op>$9@+>P$DhjenD{|BF$_sLh zOY$tTN=(@M$<64Q!OO|nc2jZ2En zj0!3Wi;cKuFe^=E=DN+u<-w)IrJ(t0j=pi>wDI^6+l0>FNC>&k|HDY(_%)_-93 z{Pe{14pzU5f+t+=Y||C_wpE~Xn_jP1>XERWHRt{wwtS#;Nv!%?2iJx960fJsyv*Kt zY~G{0Vi#t7`!2Bd#M`fDo`^^(JThXDz8P(0ckWdc)1&2|V+zk4v-+ZSqE*e$EA+_@ zYZfI1jd%AxSpDQ*c>dJwHB&A(*ep>0x2g5U1n1YkJ@Xcy)?n09C{dW(9W6O~j#G7E zqRp;9doFp!H3U3)Si*DBSJ27%Ait3U!;0CT9(`4fVD8&|a%=7X3kTv0OeOY7EnL4Q z_t%}dr#XczI6B_6wXg{(RVJnC8kiWHTAG=fn424#TbNjw8=06}8W@_GngaPICQ>}W QFy8-W;M1& literal 157 zcmV;O0Al|N8L|Nu2#%2Z$N~}y2+oiG(96a1tO6PW5&#N9!U8`EA_^eFpgn$eMxWLb zSH!{Xe^;9(6fxHWybju1QjHvDwM>x^#xxoV2$QVp)19*Sz6~M@2;r8C$&B&mqzn=~ z2*KLf>kSenYHw_KWi2=~HZn9bIW;pkH#s;oF)}zgF)=YQFgP?dFf%weHZ~dz3JM6| L-lwv@kmjg*iU@{BWI>t|os~EYKGjgSHNeFRqEcxCv>D>F4 zi>yGMcb|ORJa^H7Kg>cNAiFeQ&Cxe5{I;b1`O6rU0>>|l!+tiuX7h{Hwmxs9vocFS zh!`~r32J3+SlUmq)+dY1`e!qroU-z_EVP@kxq8Qk6OR qNrk!=W`+hPmL`U#CI+Ua2Ij^FhDIh*JX~BHi&reWzVh_OMVtUQG-~w# delta 538 zcmV+#0_FXz0@DN-3aA091Ec{8p#cgo3JM6%+Jngd^sbu&k(DKpmLq=}3JB-FgzB`D z-hc%n3JCMC(~H#5wVMbi$*qT(0Wiv~hnWF5?x%|hLLd$T?$YS+Uhb>=MKvCl&1Fho z6Zn$q_Tn-!Gnl9*+yx4&0ipq?0SaLVxU87B0TKcT0U9C-AUmv28N^Xmvb58Ut>SNq z@bFbiQ;gFYa7%*8lQn<%C`}?F3Lv26zVyRwcZ1P;MH!iNlbyBhI{x@azpo~OdM;LC z*$OHR3JY>DH$_lqGDSmfS`tDEKt?=2uZj%pl^SKnp=MA~x?_d@!VRpS?-vPLsQE5- z1`OW1v8L!|EaY2X2P3f_-jXBMFv#hPFwP z<$dIg9uy7<*6hFW{wj`dYpyk{;KFp%q#5%gV54O1b%fntd29g^Bna7}DW@vXUFgP$8313nYzIsgCw diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_16.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_16.json index 182122b81d..6fb6a8f68c 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_16.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_16.json @@ -1,75 +1,38 @@ { "actions": [ { - "output": { - "value": { - "amount": { - "lo": "665243018704234334" - }, - "assetId": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - } - }, - "destAddress": { - "inner": "puRp8NgFocLXMDpXf2y63cuji9w3tMH+icEs6KQB7JqYyruGjmUv71JnwR7CmbaB20COEmdvq6cV3TTddICCOdPQkdRwFQe8OtWEI2fRUG8=" - }, - "rseed": "UtaNH374qOTRLFP2gClqi8vwqqlM0QU4x0IVzrCPK7Y=", - "valueBlinding": "P2/M83YwziB4lZo2M5LAHx133bXHqhGotjU9LA2QeAE=", - "proofBlindingR": "WOxubf85he0s/TmzLuevDKznRbdWN6KnlXlmQv3HHQE=", - "proofBlindingS": "6cHNZ83GZJH9j5gE/wcgLDvoP4XnaY/nXYfg5es12Ao=" + "actionDutchAuctionEnd": { + "auctionId": { + "inner": "NpcQh7WutIgNuB4gLZHMULBHfoTEIn9nH0I/ZJW5vE8=" + } } }, { "output": { "value": { "amount": { - "lo": "548954363798842727" + "lo": "83459036698122992" }, "assetId": { "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" } }, "destAddress": { - "inner": "nCrK2JVnC+mRPi8CZwJFxsqmvfAT9u2UHDvUW0bgBx+mhXCLMWAThHXOew8LHv2SxkIKFOChd2br0lczfIbQorfe+gzfIKACNvhmu8GQf90=" + "inner": "WpiLWbXoQ1iJjRjJdAmnRRBKGDjthrHX0hFQNLiC25enO58sCgLaBGT/3T1jJPD1RIANnt/qaq08MxEdJlr7Joosa/K+/FdUyrRFmZYqG4k=" }, - "rseed": "34TaN76I7FbIUw1//Ej/maokRw8FMmu1oNVuK5nGgE4=", - "valueBlinding": "z7Ozu8zHAJoEHo7ZiSYio/3JcwuJ3baHexE5A4VjtQM=", - "proofBlindingR": "w1eBEhcL1NW6yScs314mLnIz6W9EsnAvrRGqqH47/AU=", - "proofBlindingS": "VY9lnY7BFZc/NqxmpTcRURObxxAbytnll0TCE52EEwo=" - } - }, - { - "ibcRelayAction": { - "rawAction": { - "typeUrl": "/ibc.core.channel.v1.MsgRecvPacket", - "value": "CrMBCJzB/pQCEgtkZWZhdWx0UG9ydBoJY2hhbm5lbC0wIgtkZWZhdWx0UG9ydCoJY2hhbm5lbC0wMmQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOgsI6PD0yQIQpoXkdECgh6mWnrXqgRgSAgoAGgsI6PD0yQIQpoXkdCKPAXBlbnVtYnJhMWc5eTQzODk5ZXNycXM0ZnVhZmhyOWo1dWUydjl1anRkbHM2eTM5NjVjbnU2cWh3ZHprY2xtejd4bXRwZjhhcnpjcWZqOGg1a3k1cHFodnk3NGtzam5zZTNjMnM4c3BtZzhrcGtzbjZza3k1cXQ5Zjd1cGVjNHV1NGFkYW5xNTZyNTR3NGVs" - } - } - }, - { - "undelegate": { - "validatorIdentity": { - "ik": "lORJ0OqoRdtKpIyybfzjmoR/NXffzc3T2AGt++oPUVY=" - }, - "unbondedAmount": { - "lo": "178683478111234115" - }, - "delegationAmount": { - "lo": "570675219026179388" - }, - "fromEpoch": { - "index": "7429", - "startHeight": "7429" - } + "rseed": "hn+qhyQtQdnNbLfNdHQwnwgMzs1eflt4hI4mqzi+mQM=", + "valueBlinding": "nV6a0O13yBeAhah+wcm/aNUhJdUiq8Mua3ujBa0QNgA=", + "proofBlindingR": "Eej14sL2Skl0SYxXTq7ciHKCD3JtByH6Sq6Elc/6EQo=", + "proofBlindingS": "XrcmXBBaJdntvIAF12U1/8f50jXEKPl1Qgpt2EwKbhA=" } } ], "transactionParameters": { - "expiryHeight": "9325916248", - "chainId": "ghwhyscwxe-1815907713", + "expiryHeight": "5735637417", + "chainId": "uqzlchsr-4173002039288", "fee": { "amount": { - "lo": "677300168596627378" + "lo": "293556492150926753" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_16.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_16.proto index afb6464f700be9b9bd847faa5635ba82173393b0..c1ded5907790328e7ad20e1efc1a25a9e1a1f935 100644 GIT binary patch delta 335 zcmV-V0kHn42hz+LbaXJE2n^26UVdA6gpMYwIKG(!A|Rb!n$Ycc$QOWxsDFOJ z$-ijTAtlu!tHUm9d!q%d5Hqud7IkrYY-4D1 haxFA5H#0CWGB7haGB`LI3_zQ^ini*owKfP5*1pliMI zbw5@-xu_HTtwA%Z`}BuZD}64qS{!#0J-4A>dz+Gieg2uxWd`RIDyGgdGoExnUbg)1 z*5j)LS8Ox2)#05`!KkGW@g^_#zh&!Noxhfw^`5WiS@Ya=dzks6c-S`?w1qo^qJC`T#ubvw)cbZx3^Pdtgl47Jz$q#)>_bQm>}FzdajzETkh|qV@_Nm z4;GfEy}lG~T+?=8(e``4cN4vJ2sZvi?NxRtAUwINk20wSuZ)iC{-^xBQY;8HAk<^P|vqG zJt#G~EFdvCJGDgUCKK0YMvgfL|4m^M;!a6TODxSP3CJ%hk>Z4E(KS#)7S}?E8>KMN z0a$T!y!i0tB$L3h)+Z$n3))vso4557lRbClu|!qL26!UZcwkvSz$(bN>z4pPHvTXMQ%w! znnhw!RdQikmPLkXcBN@SVMbY{xk+|$R$g(cak5ddMR7rHxY7UqCDJB;#U>2S7#PhiRwFOw1%$DUUk8($u}^OaqTjic2{pw&u9o8!iV tANQ1mMAI|MGb)Rd%PUfK4J`~!Ee*`g4UMIEfMvp_{e5#5&z-QD69Cipqly3k diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_17.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_17.json index 6d20c57e41..3046c5dc06 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_17.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_17.json @@ -1,32 +1,76 @@ { "actions": [ { - "ibcRelayAction": { - "rawAction": { - "typeUrl": "/ibc.core.channel.v1.MsgRecvPacket", - "value": "CrIBCNny78ABEgtkZWZhdWx0UG9ydBoJY2hhbm5lbC0wIgtkZWZhdWx0UG9ydCoJY2hhbm5lbC0wMmQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOgoIsaHPLhDVifVjQLiBv8aeteqBGBICCgAaCgixoc8uENWJ9WMijwFwZW51bWJyYTEyOGxyZzBwM2owdWdmazY0OGF4OTQ3emN1c3V0NWx6NGRhc3Izc3VkNzh2YTI0ejM0c2tla2h5YTBjbDl3eXRodG10enBqOXFnNHN3OGxzeDh0Y3NtNHc0eHl0ZHo4aDVzZHBuN2tkc2RlNXE2YXU4OWg0c3FjbHZlemQweHJ5anV6YW1hbg==" + "actionDutchAuctionWithdraw": { + "auctionId": { + "inner": "Ebkw77OmywWGtpcB2gTOVNdaKPoVty4ds+3Wwae9+T8=" + }, + "seq": "566502593", + "reservesInput": { + "amount": { + "lo": "153567350831122269" + }, + "assetId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } + }, + "reservesOutput": { + "amount": { + "lo": "729359186201394366" + }, + "assetId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } } } }, { - "proposalSubmit": { - "proposal": { - "title": "ukhtnhaurljoogduvrtu-8886604389569723108242099", - "description": "dcfkvrcduxgvpufyfpxvwdis-8399792816821765872420", - "signaling": {} + "validatorDefinition": { + "validator": { + "identityKey": { + "ik": "gmSFpOpq6qAbdJIkfigBbyxxcJtBpFGZF9UogI0aLxE=" + }, + "consensusKey": "iEaJjSBKrHH8a1/TGFda05/odkKHCnMPwW7fIn0OHEc=", + "name": "test validator", + "enabled": true, + "governanceKey": { + "gk": "gmSFpOpq6qAbdJIkfigBbyxxcJtBpFGZF9UogI0aLxE=" + } + }, + "authSig": "NCD5R43L97s8o/wyqW6IPXiQePB2xdSWku0jTKGkzwg1d/Ooc/Y2BekBPiLexY9p68/TUXiveXicz6LoEyVSAQ==" + } + }, + { + "actionDutchAuctionWithdraw": { + "auctionId": { + "inner": "0JUM/Bm6bTFjVmdWO+Z7LRjxpOcZsenc7KzDtlm5h6E=" + }, + "seq": "757578885", + "reservesInput": { + "amount": { + "lo": "646532044673010656" + }, + "assetId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } }, - "depositAmount": { - "lo": "321526110022575246" + "reservesOutput": { + "amount": { + "lo": "465630247405672762" + }, + "assetId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } } } } ], "transactionParameters": { - "expiryHeight": "8869240622", - "chainId": "ejncirwpcmcnhwqfbueioddpxl-552696602438162813836332962848", + "expiryHeight": "7162048338", + "chainId": "flsotzgnlautqbiqldcfdubkdokkgjfa-8149786884447743", "fee": { "amount": { - "lo": "719278308610776819" + "lo": "318135002609846213" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_17.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_17.proto index d682c2642f1a99633cd4b34a50cddb52f8d0057d..00257e5dc211a49c1874ae436b315d2337602d65 100644 GIT binary patch literal 570 zcmd;@#JG#OkC97>OF?j_!TZh2PP4Xco6dNPOYxPY7MCcL zCFW$NB$nhCIWT$=W3GdV!cX_!)8BX7EdFD(GOxq7VnW4-vZGg~O?s>BvvA3I4%70_ zD~i9FvA$%qQ@VGwKlAnZ%YhZ^D=X%lU-Uv)HHeW55w;hm^8At9m1~$BmL6vPtXfy% z286E3;z zKtDk7KoG=7BwS=9>MxiGilB(%9thqSSW!_$RY8G+?R&<08~mPt`QB>DELJwcVlgcW zky)){-ICEA!Pz%7MnbdgL&8V}TF8R-TUt6Ys$Lh1;~4rj8*ipd;xs2>y`aqLN6 z6+y}+7hdgCjY*7T&9YXE-0qtp(Id@i0o0LE0|qRe#;S;^ZnC5-Bd*&<=>^8v_if~2 z;`ta&ICL7!~q;b!0QH-#>Ceb*am=w+~-(w|8!Yl`AA8ZN8*PYp8* zae>-#xLVZ5ct~~46lG2?nt1|2f2SxHBQZw!9&%2(SKhRa+^W{x?lK^UQj7}XkeFE- z^ZPa6f3-E>4!Uwf=O)fT+dhsV(_H!05+J1F2BS%uUtZ}e@|!05O2Q}sYJ<#wxb)Q) z%aVH9j{zDWi-@u`2(VsIfBC&uyW{fn28q;LYo1hw?BrnI0-^Z^PpH_~)*Ne@I7%)^EIwB$pAgB?GYYTNyKw$3szC<2rqPH&=Y8TJB zZME3}-W*{B5h?=;0YMT%3P6~@zl&eAiVJ_fpOWfXAC}KLoTFagH?2qIvWvX|+Yq$< zKt}%ENC=*tmY2ifoIJ^v>u3(?WLQ8yGS%Q{lQ9Ges{*P4rveDOsfqpq8UhFdBB%ih zFbWC?$m{8@ga3ou0+ZeWB!3bhvE;=QY9mdQYq#^A7Y%B7gRjYYaUvP3g@=54;KE-M z8d3^Sup}NwUDI|Cq#Cav0-ewqmSh*La0{J@}NU+5MIo9(ZFP ze=+Hcm;{aOWav>|18jz0^gO^0BpZb^&FoP)-wL98G71QTxXGcRt$+O00XiTZz#=Pb z_1q`bYJ8<5q2^ltcnXn6%N}-iIcGeb_rw80AhddMc3uIdh_P%mXSIGa2{e>)A8#aZ z2P`}tyvPxD5lSGx!j!$w-9w&h+CA3=;EBc8|FDBqjikTIad@(NR#_4XwE?05u>lHe z2;%?KxC0Ub2m=}-3V$HDRJP1cKc~E-M=pRJ#|U2|2$+xVe@EJ;!sXLtI?(+hA_^cL zp_#i<+&F=`2;f9PxCc^thZidxAnqIkKzVD;TmS|t7YY?KQ%E#TL3wjBLri!>L}N2+ zSx-Sx5<&_<%@`ttG8xjt3Y-MdNI5IRcGBP(ZHyR8I3J9u~ KqKbga;kN_!Hl82= delta 823 zcmV-71IYaP2g(P33aSC30j2>8UK79cM?JhKqBvvv?8XNAtm+TYI(SB2>;7EZFS(Z{?jrp$Q*eCTnu@f z_%@k+=g`T)>;51`1O+(xB(@%$dOve7^mn= zCfJ-ZAmhU#>%lEL`b|1-R;sRbcsZskPxYsen>#8&I5|{z^C=o`3I+)B%Cw;b5(Wr? zt=jJf8UqM{10n+mmj)^W2+IdD0|<-`LP!de5dtKUFe85;=m#nw3Gr{jIqRrCyMEp$ zH}{pm;@thrznZ;q#J3NiU8HRfG9U=f0OZEwEi!`$=iUx#HH-03tT%9%i9C;)iFya4 zstO7jvH=zd77^2^s5Q%o z5+Vv9De99J0w8~X4yEFKy6-1X_*iUDn|H~>;1uIz@A_WT3V;#rB2||fQVLM7wx0j* z5cS>Ab)YQkuf_ld*anZlo1bT4XNUz((Gkc*+_o(g_O%dowl0lIWyDswe9ryDIp8AF z7JK%H3ecYz>y(+(2Z_d>;@uX|nD+M&z~0xGm6;tHAb@|u!2iAl>v%sm#SHl39#(Ir zcIHQpD(oU(+o-I^hyx-Z6uvDbN^p_$UAB40bkz9?LJo&JWZm6KiK42k2+_a+Dj=54 zT+t3KBNz2wTNexHLeE>%#b{54Q=U2?W~Fls(+@Hr)ru(fPGt20a${|DbuBeAG&MLg8Vm{w2+6s_@wtoFs|BN_ Ba2x;t diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_19.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_19.json index e1d6941cd1..27810599cb 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_19.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_19.json @@ -5,48 +5,123 @@ "note": { "value": { "amount": { - "lo": "228486500547001620" + "lo": "374513108587660340" }, "assetId": { "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" } }, - "rseed": "xw+w2iczOily4Bmg9rhwyNvmKa7+Ro3OXycf/wYc4+o=", + "rseed": "qU8p2IbvAmG6UPKSPnAcgK/dv84gnRM4W/1eeelUbmw=", "address": { "inner": "r7ae/+8Q9d3QdaAs66/GAAbYBo/Am59nYWeIBU7REchE3LYtFPa1EHW2Lo1KZcRWuXzO/cM54CLSFnv2iArQnxjrlJnTB4nGnuLdFtCY9vc=" } }, - "position": "191064233123894", - "randomizer": "QmtBrveSkpfEHougeurA2mxXatitIfUyKVVhD2tfQAM=", - "valueBlinding": "H/U0LiwlCiEdvlPMNEPwTZNo3kM3awxsyAvMUaozZAQ=", - "proofBlindingR": "MQf3qCecQ0me3cbTSajlk/R7opNXFangjO+AZ+zovwc=", - "proofBlindingS": "P05XWu6efIOJLSXEMj8dAwKJZDkN049/iqV+INLQGg4=" + "position": "138656546134518", + "randomizer": "NpardAFYa2LUJEB4Pq956AOXutHHx3MrssCVF95OAwQ=", + "valueBlinding": "XPVuUOvHT1j2+e0cLpyuhPm/+R6IwvYdqrmjiACKEgA=", + "proofBlindingR": "gq+DZDRbyoIWdS7O4pWSR9ZXXfFHssGQu/9+aMdvkwI=", + "proofBlindingS": "z95DYs2fH1oiUK20Wz+Nav1BFRLzzt9FbbkKstZcZwM=" } }, { - "undelegateClaim": { - "validatorIdentity": { - "ik": "D2QCjRUFQ8AGjzhxjaUXVDCps1XNZvl7tt0C5KVMpso=" + "delegatorVote": { + "proposal": "527938867", + "vote": { + "vote": "VOTE_YES" }, - "penalty": { - "inner": "AAAAAAAAAAAAAAAAAAAAAP8uSOinHeaa1Cw8nuy/sVw=" + "stakedNote": { + "value": { + "amount": { + "lo": "149450715781062372" + }, + "assetId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } + }, + "rseed": "yo48PbKNbUEU7jyeXRrIswPLFYkAng7uVr9Ip0u7X6I=", + "address": { + "inner": "/Hsw0yO3A05arKMTb+W4QxUYOB25mOJiwFpv7ev8eaMJBA11/1bn41JMvh4l2Q+/T2Jq0uNLAMFKCuu+k9Z8JxhPfCaYJa19m+rvAHQq+2c=" + } }, - "unbondingAmount": { - "lo": "892544287019598744" + "unbondedAmount": { + "lo": "280447089898539148" }, - "balanceBlinding": "mjYsMVw0OwxBVQ3tn/iznkFqZVqfFT4knlbP7kd8sAM=", - "proofBlindingR": "nkuCJkhdID0lifnPFr8cXANIr5bPo/WznHMoMZ9GSg8=", - "proofBlindingS": "OKjF1U8UKmNSRt30GiLb5RWP1kr7/aA4Rk7HslqB2AI=", - "unbondingStartHeight": "69459" + "randomizer": "Nkh1WUu5uk4ysLcorHdvnCRH4k0tpNC+V6x21debdwI=", + "proofBlindingR": "myupnMvxJ7xDDofYk1HnWJDSCMlI9vZuJcwkIqMdUgQ=", + "proofBlindingS": "3iTppN6W+R06YdxnjRHUDZ9PGDrxMKCzz9OzJiSQ+wM=" + } + }, + { + "positionOpen": { + "position": { + "phi": { + "component": { + "p": { + "lo": "719197237497167624" + }, + "q": { + "lo": "397950788870789469" + } + }, + "pair": { + "asset1": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + }, + "asset2": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } + } + }, + "nonce": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "state": { + "state": "POSITION_STATE_ENUM_OPENED" + }, + "reserves": { + "r1": { + "lo": "994274473767032393" + }, + "r2": { + "lo": "167793417364581357" + } + }, + "closeOnFill": true + } + } + }, + { + "actionDutchAuctionSchedule": { + "description": { + "input": { + "amount": { + "lo": "520308649858419396" + }, + "assetId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } + }, + "outputId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + }, + "maxOutput": { + "lo": "12336872967049834" + }, + "minOutput": { + "lo": "119920714743932160" + }, + "startHeight": "974259539", + "endHeight": "974259540", + "stepCount": "733403711", + "nonce": "k3bqBuCTxNbl7Er14ns58STMZLjPBEJY3m0l4sCD38E=" + } } } ], "transactionParameters": { - "expiryHeight": "7871232772", - "chainId": "i-38738156725540269211759315", + "expiryHeight": "720551258", + "chainId": "omiqcayqzvmwnjlxt-4103988138361544885895", "fee": { "amount": { - "lo": "834034513930156666" + "lo": "275742935622991629" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_19.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_19.proto index a4e71828305a72fbba716b30ed89d8944ce7eafc..41633ed110f3b4c5a4e552754f518516bf35e615 100644 GIT binary patch delta 765 zcmdnR(!(LnwU3EwHxt(iMlJ&`E{-i74?CK+Et<(XQCv-7rN8Elw)aely8=EDqn`=U?EYVuaXf!Alaa#td(KH`=gUVa1+3i?ZQq+^ z^w&{T=<~VzuDLt8HeHKJXXaYXw2E;#6UXLP_kJ@x>{L4EdQ@9r~8r|j)y0{X1} zRG*FQrrumfk#{!pVx>-OW!-kG&ZVdU3tpH~CtP zx`cm?+6>jTwXX%(KGS*+~Z58eX3`+QZVx~T{5+KJ9u-YdxIw^AC z8KCyKaLC){DX#uTjm}>uAO8j%cHA; zS8CX;A@wpTRbdZnUqAyQARqNKE-WPqAsxO`%rryrO_ONeLpN&-Y{(1DQK~a!1S%jg z2luEaoI^>T-Nw^NsO6LNd!mz96{+Bi?|^6Q=)VUtAU{r5TJD~FgNZFA#4jp6tJ|Tq+6(n1}AL&56CS z3^E{^HY_n*G&>AIRSoT*__LltYJX)~pA|kNo>tH9M|`jYIv}1)f+k2^AU!3C`Og-= z99#oPua?iF^|PFFC^4T#N)JLHIH<+dPZTO+QbyhM8Y0`}6_3_R`~9FeMo!1FT7lRC zNYkDK5;6#c_NA#E5*%qQGdMRhI59OgH!?LfG%zwYIWjRZH#IpkF*Oe0IkEl#1-P$8%mz=*sj=dBt^z@eG*Gzpk(xK_RsEn zc_p)%tQ0P2$eLX%Jk{k?|6j6j!N&L6E>hMa7w>IMTu^jT?{^rFlS10&hwECT04jVCjMW4Su`T ze)RukNqXqCbkpyacCPtMhj?Z)adC0%S>3z#`lOSWd4%}5c-&lz{39aW16>Nj%BA`l z3sUn+bCZe^4NJ;$%2Q2pGb~KY42;Xn6U&NA$|@`p&9hSr(o;%J(=Bt#OmeCUQ>qGb zatzXpEmKnSii?xYEmAEL&CALyii#5}&9YM~DpHKg%gPGUjg3;v@)DDaiV90C4APRz zi!04?b1Jed%(E-=%yWxNQwj>xbMn&7i_=Uj$}7?{(v2;WOH3`5g17=ij``{zfhPGd*%wg703Q)f+TSTK8|$7Cv{E zdH(@h+j*~Li qj)PzR+~pJE&&(;#)-^P+FgG?cu{1M~;sJ)*-M5$jF6`KLng;-Aas7Az literal 482 zcmd<;V{BsTV&szG;^LUn|833ro9%Phgt#~!Tsil7eOuogCLtv*1(x1vfzo@IbAM1- z@SOX)K~Ko?U6sbmmar@id}uOn(T(j=9$Y|Gny=>Q8y9|C(*FEqj7ovym&IW}n_si} z#cErhH_};|B>*yskQxO>u8B-SeN0>iK=xNtf=I5OzVrNF z|G8QIn{^8b+-`cje)(Y`OKy9|tA(=~ma`ctJbKp2!1eg$zP*QE%ZcYZ?Y|LNSGr99 zrlkLlH(~Ov{meqv92cJdJ}e@nnpT#SmsONhnOT&ZkzQO>Qjk|(Qkk8Zlvk3OQC6aB YW?^AwX(q)347_`73qBuNvvw*o0LV+$Jpcdz diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_20.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_20.json index 97775a9f08..2cb3e033b5 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_20.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_20.json @@ -1,31 +1,61 @@ { "actions": [ { - "communityPoolSpend": { - "value": { - "amount": { - "lo": "917708635555222740" + "actionDutchAuctionSchedule": { + "description": { + "input": { + "amount": { + "lo": "852903475409611982" + }, + "assetId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } }, - "assetId": { + "outputId": { "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - } + }, + "maxOutput": { + "lo": "106360354624939678" + }, + "minOutput": { + "lo": "729172063334541035" + }, + "startHeight": "464161322", + "endHeight": "464161323", + "stepCount": "996995986", + "nonce": "Tlmo86ylsGCMpVscVBPXQixErC+XNy/9eTbfKvuoO2A=" } } }, { - "actionDutchAuctionEnd": { - "auctionId": { - "inner": "szCiZisOXrERqpzOkyvnLAYj1m6nJiuM5gXysKNJWqQ=" + "validatorVote": { + "body": { + "proposal": "491603755", + "vote": { + "vote": "VOTE_YES" + }, + "identityKey": { + "ik": "mvbp79FxNcwJDRNz533JdrwGSpCduI7KYOpwLNorOz4=" + }, + "governanceKey": { + "gk": "mFBPjK0cZjm6tnSblfbvxA28DjHoYtxfPKvYPwzNMhE=" + }, + "reason": { + "reason": "U9584s0" + } + }, + "authSig": { + "inner": "5EuZSh0QqnLMsMJzY93mSFmBxzk4arCfb55iJqzi7QGXJIhwcfI9NbZohFf5eQu5GjINNmh+HccR/rdyYmVlAQ==" } } } ], "transactionParameters": { - "expiryHeight": "5861263868", - "chainId": "q-921525899986864461645755934", + "expiryHeight": "6430231960", + "chainId": "uzovlndphgwcmxrqavmbmfx-72884303434896050268298352", "fee": { "amount": { - "lo": "194766905819855844" + "lo": "427556939212154174" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_20.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_20.proto index 88ae7e136d..3e31e682f8 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_20.proto +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_20.proto @@ -1,11 +1,19 @@ -5’2 +©ª¥ +¢ 0 -Ô©ÏìÄä–Þ " - )êœ/3qö¤‡çé\$pAô£VùƒëN]+;Ï2,©j -'²$ -" - ³0¢f+^±ªœÎ“+ç,#Ön§&+Œæò°£IZ¤3ü“ïêq-921525899986864461645755934 +ÎÙñ»’æ‡ë " + )êœ/3qö¤‡çé\$pAô£VùƒëN]+;Ï2,©j" + )êœ/3qö¤‡çé\$pAô£VùƒëN]+;Ï2,©j +žÍêœÝÅ÷¼" +ëÍƹĢ +(ª”ªÝ0«”ªÝ8’ç³ÛB NY¨ó¬¥°`Œ¥[T×B,D¬/—7/ýy6ß*û¨;` +§¢£ +]«Žµê" + šöéïÑq5Ì sç}Év¼J¸ŽÊ`êp,Ú+;>"" + ˜POŒ­f9º¶t›•öïÄ ¼1èbÜ_<«Ø? Í2* +U9584s0B +@äK™JªrÌ°ÂscÝæHYÇ98j°Ÿožb&¬âí—$ˆpqò=5¶h„Wùy ¹2 6h~Çþ·rbeeH˜›–ú2uzovlndphgwcmxrqavmbmfx-72884303434896050268298352 -ä÷“Û€ïüÙ \ No newline at end of file +¾Êù×Õ˜¿÷ \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_21.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_21.json index 4464d5d3d9..5c3a07fa91 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_21.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_21.json @@ -1,33 +1,5 @@ { "actions": [ - { - "delegatorVote": { - "proposal": "121003569", - "vote": { - "vote": "VOTE_NO" - }, - "stakedNote": { - "value": { - "amount": { - "lo": "659701247588815343" - }, - "assetId": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - } - }, - "rseed": "eVXL+cwVvEbw94yx6Y4GwdT7fD74D5arK577wavN3L0=", - "address": { - "inner": "Ues2mUiCHO1TLPpiZ5nhS1KOkAq5oBQ0bhT4YQJWq069kBkcsnu4wVXTHo+OKYELBddtTDK3GtkVXaGbb/10kOfRb7JedlL1fsJ3OJhG49A=" - } - }, - "unbondedAmount": { - "lo": "489765041566529319" - }, - "randomizer": "qDmxGszrYPzqiRi8pRDriYo0XeluMaY+LaeBsfLPSAE=", - "proofBlindingR": "0ci8CrVKQYvh0brJHYN/XphpE5aCtTXkb6ZnB2fvpRE=", - "proofBlindingS": "8JxyowxnuAzm6TrvuKXPmlZANCbgABRP67RBigLeNg4=" - } - }, { "swapClaim": { "swapPlaintext": { @@ -40,37 +12,37 @@ } }, "delta1I": { - "lo": "856865201767983171" + "lo": "889307568205361427" }, "delta2I": { - "lo": "669679229868599527" + "lo": "568711178708103792" }, "claimFee": { "amount": {} }, "claimAddress": { - "inner": "XbdvNRhbP4luPjXFjLAuvdKyoNzTSdZy3ccMZr35Mf5kNZgFWoDu+EvkAP/ZHgwuJq6XyvaGDQomyfIyk58ffd+PFoCJAoe5nTr1DW4NeD4=" + "inner": "A/iBmUMOQaHw6wlJNW5zEHjf9j8ZxoOypZNoSoPRGMEkJX0AU6Xy29kMaH2X4293iMDW9anGDJVIvEhtU9cJXarVopygkQyt0i180FEdNEg=" }, - "rseed": "Y14bb0icw5Dqm2m6HSANFRjAzrt8PQKkjzQ7I0flZ7E=" + "rseed": "Gd18Qxp4KzDUjswZSGoZ1P+Ob9ENgf8shU+R/qQ0lyA=" }, "outputData": { "delta1": { - "lo": "1789764782" + "lo": "577955577" }, "delta2": { - "lo": "263535163" + "lo": "386358974" }, "lambda1": { - "lo": "322" + "lo": "50" }, "lambda2": { - "lo": "1415" + "lo": "585" }, "unfilled1": { - "lo": "338" + "lo": "1242" }, "unfilled2": { - "lo": "1392" + "lo": "378" }, "tradingPair": { "asset1": { @@ -82,52 +54,60 @@ } }, "epochDuration": "1000", - "proofBlindingR": "OfCsd2XlcOA85BwRjol+QPoFOE5vUvvUvMgEf5y76Ag=", - "proofBlindingS": "YbH+W2oXNb1MKmKl8KxGx8iYHmwwpmzVzmFWoYvCSQY=" + "proofBlindingR": "CpJM3sZk6FW3lMhC2TMjSoY3MnE3BD1Ux8OK8aG56AM=", + "proofBlindingS": "ZwXx+fhJOtQZG3NvSNWfeIgc2ed1IJnkaBHSGsps9Q8=" } }, { - "swap": { - "swapPlaintext": { - "tradingPair": { - "asset1": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - }, - "asset2": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - } - }, - "delta1I": { - "lo": "145727323355446220" - }, - "delta2I": { - "lo": "432213987928087988" - }, - "claimFee": { - "amount": {} - }, - "claimAddress": { - "inner": "0Q5F3OVQoSL982AQLDfegNpwIE8I4I3cvEEh7JUlUr8MH7dGPLORXsvbUEVai2wvht/Ug/tdjz4l0z4wa3VnsIb7TYTih5nbpGC3IbyxdUc=" - }, - "rseed": "cOGPni5ZhqvZMo8/R4OeVarCjqn6ASQLXMQmqXRic28=" + "ics20Withdrawal": { + "amount": { + "lo": "622833085392615376" + }, + "denom": { + "denom": "VWNlsr20B1kesWvCKUqnn" }, - "feeBlinding": "IJLrByzc+Mo8f7yIHFk0ii8VAaouqg/8QOSEajMCugI=", - "proofBlindingR": "TgFi8UTAISRBmw4RyV7Wf+Q7Ib5+fGX4hxl7eA0QVgE=", - "proofBlindingS": "WjtjjKRqGfUwYFX70NNu0/LV0eEjVp15w7kifmPpNgo=" + "destinationChainAddress": "penumbra1v90epag3cywwh0yzyhtg9gkm2290ksedwx58c8y452325ugamkc7zdn42twrngv47ttvy3nlynutxw69x32cv66tcu4huwpt2n62jnyav3aamwtvv2uqzjka77jx6qyeyyd42v", + "returnAddress": { + "inner": "6jb2b1WTNptB8HGTVx0+WdG0uEzaeTNRCmlzYTTspH/K86A5hUmKRhmqwFg1UkRAoTUTTWIRcJnP+r1uGU0Wpuz1geJ6Hj7Y09P2IF3MLNw=" + }, + "timeoutHeight": { + "revisionNumber": "734267909", + "revisionHeight": "94646215" + }, + "sourceChannel": "channel-0" } }, { - "proposalWithdraw": { - "proposal": "368149084" + "communityPoolDeposit": { + "value": { + "amount": { + "lo": "38307922394150101" + }, + "assetId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } + } + } + }, + { + "communityPoolDeposit": { + "value": { + "amount": { + "lo": "684122539102630178" + }, + "assetId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } + } } } ], "transactionParameters": { - "expiryHeight": "6138363882", - "chainId": "ccsdv-258389131009338200158065480", + "expiryHeight": "4401171500", + "chainId": "ouqrrjupnfzj-181537784", "fee": { "amount": { - "lo": "930887027958765775" + "lo": "207487367950478689" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_21.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_21.proto index fee9f006af7ead687170d17b2c038239dfbad9bc..a5527d7a0a6a69455540c093c73ce6864d9e225c 100644 GIT binary patch delta 658 zcmV;D0&V@*2;c^jEdf@4lj6yj*pS_;3>pdu@Z`eP-1(jI2OchoS=~mtH#+lL8V32)@0YxB(gh2r?oA2+0I00|?p)G6M+u0zya%lU@QNlU)KS ze+rUJ-o|9;RkxJLLfJDTN`^NwaW@1#RL8@L@u9is12Q0I1@Za#NjlUS8*^_+)t`8X z9NFh}AerQ75z-pUZ1oQcrvkzZqXG&F2+;4p$-?Zf(g+e43KdpYPHb~>GB83hYh`m+ zc0)^5ac*uJj{$IHZgp*9a$zxcIWT2#e_>}cV|jOXXfSztd1!QJIcIBaGBPo#F= zQVLM&Hui5-lQx?{@Ntt@9X?snw75*#c{5Q8X>(yT?4*Cn^Po9}Ns2}ps=!z^Qba(Z zH4{x@5pbE$`n_%$O%|r?^?~Ag9zNL9)Ak@;%q-k03kZdjklq3i$KQ}GItgQFVQy|^ zY%MSfG@=7B3NH!?2-WF})1#Y)0Ys4@BoYcWq60DtFbWC?qT;jgvAUnXksu~5EC{Ta s(y|Z|7H@TNa&l^QaBgOLYArE1F*P$cH#jsJ35c}$)cbrs_z#w=E1vtotIgcK8d3^SQR_CDNP-;gQ!M&oXPMzk zQjU-cxu6s@ZWQ=o0#>U|y^t9kvU|9}Rns1ijwyi)1=np%GPfGp6tOuqi5R@45bKGGG+pU#F{VB( zr-8BZ&qx76AkoOY3bjf>i{a6_$sL1#UYKbUmV&i4AY)z|Z%CZOkm{Rhx*Z@56*w5c z&bxd)0;G>LJ0nNsXR#V>3I+(S$+p!75(Nmm^wfPC0|>$bA_EAA3n~K$(gHFA2=EF* zND7lN0V9(z0Vz&7@T_-b<#6CUiGD!(1vpM`Qv1}r$OM0!yXXiqAYrloTWS|I zy-X@%rSPmq$HSJ}_%_XRwC*O@!iyncJjbw;{Z- zbw@HFaN&=hE?I`F*)oqmM}LE!RjR^{srmsV3tYq|sdQp02tM3|#;*YqHwfzg z|LztNA!B26WOgkwH8?XkIWaRaFfchYGdMCZFflbaFg7(bI4~Lv3JM6%v4NbPn#=VJ DIaPvw diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_22.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_22.json index f08c732734..f54fbc49a9 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_22.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_22.json @@ -1,53 +1,71 @@ { "actions": [ { - "proposalDepositClaim": { - "proposal": "347679757", - "depositAmount": { - "lo": "39878010524424389" + "ics20Withdrawal": { + "amount": { + "lo": "572239724687197090" }, - "outcome": { - "passed": {} + "denom": { + "denom": "A2MGbzORYRg41K8GwMytJ1oqZ0x08" + }, + "destinationChainAddress": "penumbra1hka24z0t5kqff8msam89fwuj60zx3f6xpej0qu49tw5uwy5wak2pn6ugazu79r90t5s0m3q03mmkssdps8mju0ru3dtas0dfeg9e5m7dyq7usdpvwlhpwel9zz6ucq3twl3g2r", + "returnAddress": { + "inner": "WG1ai0Eo+VBmKuIT9vHnMLYfe24xYc2bsheBAZ1ewrwugYutcjPhxhyPIiV4KibWHijW8byStrrKCdid57odQZbX81iR2avskBL2cr0CZEI=" + }, + "timeoutHeight": { + "revisionNumber": "345822725", + "revisionHeight": "838775103" + }, + "sourceChannel": "channel-0" + } + }, + { + "ics20Withdrawal": { + "amount": { + "lo": "390857031570369572" + }, + "denom": { + "denom": "2" + }, + "destinationChainAddress": "penumbra1q2ghutkfmpwq4ct2zvjqpksvwdg5xkkq0tg25fde5s87tvp7ucm7y2g693awtxdq0te0j0g7ky69aymk2yc7835tk4qgl36x395w4j7gvtf8ck5dnf7w0xp6quz9d5hzvfpg63", + "returnAddress": { + "inner": "TXxuazPdQ/sgLgIMxQWVdf/NLf72N/jSQyHiHJ2wAiGk7ZtL1jZfjQ196ATbfyVi3Co2MwTkCKJlCxU0c+COY3tNcbC/9UZJbehTlulvmRk=" + }, + "timeoutHeight": { + "revisionNumber": "752492919", + "revisionHeight": "158576005" + }, + "sourceChannel": "channel-0" + } + }, + { + "actionDutchAuctionEnd": { + "auctionId": { + "inner": "a2OfCkeK70+VP2oQgtk5BHUyev6nMFBIRDEVywdyXbo=" } } }, { - "swap": { - "swapPlaintext": { - "tradingPair": { - "asset1": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - }, - "asset2": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - } - }, - "delta1I": { - "lo": "440428726584271908" - }, - "delta2I": { - "lo": "429081527681360989" - }, - "claimFee": { - "amount": {} - }, - "claimAddress": { - "inner": "btIatxMHVsfJzP8cJlEZhpw7QzCB0kqLa7fhKV9KM7As3xwueWnEjfh9MAv6/6EDQAVJm+x1mq+/dzGi7OIjVxvqJns5hp0h87f96ZzHBTc=" - }, - "rseed": "0TJR8ExhmjYVlHjJ+fAdH2SSR50UYS5pDCN3N2pPNQs=" - }, - "feeBlinding": "3Qmcx7XB08EfEMpYp/9GcAF7ZTf9Qm9N37uFErdZ2wE=", - "proofBlindingR": "jvGIwY/gcXg2G73YnyW6AfeGVCVpCrNY7VcIQsq8DwE=", - "proofBlindingS": "F4qHttIr3R/UNFdEm1U805YiRaXcMgIhj5IGpxiFIQc=" + "delegate": { + "validatorIdentity": { + "ik": "+BH/P8+1GUpxabAH/z35qtpDT0+7N+Q43i5T0A+Pttk=" + }, + "epochIndex": "2415", + "unbondedAmount": { + "lo": "672535459083675043" + }, + "delegationAmount": { + "lo": "489404686650619208" + } } } ], "transactionParameters": { - "expiryHeight": "4115851543", - "chainId": "ibtrcnbbmgtashboaxr-27900", + "expiryHeight": "880562544", + "chainId": "qaatugygphxmbsuledhdot-1879023991321521745", "fee": { "amount": { - "lo": "471103972333688096" + "lo": "480035210485212500" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_22.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_22.proto index 18b65cf6cf8071464153757a5a54f2a5d05ae4a7..4b073c9332e075996cd883870c1b1139323c3ad7 100644 GIT binary patch literal 760 zcmYk(ZAcSw00wZJrt>tig@mG|(i;Qie|NjLAk2&`MHKsDLB+XyS-ai5+ueV6JBzT8 zAglF)L5T=z1*J5E_Q8rmFha8;#5C<~Sy>b%k!g`Ozxnxjo-e-#iP-wnyKM+!?>IRX zn{9tEm*QBDk4P_7HGs7GQkmj!e} zQU!sQHCCn>!GK;8SSBuzrowxH3SEqD5YPw_1}kBTpM)Z7L5c}5@u3D}Tm`r+OPam=cdthTSjN@UWoP$rjE6J z>dP&;^x|jj`SF`y&pBoT_iWq_XS%(q`)5}|#{JlzaN^cfw}2iOJrSR zlONtcz7}2KNJJ8_DdY~=|vSO$%w~kpsuc}B|(BMSElq41CB1Q-tPiQoy2Neps zWh#V;B!jbtZgTOQ2VNjjQix>OkSt*#H$~%wF1b|Ehm$7G5QfW3i9ubU-4en11w~ehGh7`Zur0mOike1uhO3F3eJM&r9=TIc*VJe%H6wic#{= znUzPUlO~RBtebR_c+!-;gHOwJX>ZTE8!FYv{a?HG$kTf-eXhTp%V?T- zQn6fRb8q4XqyWj2-0eu&sqa-S#omnL<4h97tcB~KdiPE=b0{Tnpby#6Z!2CZ&aGZ7 zetJ8rTs<5~S==^%<7H`8)g5YzeqFTp*{X1KJmb3~8?ko|T|NEp+sKX70>u94OYHKA zH$5Mc9oy|cI%YZ(9Zr>Hbtr~J#be5K8uam;hpX2MQJP`^hBFL`V<>^4l#9qtk3Tjt Mcx51RYhon%KOK53UH||9 literal 406 zcmd;**u*Hx(R<^`Qbr+8j-wkF-hDgkwVM}%NUgc$1jV+em1{m^NZECK5wM6GD|>+7&TlROHS-w{_oS;J~k;Xj=LvXR<^vE z`HNKvXq{FNS3uq+sqMn-VaHFN`7fguDA_j0+S#D-l2>>3_J^ABUd9`A?#t*^W*+JN zQER~c>;FP#2UgG7Z%Sva-(POH=*=VLaOqcS)s}5@6+dtP`*O~4R&yhTi$;MTd=h7w ziB73F`SXLUe99#Exgv>rnLNtn=2`xx+(HU>Ip-YTdhqf=d4W?A%m2F-Fjl9U|8>gu zy}!FvXnW*sMk$59j~xg59~4%YN$rlZ^Jp9PVM1mR8kP{YTtHA z`>y;IlW>>Wp*EMNDY-7aW5lG`KZ$L*M5`jZkUq!sOQ%=y3rS`sl@ulCB_-vimn0Tv fB;_Yo6zLk7TN)Th@o;f*ELipI=EO^Hj<5j$5?ri# diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_23.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_23.json index c2538bae0a..380b79fbf2 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_23.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_23.json @@ -1,91 +1,38 @@ { "actions": [ { - "validatorDefinition": { - "validator": { - "identityKey": { - "ik": "DvwiJ9bN60KPMzHMs1KIUMuppPKPmXn5lizNuCGB6wk=" - }, - "consensusKey": "aBWF1uPo9dVfwcMoROQnHNxy+iuE7eMdj8sECh8cB1g=", - "name": "test validator", - "enabled": true, - "governanceKey": { - "gk": "DvwiJ9bN60KPMzHMs1KIUMuppPKPmXn5lizNuCGB6wk=" - } + "delegate": { + "validatorIdentity": { + "ik": "1v9Ntnd7yc+RwdVM6gUV0iRCfmTg4eE9zLpS8MURXxo=" }, - "authSig": "TjiZTZRWMEoFa5UnPF4scItN8DPsmGgK0R6uoAa39Qbw5/MAmyne9gt5ARVm5gND8hLMaDpi1eDgi+u5BbDzAg==" + "epochIndex": "9683", + "unbondedAmount": { + "lo": "7195608283177206" + }, + "delegationAmount": { + "lo": "608116032648238037" + } } }, { "proposalSubmit": { "proposal": { - "title": "nrgko-809545601310671678", - "description": "gxewuzssoyxxiznqopxkse-65537443", + "title": "hkupgxtnkcjecxfxb-59864250696317978994561595148302", + "description": "rfn-61385793505989969484", "signaling": {} }, "depositAmount": { - "lo": "647327870098465088" + "lo": "275107701206158898" } } - }, - { - "delegatorVote": { - "proposal": "23311205", - "vote": { - "vote": "VOTE_YES" - }, - "stakedNote": { - "value": { - "amount": { - "lo": "635944744656676444" - }, - "assetId": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - } - }, - "rseed": "0rQLhLFlR3y785DdJ6OlMq49j56TmdUY5lwi/YfRg7k=", - "address": { - "inner": "G+R6IvqDsCJcuStriBxbiql+VXCQkOGh90AIftnrSltId15fo8QdUuCZsOyy9qC2GiXNwvSxXsiWJSGRNaXpC/7Rk5jLWXpZY5MDIWQPn1s=" - } - }, - "unbondedAmount": { - "lo": "767165115394179115" - }, - "randomizer": "8GllYi3tpIMlHho4Z4gZgg9iEJJheIzhimLYwtp1NgE=", - "proofBlindingR": "/alTSasPEKJn0xiqwF5qlCV2x4Qwy/oqWYV6uKJzoQA=", - "proofBlindingS": "Di02t6dpSzo0K5RzwV+mPaPVAp0CkUKfHBD1qi8tKgc=" - } - }, - { - "spend": { - "note": { - "value": { - "amount": { - "lo": "500462582178833477" - }, - "assetId": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - } - }, - "rseed": "xxpg24o6wn0pNp4ybxgeBCH5Xw4kbrUIdRLtouYPmsw=", - "address": { - "inner": "r7ae/+8Q9d3QdaAs66/GAAbYBo/Am59nYWeIBU7REchE3LYtFPa1EHW2Lo1KZcRWuXzO/cM54CLSFnv2iArQnxjrlJnTB4nGnuLdFtCY9vc=" - } - }, - "position": "47329853871088", - "randomizer": "vq3SgPTqdcDt0eZI7mpikA3RrVicRftI7SrvXcbkvgM=", - "valueBlinding": "k+6ARtUryFLoovYGXrGDsRlA1B9Et6YnSxK4ae7sjwI=", - "proofBlindingR": "CosujW/HLe7W5I81tpE8vvjw0rw6sK+R3q91tj25pgM=", - "proofBlindingS": "4JGEFlHAHGbESb3xfWm1cW1t4N2boYHu1NTbqXLDdww=" - } } ], "transactionParameters": { - "expiryHeight": "5300559743", - "chainId": "wjwtdknusjcorzupfwmosxoyil-13456808", + "expiryHeight": "61488075", + "chainId": "hhjevsgvz-1092128947010650909", "fee": { "amount": { - "lo": "806313302663231749" + "lo": "383385177669936477" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_23.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_23.proto index fb3789404957a3bf4d27f76066f79048f81b2e94..b67a2f31fbc8417b837eff7a60f0eaaf8bd1fc5f 100644 GIT binary patch literal 218 zcmV<0044tlLBaw)3L*+1*8femcYDdtk-^nW>ID_jBtm{<;Njst%(_zW#Svc`5YtN< z2?+MVrQP9+7A#veSa;qpXX=1$Qs?UuKXW&2OFaLLQCM@aFNq!yPblqKe5rX-f+7dbF` z5o4}{pT$hyDPaa)tl3l5ZQ^tax_v(wznPK2by05J0=Dg6**-k~%rIN?-Z$<_M$xoq z%+8;L&SY36U48JN`}I!N4WF5~{3bDabJ=o9YACF8k?J#7;7;|ad8|tw0-lb6(9d{aIIom z#kh=#h0cgRF{t*i?zm@wht!tV|obvIvoMSGOT#VbW-@cGT3u9zrdpO%Mz;&#AQuU zEj!*~aQc^4WNX!qMa2slycGC!&9*Pk^tLk5o>F`;ewpp!t4wp5COXZR5%{`FUssEr zYabKWZYC~h5FI@+dE%s|hM#Q21<`S-gxg(KhiWy=<{9Nn$gwE?jOSCy+saWY^mfrR z{#j>0L9~9`y#Mb7zTUl1x=JCDtKbXV-cjBnosJ}htAx%VNLl)}EX zmm0pjDn0P_;xmtTSxFOkFRqQ4%sHa2gR zbhsk#vVEDlx6qEvcW?Tcv=q3y^?LJ<>%P18q~CPgM4Np-K3v*kwPF3ld+STL+3sA% zY^3mDVvAVd0hzQTo_jymW^OIa&3$lp_QJ+@SFYS%S#-FZN63=n|GoqFg@u&Mv&u_S wvhzxdvy$_Rs!9ve%5(FJEAlHdb94=jfhpR;z(R@#m=0S%E&qOb>#`Z#06K%SrT_o{ diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_24.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_24.json index f9e072907d..4c7cd2490e 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_24.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_24.json @@ -1,72 +1,47 @@ { "actions": [ { - "spend": { - "note": { - "value": { - "amount": { - "lo": "922384207425927935" - }, - "assetId": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - } - }, - "rseed": "8y15DjAPg/i2TPCAOJlgKrTQSQNm2UHKLpJl52H7SKs=", - "address": { - "inner": "r7ae/+8Q9d3QdaAs66/GAAbYBo/Am59nYWeIBU7REchE3LYtFPa1EHW2Lo1KZcRWuXzO/cM54CLSFnv2iArQnxjrlJnTB4nGnuLdFtCY9vc=" - } + "proposalDepositClaim": { + "proposal": "120412060", + "depositAmount": { + "lo": "406855896174763759" }, - "position": "41332451622106", - "randomizer": "pYbb7GzU1/8FGbOriG+C4LGm1oqnbI2tA4+ZggADmQI=", - "valueBlinding": "/pP8i12FCmrOPB8IF6toWO0/UqCRnSf1/2nXtEptngE=", - "proofBlindingR": "tvJYTWTz/Hw0yraNTwlbUioB8tAx73k8jalIutF7rQ4=", - "proofBlindingS": "Bh38gN8X7P1gFK/ZR59ERQPEpLxnZpmuXRau5tjIMws=" + "outcome": { + "passed": {} + } } }, { - "positionOpen": { - "position": { - "phi": { - "component": { - "p": { - "lo": "432506193895602060" - }, - "q": { - "lo": "155003316029288568" - } - }, - "pair": { - "asset1": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - }, - "asset2": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - } - } - }, - "nonce": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", - "state": { - "state": "POSITION_STATE_ENUM_OPENED" + "actionDutchAuctionWithdraw": { + "auctionId": { + "inner": "KCAPhirtUtS/ZA9fay6BvCNsEhSQL6puJNATWVtNRNU=" + }, + "seq": "998480260", + "reservesInput": { + "amount": { + "lo": "93405552749813887" }, - "reserves": { - "r1": { - "lo": "34496988622358459" - }, - "r2": { - "lo": "779446111142524338" - } + "assetId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } + }, + "reservesOutput": { + "amount": { + "lo": "641266880841386287" }, - "closeOnFill": true + "assetId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } } } } ], "transactionParameters": { - "expiryHeight": "4919243771", - "chainId": "xcfzzb-445743933420689579348779436", + "expiryHeight": "6491370664", + "chainId": "awrtfzbpxviybwnynzvgdfn-048515371193116354", "fee": { "amount": { - "lo": "673851707019371333" + "lo": "851456879934364220" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_24.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_24.proto index 42893199d5b341cd9f1e193e077e6018e4f0252e..f85fd1b1ab15c058779d29a0198857d4233a3d13 100644 GIT binary patch delta 183 zcmV;o07(C=1n~h`3K+5h6$qTKwK)_@ulx0-0h5gZ zBn~1l3JM6Xl9=|%nve4clZ^o-K|lzo>8Y0(5-MSLa&%^TVsLnNX?bFIZh3Bcc4uT} lZY?l0I5jafGdD3YIWsXaHZwIe8Vm{w2)wkju-5Rt=nF?NL}35` delta 465 zcmey!xQ0cXYabKWZYHi3j9dm>Tpa(uZryPD56>YDp0yjuh%Q}NZ8JrbAJz8K2W+OR{gDm>%x4A*HdO*X74;U@6lbc z3p2ib7r6EF(T4AvIHeTom$u!0lXKmnN1ALGnteW z{!RYV9ox#4bz>^> zVa(07j`0)YDn_p5j9e*P5<*-YJ@2CSUrlUS%LxE_ro(ms diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_25.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_25.json index f68407aaea..4dff60b3d9 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_25.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_25.json @@ -1,77 +1,67 @@ { "actions": [ { - "ibcRelayAction": { - "rawAction": { - "typeUrl": "/ibc.core.channel.v1.MsgRecvPacket", - "value": "CrMBCPP8zbICEgtkZWZhdWx0UG9ydBoJY2hhbm5lbC0wIgtkZWZhdWx0UG9ydCoJY2hhbm5lbC0wMmQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOgsIxvbjSxCL0fqiA0DAmL7QoLXqgRgSAgoAGgsIxvbjSxCL0fqiAyKPAXBlbnVtYnJhMXJ3bmo2Y3k5Nm42NXhodjhkZW1hNG02MGZnOWdxamd2aDA3bnA4ODNlY3dxdHJlMGY5NnR2MDRyeDU3dXlwa2YydDQ5YXVlZjM4a2h2d2tmNWprc3hzOXl3Njl3cDh0emo3NTB4MjBlbHRlcDdzdHRjbXZjd241aDRhMHNsNGs5eTlzaDcy" - } - } - }, - { - "proposalSubmit": { - "proposal": { - "title": "kcrksmeyxustsnjbr-60", - "description": "krcxzlpefqzl-75956368", - "signaling": {} + "ics20Withdrawal": { + "amount": { + "lo": "538804046481988255" }, - "depositAmount": { - "lo": "38351685330180206" - } + "denom": { + "denom": "6" + }, + "destinationChainAddress": "penumbra1hnuy4trv58qp3cksy836hyl30gpcpzgrradclyymeuy3ap3j63kguppjmwtm7v22kpgjhjzdr8r0ma432jqqksyetfdd76e3w87ma75e7gy0tpzjh8fh7897u5l2xxl5rvpsld", + "returnAddress": { + "inner": "1VSLf2jK4cvdqEmMN6sE4sJIZc9cJ68vtHPnwD9odx36M2t9RtVVhteE0mo8BN1zGKIBu9uyG+pZNJI/kVQNzMckCXFPpTZH1StBWBBsYk0=" + }, + "timeoutHeight": { + "revisionNumber": "851314526", + "revisionHeight": "827304652" + }, + "sourceChannel": "channel-0" } }, { - "communityPoolOutput": { - "value": { + "actionDutchAuctionWithdraw": { + "auctionId": { + "inner": "5w/bjjPeej6uKczEuGx+Y29PsGP+/tJJgC1s/6JgHOQ=" + }, + "seq": "696467549", + "reservesInput": { "amount": { - "lo": "415888003349099833" + "lo": "859317660454529936" }, "assetId": { "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" } }, - "address": { - "inner": "zK3UmgXb59dD/4C9/L7P4htU0Ee1rPiWWdUU5AoyqgkW4nLr3VF6ORk2JhOyQlZKIvievUOuytmQvtylncSglmyC0qDP8zz+DWw+/FYHFCo=" + "reservesOutput": { + "amount": { + "lo": "696900593541143710" + }, + "assetId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } } } }, { - "swap": { - "swapPlaintext": { - "tradingPair": { - "asset1": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - }, - "asset2": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - } - }, - "delta1I": { - "lo": "920853597152247593" - }, - "delta2I": { - "lo": "677865656587699464" - }, - "claimFee": { - "amount": {} - }, - "claimAddress": { - "inner": "i9huSFlTnxHEv1AumWjld1PfJ9s63YrojO92xAVyzfIcVG0Z3SCKJQOFUDc0GbzEqz9IWdvFshvu5KQ0T8djRxauxxR1w3RiD0oMuYoRMCM=" + "communityPoolSpend": { + "value": { + "amount": { + "lo": "714145704592906157" }, - "rseed": "++fkdOajvAONYLoezkuIU6nXn/mC+2ndEgwdHS4FMcg=" - }, - "feeBlinding": "Q0DcLLLIqaOvq7gv2Y1rZ7/w29SF94i8cR5VQxly7QE=", - "proofBlindingR": "2NRy+/3HlDXi9fCZaKrlJQ7IN5T6yaep4lKDe2t7zQo=", - "proofBlindingS": "3WBWe6fyQgkjStsyOQjW/n1y/prYDzB2Gr7f4PCfsws=" + "assetId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } + } } } ], "transactionParameters": { - "expiryHeight": "8982080025", - "chainId": "hwbwaix-06083225540254", + "expiryHeight": "3784034497", + "chainId": "ibulijblmzgtdgymkj-718510258553330849115", "fee": { "amount": { - "lo": "516487876813519810" + "lo": "13587429238892639" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_25.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_25.proto index a2e7175dd42ebd7bd26806e15e0c427932161cee..729bf23b4bb1bd5be93b4b6b4f2cb4665ff90d4a 100644 GIT binary patch delta 459 zcmV;+0W|*62ciUj3X}rE43Gi}3J9OI=#bCtjlBmF0}25)8jk^RWo~tCVsc?IXl`|R zG<0%yH8^o_Gh=IWc{npRXnAZiFlTUMaC&EQa$#g+YBnfd(r8Y;^ zD?wNgY+_AVDhvqTj`)=W5X{xSiUT?cV`yP+Ze?sOFba|Zx&w{@3L*+1=MUSCGv0bW zt|`pKxNLr7Z%?pe{{GTQfGuqQqF@~45Z!={%mNxP3JM62*Yf1Qo4WQ3li&d)4k9oL z3J9LLosQh>_|*xM-~l8P3N?}gG72yX3J9&QhJnHN$@B@6-~lB*JqW>(uZ#{7C~0DK zY-ws@Y;AgHbYy3FZEI>RH!(OhF)%VUI5jmhGczzaG&wObH5v;F2?*cN$ElvSkr)bb BwR!*m literal 977 zcmd;TXYOKbX69;O=2FtnOiI>E&M!*UOU_8l%S+ACD>KydElv+gO)d*aOwLX%5xU95 zwV9FQ^PjVun1r}fQqvMkb4mj8i%O(8p;~kel#s=>5aLED40Hfi+#JWgJ@yvpzW8eq zv%`TI`z|cl`l?Yvh>43q3Rz02pRph{uQWHQDABN}JTJ>Exzf@s&&;$Uqs$^DH8;^D z*UTU--7>u}E4?hkz&x+O!ooN;xxBEXDAgd%(yXM+z@(_c)V#E^AUn;d#KbbOG&RlG zB0Hn3JUh)aE4#R&*s`+R%(A?|qNFOz+|;1L$RIVRB(=c2xTGXGw=B6l&osj%(V#fT zB-^smvN*%sh|7KwqYalnmq>PUQFd`|YGp-faY=DrR#K6!nSqdKc2ROgRZc-_T47a= zuDPkDshP2vg%*PpC&#-Dla~IRGQowbi*Xin8zYwi7Z=CQR}cDs{C)U{RY-|TLG#rd zedEG!OWL2mj8Q3Y{IWRgXY*?|zgTVS^F}%=vjl{KxB||sy)ujS_Veq`{~PxH*?0bt zbjStwt!sWvi@YlGgv)3Zr`V&S*LMS}EG5m6(0wD%BQkit;F0|SdNVVgmIvQgzioB5>qXD|vLmcTXFth=~Y;Y~68@(!(W5{9Zgey95oCjTC-Ae^T;n z@gC;hgk5syygPzdUZ4N7>38N`As$&-JyydLLJH0fcXT$LSh;xp>K*zwd$ZH`f4F_6 z^?S#jLb*_9$)dN6QVKV&6#f2te2VF#uODV+ta_@-cfx$iuanDHJ_>5C&aOVorKE5- zA*_1&Cnrv2uiHkJ9M}HU7X6!bgWsS`YTx|_ALei77SiFEdF9_OMIo__@}%;_%nDrt fGXo1_BO_B&69Xet6Db~Ggdh6e|LDy9-BZ~Cp?7i# diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_26.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_26.json index 3a583e3c6b..3a5a801115 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_26.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_26.json @@ -1,50 +1,48 @@ { "actions": [ { - "delegate": { - "validatorIdentity": { - "ik": "/QXLeKKs5nNDGUlootWZo28F38EKtleJ2Dxmz877u5M=" + "proposalSubmit": { + "proposal": { + "title": "zeywfcdsvjgzksgbtututtjefa-28853910783667841305365644150", + "description": "lipqxjmosregeftvjdtdigm-62", + "signaling": {} }, - "epochIndex": "3335", - "unbondedAmount": { - "lo": "268055427198280602" - }, - "delegationAmount": { - "lo": "311754073549817714" + "depositAmount": { + "lo": "28331719177698758" } } }, { - "actionDutchAuctionWithdraw": { - "auctionId": { - "inner": "lBXbj4Fgh8SAUcCnvlW0iL9mC1F+Hjr4h2GmuK7hr4Y=" - }, - "seq": "477900847", - "reservesInput": { - "amount": { - "lo": "494921779002903251" + "positionWithdraw": { + "reserves": { + "r1": { + "lo": "880990439135497488" }, - "assetId": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + "r2": { + "lo": "169746615128594561" } }, - "reservesOutput": { - "amount": { - "lo": "229786067440132976" + "positionId": { + "inner": "8ILW1neZZGlzNWVNICKdjwQNsvmfHXCe+rt83WWYOPs=" + }, + "pair": { + "asset1": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" }, - "assetId": { + "asset2": { "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" } - } + }, + "sequence": "1" } } ], "transactionParameters": { - "expiryHeight": "3655773457", - "chainId": "cobadoodnjhaiy-3702176186175231025", + "expiryHeight": "2498312553", + "chainId": "gnamgtbskhkrwtcjzqll-533676462220084624189983359806", "fee": { "amount": { - "lo": "398478972940299008" + "lo": "199236916972045568" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_26.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_26.proto index ee9c97ef96f66f818fcb655ff263b74f36079491..457b639e0ce1e17ee4455d91d5f48484835fde56 100644 GIT binary patch delta 268 zcmV+n0rUQo0>%P=3TTo6WeQjdIC^DycV=T`b9QQHdTVoMVsv$Mb#!!UWoBV5GB`Lj zGdVFZH#jpkHa9plF*7hVGd49gG&C_aFcKPUX>f6PYHe?Ga%E>_W^{IHWOQU{XKgJu zGAaNX2?)mf*~`Z9sWJ+V0fGXG0SXuj3J8#zzxl6(`kV|i5()@`vBJdK^uw(J5+Vv9 z@PgLXcbQ~qb2Vj6AR?WQ1P!wJpB-?X`n!DHWtceo8b}I}wj`0ZBTXOy5=jW@@}#E; z5;JFRVQpu0VsmR~YjSsVV`_SFY-}wxGcz_fHZ(ReGBPkQI5ajgG%+|iIXE*jH90si SHW~~H3J8FTjqC~+J#MhZp9$Y|Gny=>Q8y9|C(*FEqj7ovym&IW}n_si} z#cErhH_};|B>*yskQxO>u1So$nEMz(27a&H|I1q2qQ=Q{_UF~l)h=H>qo~7tXsN{i z4v({!3py7IY`fR`oJq<6==8?L@4x=LeS10Bxr8iH0_php@zR-l7azZ4CB|7?lA9RC zI2PT1Hj^0`HU~az?0EM0&k|lKCMgD?AdW>VZ%yVCvdKuwsm#hREi2C}EKAEPu1HVG zNJ%M4Oe{;zEy_vKH8C+TH83!-Fg7+ZHZwIhH#0LfwE(g$3@j|orFei&>bt+>)|}6i Hr*Z%Q-odOT literal 857 zcmchV$!pYL0L42Qi|OYGC5K|?;4$J$G8c;%6Rkh#z>1j2vQWJ;8GRp4%OP?f_f1>2-SbUcl?UCyze?aYI*P-Yg~lao zxI7AUZlfV-nGMUL2SO&oMPr90a;ocCyp^#G2U{eO$I!5JtlFA`v^*c^wpLVNiX>zR zm4usO-Bikl*d&3k2tF@J4o+(ZGK0K;NsxjbG=0}~#iUduwt)h~26-bX5F!wX51?Rr zzM7En?<|Xw35>98BNel1Y%OS*H!;51>pk<4-?w~K?$hCNOX)_rAFf#Vtz}K4|Dk63 z-o);^etTH_eERIg;pV-GnJa|JQqS@0>oKgaIk9#0JKjEiyJ=J1>!k-fCb&v^L4>~e z`1uQ}dSvYVWhz@GsUpTmuVcZIL25CGfw^PZ)mJ8O)&7j2ifKdH^Ub@@tz+js_%ZbE z{K%GVi|%w*zfDI0JurT6|I6XgyO9{6+go3i?>#%&F%7hZ+e4)=XbFSZqMbXWxKyxE z{7*&P<>D*t+*%~L4WgtWhj~hYz7XC2WwN7^nIR)ZEb2}}!E&Ngt73oi1ydZ#75_om z2t9QF!2MA5(e9f^srs&CeFMj@j_sPoP@p3Ej~DyvJb`JYSVi=RgmhnZgk;V|Zc=tF zC=paN1X)2^pxRB?NE=cyqvdT)5>1IOrX1NWV#Vk4d`?wu?6JCu6~$$BPYpcRFa#-M z7$Vdy*V3Q`9nV%_QYJ#$C7x{&&%0fhdp2-5=<3W@=m1BL+#FbWC?#j~cw=i=Aa3zMhzxZqd z#0!b?gQ^0A)t}9MdJNM4^Q;CS@4WW7aOyK}2@d8kNw7o^H&i4(u!(DrrvB&VITsPy z+jH60Lj`eIA-C*=Yf^F=!M6%-k^yT9T?!|3dS_^NY;ALNWOih8Z7n%8H8nIjFf}wX zI5RadHZnLjIDa=ZF*P(2Fk^aeZ*O#KdS!WTW_oUOa%5t0cWYx~aC0p*H#IpmGcYtW zFf%kXFf%nVIWagmH7Woa3JAW3l&ahQ`oRebjsb!KiUA533JM6CfPjLSp0I`p5()^v zv-qRAi>sXs5+Vv9zIwOZfs(?EU_JjI?q<(x3+@U2XAW3I7#Jt;uHJ^G%o<1vlc@qD zlc)kFMG`{@)70?e6cR0AXJc%2cx-2KVrOA=d1Y~DbY@~^aAr<$((=?M|nlxzS1 literal 1070 zcmchWTWAz#6vv&7%H~TR!hjg2pmB-NYF&3{c6MeIOBHR!Hg+2@P_UHQ`R3w$Gm~$2 zc4l_Qm#*=$2HJoqDNS1|4WVA5m^3e%(xBMT#u6%`@j@FFF&Dv0L=y$u1O)ZTJ`~U6 z|NIX8&kdBynu+aYpjZZC%eQ2uxYU@Ft)Hyh!T?Xnh!vI5;VWJHh^p~ze-D+td$)h$uLC_} z#cDDFW>GKYVl4!gE!WKE#3YwyI8)KIK+sK|H$vT}3+WV>R&?D*oS+A^ozOfxArunW zK#Xb_5EU#sw2>Z$NW;3}CTK08@S+z8X%DlS>zIOzupQuBDByx@`JC>nkat9^ggHA^ zuoc6B$dwQ+$!gm1BvS{+i2KB00{ln-2&zdC9lW+@Y|rJ6VL*ZC#nR)p(!}`hbIA1| z25R0K`(`;~KWyK1YjkrhUj5*QhN-6Uxf?%Sx^j?y`=DM${uid^RSTgaQ6g3iK=gWR z>3C;T&j6TqHQLts-LCfLV)>f{_>$NbX(qr7a;<0Q@csjT^voc8d%t}$GI`@f<&2Gi z4_a2O^_$*_&ucaNzON{L(SNS~>D}!gF525yGj;mckEs8xp&9}likzzKh)mnLdUW9H z)+6^W%poaIU6*xz$Oo9Q*-uuRb;$-=+sN`fOTBmlP5>F#w-g;Jj^}cS5lstn79)l# zC)**9SrfwqVpE!xmK7D}RW?LvK^HVr3860qrXi@9;gHNYf}Kz6oaLA_Oku|s^&IcZ zvO#0$2~ZbkoH7;U1bo2xF3%;9?}YA9}xaQu;n~_bIGLxk{wYM`JUbcVm=U+0% zH~0OcFFbL!Ye_}4cj)|YMAeR#uePpu{*h!dx^J@oFiF0#MU&J*!A4rvla(w)P=!{` X%`ZzPS*mh+n1=>SqwVLW+RFb07qWJH diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_29.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_29.json index b24641bf2e..72b25155d3 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_29.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_29.json @@ -3,51 +3,74 @@ { "validatorVote": { "body": { - "proposal": "284956779", + "proposal": "175315831", "vote": { - "vote": "VOTE_YES" + "vote": "VOTE_ABSTAIN" }, "identityKey": { - "ik": "zwa90BizdLKHBr7podM1nq1N9nWrmnDPM2vuILNPcSo=" + "ik": "kKxjvSE0AikJN4iJdJg8RNCF8e61hvg6YKbZnol7h3A=" }, "governanceKey": { - "gk": "LlsJYxRy7uSVLWAJ/gU5GCJQV6ErMEGJkDliyCUpsAU=" + "gk": "clTuu7wZVhvbu4SKCq5ioO0tSX0d+yAEYLr9O8foUBI=" }, "reason": { - "reason": "gOG78117V3KSEJa9Usetiav5" + "reason": "oFySNt25WU5e0" } }, "authSig": { - "inner": "wDyN6yGx6Epnv/P7pK/vPG6R+4jjh1i7cpa8cY2dnQHOy/5YBBo34rcqnjMYcIjglWobb3a07u2ke7xdfdLWAg==" + "inner": "Kl36kXfcQb0Vvkyn6ZdBXRWKSBzNFw4OuJqkSS6ylQyfdkfz6frjYdvuVmosFPq6AvgLonDQXuDfAH7FWjT2AQ==" } } }, { - "ics20Withdrawal": { - "amount": { - "lo": "724571558176573681" - }, - "denom": { - "denom": "OONIY11e" - }, - "destinationChainAddress": "penumbra1hrgv7fzh0vgq49adz6ydqnqgy23v6n9qhjrze526uuw4g5dfyaz4aqpjl3kyq0qg3dqh43ecpmuea4yk7f5q0sjqy0ew603tklcj7ya0423szgwd8vzxa7x2h35re99zu7qf7l", - "returnAddress": { - "inner": "F4MDyCqggl2Zynn7rCOdzyeqbBuGObQcGsXvM+KyUsDz7Ku23Pj65ZvN5peYr5xsYTaXnw/asUKrP/HKCrrcw9qkFNIyp2Mh+v7mh1HFAiI=" - }, - "timeoutHeight": { - "revisionNumber": "412249556", - "revisionHeight": "834100005" + "validatorVote": { + "body": { + "proposal": "360316857", + "vote": { + "vote": "VOTE_NO" + }, + "identityKey": { + "ik": "CtSQBAJkCsQbhOBgPXZ/AVvXRkINCXyogRtwX0CZJMQ=" + }, + "governanceKey": { + "gk": "0jTtM1R3bF/JaALffpy8IzultQfbQ3jH9lXuplW0bwo=" + }, + "reason": { + "reason": "c" + } }, - "sourceChannel": "channel-0" + "authSig": { + "inner": "aL6k2ip09qW/aAMQq0OD2Sz7Iy/b+tbl8ibEfD8SIRLnls1Lwdl3MW8JmrYF2LhmAZWFw/TNnPoZFVUiXsduAQ==" + } + } + }, + { + "ibcRelayAction": { + "rawAction": { + "typeUrl": "/ibc.core.channel.v1.MsgRecvPacket", + "value": "CrMBCImvjpsBEgtkZWZhdWx0UG9ydBoJY2hhbm5lbC0wIgtkZWZhdWx0UG9ydCoJY2hhbm5lbC0wMmQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOgsIkLyXigMQ49LqJEDoseHAvLu2iBgSAgoAGgsIkLyXigMQ49LqJCKPAXBlbnVtYnJhMTVwdGVhaHN0OTI3Yzc2bDh1d3d3aHdlcDJ1NGdwa2twc3N5MHRteTVzbWc3amRyMDJ6dnRoMHY3bnR6NnhjdmdzdGRtOTR6ZHhncW1tZGhycHZuZTN1bDdjc3NkczVwejBxbGN0Y3Zzemd3ejhyOTdoNjY2NHI4a3ozanNjbHEzYzk2dDN3" + } + } + }, + { + "communityPoolSpend": { + "value": { + "amount": { + "lo": "50200221473260678" + }, + "assetId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } + } } } ], "transactionParameters": { - "expiryHeight": "1145458065", - "chainId": "ywhlvhz-2", + "expiryHeight": "9866448180", + "chainId": "fghavcyccbyypkwjlxsvyyubqidu-66266543671378545040626714023162", "fee": { "amount": { - "lo": "269386633792776289" + "lo": "593500410798779545" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_29.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_29.proto index 7258dece908f97ae93277759c889a94faffe56a1..cba8f23492b0424bab2b351098604c4d51a7d4c7 100644 GIT binary patch literal 872 zcmd;D!?=iX1tV7y$MOIq+&*Rxjkw*pJTuD{mDUjztg@pJL!yHy7J zl^B_Zhnl7u2sv>%XvO}TSboQGujoFXGXIRbL;C6l+tA>}#oCo`Dt*Uj0ZY`t_V z`)%in6MDZi;WKt?Ag7oLqdp&i$Mxm zN~xc*AT_TvH>oJm(6pc=H8G>O#L~z-+1xD0qO`ocJfl3dz^K$Dy&yZgpt!iwpd`1_ zv^Y22JS(Nhz^JOMB*UQ0Jg=n6tRlHAy|^SL*V3dar6RpBH#a4tsGuw_)wndrJh`|y zrP#Ef%AhbOxg@!)xGKH8%A&~9Jj2Y)%%sR7yUIALI60@#IN8#y#JHTxWD>I>mp&IK zM_cFKmV2|NMG65Eg669^`o@Ldmb5>A8KY9*_+@d}&*s-`ezDrt=Z$n$W(f!db8MM) zjYzF*jB-OH)NkVL4TEWprs_b~O@03P8X-jq4$?=t^h5^ZTT)?>ugi`-tO*Si5qT zym5`4odM3v{#XPWH{!P{o--J5h~SlK8*g^B?(L*|yj^|L)&dHf0>TWJ0tyNU@sZt| z&Bc0DDs%#sEIkX%a#qTrXvQohF?5noi`1<9W z&E}VwubgaQHkY3d+Oa~bKk>>6y4=Isq!iLJr(+@d{^o~K#R4KK3<%WQ$;1H=rMBIT w13C#~Xkl({Wo#`l5+4YWo0*~n5(#;CXl!<9dMz><3s389I(P zkB-L>&XJTf8ZZh92*0JMw$qK`$qA8~Bn~1l3JM7N^W3@cmd>CEk(wn*37P>02>jc& z=m8Qv2$jg>>kJYnVsB-4ZEOV delta 271 zcmV+q0r39b0m=es3McvjBnl!5ATt-(Rn=lbOSI1P3iBMbi*?Spx9A)8wiCB@BbNze zzY3B8x&w{@3L*+1)ki@?vv0d3!-3w$1)rBp7|Mi~izf)Nt8zBte)|HYGY|- zZEIt4cxQBWd3JPoYi4?8XK!I+aA7Su5-DhBW^;LJczI|oH8eLhIWaObIW#diH#j*o zIX5sgGB-ChFflkcGBYtM02&Gi&XM%Xua?`L2ofd;ob9KL6cQ16Y-(d_Z)tU5W^Q

8Vm~x2?&qE!_Ul{_a}7fX^j8? diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_30.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_30.json index 572bda2a2b..facd39e84a 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_30.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_30.json @@ -1,41 +1,112 @@ { "actions": [ - { - "positionClose": { - "positionId": { - "inner": "JNlZbQ6eTfCk3ZvKDIGVpJcMFrHy1FuD8jlgcVhntP8=" - } - } - }, { "validatorVote": { "body": { - "proposal": "141432201", + "proposal": "562583793", "vote": { - "vote": "VOTE_YES" + "vote": "VOTE_ABSTAIN" }, "identityKey": { - "ik": "7ZmADeMHe0sv6lyJSyvZGvR53Z84jbO5C7AOFhBcrfU=" + "ik": "SOzXxIxK5R/1vHJMt6aWEQ+5CUJJV7z1onruAGwWpAw=" }, "governanceKey": { - "gk": "BIHAvjVvjIX5qkvAeH8HhCKP8vn+N3k7R0OL5KI5eAs=" + "gk": "uJEUAFSWydVfAflQ93ZkgI/cx7xVyzpAG0KHx5JNYwM=" }, "reason": { - "reason": "k" + "reason": "7On53pv1S8OQc00KD0C" } }, "authSig": { - "inner": "xOjjUPyioMyIcftsbsE4HJTYHYIAHT5Uy+rQkkTKaQrA2XvB2n2YIBEzJD5aeBQmfdqcoTXX1A28mAqvxdtSAA==" + "inner": "lF85fzTz/UmUHoGw8+x3WWaPL0pKhuMyYw7STgsMWA2V8gvAbbferq5wRUg54ZzIO8gkEI/xQy/q4bLOKNEYAg==" } } + }, + { + "positionWithdraw": { + "reserves": { + "r1": { + "lo": "479450995904680622" + }, + "r2": { + "lo": "416504719801172622" + } + }, + "positionId": { + "inner": "4v3grb2IxJDWvL8/h12ARdgmuAZZpR7eEFVTRZQacRw=" + }, + "pair": { + "asset1": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + }, + "asset2": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } + }, + "sequence": "1" + } + }, + { + "actionDutchAuctionWithdraw": { + "auctionId": { + "inner": "Ho/7MB95RxmUpGqdcPN+JgAhCaZYD69QdJonugVY47o=" + }, + "seq": "998157938", + "reservesInput": { + "amount": { + "lo": "547010197706405044" + }, + "assetId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } + }, + "reservesOutput": { + "amount": { + "lo": "365369505345850532" + }, + "assetId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } + } + } + }, + { + "swap": { + "swapPlaintext": { + "tradingPair": { + "asset1": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + }, + "asset2": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } + }, + "delta1I": { + "lo": "662816719872494187" + }, + "delta2I": { + "lo": "501213225487402860" + }, + "claimFee": { + "amount": {} + }, + "claimAddress": { + "inner": "iaeSLPsdGPzHehplRYA8F9uMpCx1RPRNneHYdkEy6UHOxtpPz1o7E8CiB06DpI1xfWQsbLCJ7h36WuSnlMn1WGlbKzaPuY1d6vtj+qarrdA=" + }, + "rseed": "Gh3V4AGznPcMQlpvWoTPerjODcDb9Li35HnSXJkgX60=" + }, + "feeBlinding": "+auA4qzOBHSjSCizxajeMtJtA84qQ2NZpTkbMMgOFAI=", + "proofBlindingR": "U9MU++b1WPs6qeXVwy4r25tqK3XfB++Ov6xovrxv4g8=", + "proofBlindingS": "a0BMH0epaO1iCy1axFSfMkRLxQwTtSLtOKbqOR/tfww=" + } } ], "transactionParameters": { - "expiryHeight": "4260242574", - "chainId": "lnpbgakxdstypxan-148472", + "expiryHeight": "8517358055", + "chainId": "apbrkwhfe-86", "fee": { "amount": { - "lo": "726144367654748884" + "lo": "158696527542475687" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_30.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_30.proto index 486356f0eeaa172b8fea0d9fd2ae626e6da9a831..9753bdefbe7e39875278e07be370cafb3f5e7325 100644 GIT binary patch literal 843 zcmd+bGQ{);qe120NnbxoG<<<7sD4Fk)A2&|~ z@6=D+2XeRHTeq&j)x+}PoDjdWIK34lx@q(*^}YZBuw z<~~M{fpY!74dg4`C8sROnp^O>PK`m4b6Euc`hb#I>bqDY9`6$Pbm!M?W+?-p)3?0b zd9Cfv_0#OcSfT{dv1I1V^Aoo;cY-}g$XQ$`n52#}aou6$qMA>EVf=c^p_w~6H_zmh z;^KJIH*fvD8>@b?DKT*|Xa#WvbS|Hy^IKNp&+#g$RM!R@@!LI1bV^;m_|AQJqs-Ch zrQ^9{xBSmXSqmRn#O~L;q_?m(MJH!N=R4V7QBRgnIr%jrGg{lMe`jy(tKZ4LmaSfU z!AL<$_UZ%1&2zr*S#uMxkkRzAIYSWo-*>@4ll`|R)g_OHp< zwgO9xX%8a*3+`3UmLgpK}cpv2v-m3K0V%aN8`M32vLP{LZ7jL>NFT|5r dkW`dio{^TSYhfnE1B{a8+uL`&+VXiO6990Ca0LJW literal 251 zcmV{@;P8}SZB2V3ZMa^ z0h|E}RtSl!xI+>G2m%@+3Lx#7fDPjZdrL3sT!~97*&6hD-Jdv(v$+ef4i*qxt@R=z z3Lpf5z`iwajD`8COTc)42ZSPz^7;NZc{@i#i{zp?cnc~63IS^pLJB~{=;KiQqM*!( zard=xz%4rI~*?Ym-eV8B-GbBD*coZgm+MJ;^*VGNXmQd2o1PZY?o1I5amh8Vm{w2-JnyjmVDji3-Sz BY3l$0 diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_31.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_31.json index e6c0a77cd4..e383abc354 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_31.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_31.json @@ -1,45 +1,43 @@ { "actions": [ { - "delegate": { - "validatorIdentity": { - "ik": "ueLG2LHLS2GZyPeo/UkATJkEuggas+KdnLmiAs1BWko=" + "ics20Withdrawal": { + "amount": { + "lo": "3373881155391355" }, - "epochIndex": "7583", - "unbondedAmount": { - "lo": "15793144669807645" + "denom": { + "denom": "0uC" }, - "delegationAmount": { - "lo": "334282447469022874" - } + "destinationChainAddress": "penumbra1xm0z5x3n7gm5fwpg5szzrp5rh9lkhw4krp5sdyau0m583xlresj04m28tgluxlz2wlp48cfw4x5ayxgehq8pdkwmkatmfxmhy5zlrazl2hc8a02dsf4w2ex0xsv9c0hwectyrs", + "returnAddress": { + "inner": "9bYmDKXUX0u0R4ktQQy6j0ysqLM3adW2VI02twIetL9b488iRLJ6HIggCKijCD7kLadsiRZkQuso8wVf2C1YT4roBJu0qH+/2yYK/Z/snQ8=" + }, + "timeoutHeight": { + "revisionNumber": "838289593", + "revisionHeight": "507170589" + }, + "sourceChannel": "channel-0" } }, { - "communityPoolDeposit": { + "communityPoolSpend": { "value": { "amount": { - "lo": "723749552762830993" + "lo": "228861155409067192" }, "assetId": { "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" } } } - }, - { - "positionClose": { - "positionId": { - "inner": "D7uR3PXUhytuF/wIfwgsG7BOPRTb8bJPUJqE5d6zA18=" - } - } } ], "transactionParameters": { - "expiryHeight": "1442141052", - "chainId": "wptbrepftqnteycltrh-5668754710518", + "expiryHeight": "9733323270", + "chainId": "boztic-225159793053704637422672", "fee": { "amount": { - "lo": "593192677678758686" + "lo": "535445417177531765" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_31.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_31.proto index aba700e5e3dc086239b4ed38c9192695a097da74..969b64fb17a85a258470c18df1ca54454c37a5d0 100644 GIT binary patch delta 365 zcmV-z0h0dQ0fqyA3Y7xF43Po~2?+b1px*9~{{<2S3Ii~8LmH0(aAj_FZDMj^F?ek- zdNp`6ZZ~IbHD-5kXEk$rdU9|za%eehYiM^gYjSWkb7Xm8bueu;I5T)`a%FRBFf?s4 zICN)hb$D!gGIwlnG&o~scQkl4VR?9GWoU6YaAa$DZEInFbZusMZD@HldTerGdTcUi zV>n?jGGudRG+u0P31etsZf<34Eiei-k^?ddFbWC?xcRI2p@7Af z1CdrFHxe}nhV+`DBoZHDZ+diTV=Xc=H8C|gH#svfH8VFbG&VCgG%_+aH!>Ow3JM7I Lis}2&n3A^#v8an^ delta 194 zcmV;z06qVP1Ka^t3PHjGJ_;fVAi3hk*s;q?VVTJHsQpO*Oqm3_2pY5Eot(L%0?k2M zN)Vqr8VLxU$hgmd`Gy=K3J98=sKC~P=g|ZTHKGGD3NQ)^2$6xCwxi6^g$k1^0VHAy zC;9;-3L*+154(}v_0)$eZWsIre+VoauueS`+wrnbP@070-m?Q=5;q9^rq!4x z&kO|eNw0IkGtBsbs?kBt zskotEa}%A+18Pr#8X%Bs!@^r{Qr#D5JLsFRKu7SP{YnOW#IT*bK0_@lhLR#6o<<&+ z^c^t;O%tnsA)f>PaJM+NW^K5u(pqbP(bAok04g8~C`GDy<4@xilGVC~M-wxwN*|T7 z0BtxiZx3)L`S=SmAhVL?EtGkTX2LXKK0e?>(3e6Pf{Jc0@Aj45f|0=84hp6Lsso|{ z3ZDTAFbWC?{<;6VotL!T2NEI*ASvpcFEerWq=)B`S{IQ`BUKs-2#KzpisHhnvIF6>X(fE%K|8;gXvr_sDtTTII-ucKSCg`*9x)0&`}slw&)G{2P)&obU@w$_8t0+ z`@a)HJitB*$O0P00t(y#3P=i(O(c;`B!3DB)~TF`l=k+~4H^mvx$# z%_FaH|7j4Mb~_&$KMN8m2C|4KbEao;wu*`>zWxD8yOjznwguK7#f?InVMRf7?~Ox8A|a0 Q{jsz8``7tz*4^d=0NRXKBme*a diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_33.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_33.json index 757ed8383d..18032166c9 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_33.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_33.json @@ -1,22 +1,36 @@ { "actions": [ { - "proposalWithdraw": { - "proposal": "326690332" + "actionDutchAuctionEnd": { + "auctionId": { + "inner": "oJxjTrOBvgM3n2xUo3gII6NJfmjeMA6ciPAAyYKzqLU=" + } } }, { - "proposalWithdraw": { - "proposal": "32683854" + "undelegate": { + "validatorIdentity": { + "ik": "hjd7IQ6pMmfhPLDEi/NrhH42C1efZ+TaMWT12Hf2EGM=" + }, + "unbondedAmount": { + "lo": "948735157995383286" + }, + "delegationAmount": { + "lo": "590180895818609087" + }, + "fromEpoch": { + "index": "274", + "startHeight": "274" + } } } ], "transactionParameters": { - "expiryHeight": "379781162", - "chainId": "vmp-730888803729620", + "expiryHeight": "9972610432", + "chainId": "wmsisavjuqozrioxdvxrbhdg-31708058506325193159590", "fee": { "amount": { - "lo": "509390978610964123" + "lo": "689945274860011745" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_33.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_33.proto index c0ed91d76f9fa06a93a60f2ff5146c845a95bfc6..a4b269ed72faff64befced6a2ef8fe300d65bba2 100644 GIT binary patch literal 186 zcmV;r07d@_C$a-13L*+1pqyh)vw^+?H=k@&qj(4-qe*^f-Y^cFi0}Z(g0rZ#3P;KU zL<%AbAci-4Ar7fBXW=}s#EbK5gnl*)SD$C(+A(DH*mw32V;Tww_S5w7m$Rjn4I&B% zzvK18-OR6;2r32$k^&Ht0un|Dfa|A|B@!@qZF6aJVRmYDac_EZX>WLBc6f4PXk=$C oGch+XI50IhH83_aGBq(dGch$eH90UE3RuFQmz_s-b5qqmXb}Zh@}3v4I5;7#N!yS(+Ic TNbzuSam+qD<^HvvcOC2iaT^p` diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_34.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_34.json index f188903452..49e7eb78a6 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_34.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_34.json @@ -1,10 +1,17 @@ { "actions": [ + { + "actionDutchAuctionEnd": { + "auctionId": { + "inner": "HHtNxwMSJ6F1P0SmGwyCZNDR9dTdwQOlzpwC2MoGZq4=" + } + } + }, { "communityPoolSpend": { "value": { "amount": { - "lo": "567411047180918499" + "lo": "608983241186304112" }, "assetId": { "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" @@ -13,61 +20,41 @@ } }, { - "communityPoolOutput": { + "communityPoolSpend": { "value": { "amount": { - "lo": "134335054560426875" + "lo": "502909648486318144" }, "assetId": { "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" } - }, - "address": { - "inner": "rf4jm0otOkE/2MhHd2FbVbh6JDZCVuVJvA+HSgrBKi9r2Dz2/Jwq7BTx9D2qy/iogStl/+btLhHU1vz/5ljwa9QsI3HtsADOEDJK1grFD6s=" } } }, { "undelegateClaim": { "validatorIdentity": { - "ik": "DMoriA1O6850+k1D5KJfpkS3pyXnQ8olcEs3uEYbSKM=" - }, - "penalty": { - "inner": "AAAAAAAAAAAAAAAAAAAAAP52yLQ5WBBiTdLxqfvnbIw=" - }, - "unbondingAmount": { - "lo": "924905935703523117" - }, - "balanceBlinding": "0Hqt52XGLzTo3HjziSdvtKDDdlFfK5eiZE4g7kcNBAI=", - "proofBlindingR": "Q893WcuijPGA5XKY37eliQHbbGwqPth+61KsoRcdDgs=", - "proofBlindingS": "lKHu82NrCRm0L934qC6/+QJ73g7ROz32YpSnFAIPxww=", - "unbondingStartHeight": "69210" - } - }, - { - "undelegateClaim": { - "validatorIdentity": { - "ik": "R3LnktqQoEV1pp+jZ7xB7sjqkfwIZHR+WjoAixXndJc=" + "ik": "jEWeQ/vN2lwyQMWI4pOSAtu/veNeDQvvHklGWpRZj4A=" }, "penalty": { - "inner": "AAAAAAAAAAAAAAAAAAAAAP/5ckdFOO801qFh5Pdl/Ys=" + "inner": "AAAAAAAAAAAAAAAAAAAAAP92X9itq59Vmz0HyEtdzGQ=" }, "unbondingAmount": { - "lo": "179386025472799049" + "lo": "8971566673412279" }, - "balanceBlinding": "qdEf9wzGCi5RdysBUZ4DdZmttBc4ysDdZm/4UEsyRgM=", - "proofBlindingR": "GWcPXubEwOE2wJH3a4yAqYy5OPJZgSbHN5Q7SX3J9gk=", - "proofBlindingS": "jzurW8jRcffVwtYl88JSzd2fKCAeyv2MFOn+9dORTwA=", - "unbondingStartHeight": "29104" + "balanceBlinding": "LUmPZW9pTKKLP8zpUeYzXx4gDWNSx4gz/ynE2bocxQA=", + "proofBlindingR": "1XPp9qjsFdsqhaHBwcb72BXi54wWt4OOljnF2pIpwgI=", + "proofBlindingS": "4dpKFpIFSS8U9jdCMgDuL3AOg8stOCIxgqH+0weDhQM=", + "unbondingStartHeight": "95137" } } ], "transactionParameters": { - "expiryHeight": "4047898859", - "chainId": "duoqkrgeymhrkors-7241458566280794217392", + "expiryHeight": "1182098208", + "chainId": "ckdecafjpvpxutt-38", "fee": { "amount": { - "lo": "69710397248927342" + "lo": "743337841359999839" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_34.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_34.proto index eddaa80e4e5100e3f66261e5113a4ec9cbdcb853..f915bc60eb79bbebdc86d6385e85f97b32e83b8e 100644 GIT binary patch delta 331 zcmeBSZDqFMQs2a^!llHeAXDvooLNYHVX3{#GHITslnWQXUb%aadFi=1OgB!krLE&K zoy2U!Wx&P7@!`PP6%7v`?c|u~qautDKF~1v;H0f<{;~mu>$wgxUSitI2r{_Gb)NI@ zv$tZ59FBH8nmmc=_Wr$(<9NB>%Xzv*O^NJpPy(u9Km-5F;%}^7JwJ4|E&B=Y*fS|w zoE+O5r!W2W={vuXg05$OYJR5AqHg;$F9V+$$IB`3CI=nwF#fN3Tm)Im$PkoVZ=1xWo@AM1! znosLmC>b^_{CAnXxs};t;d53Y4UPrJu5M-#5=zcaNli{n%PJ@OM&N< zb_cKD>vJW)e4U>xieKikeYxs$=ToW$-sU^pq&*hbD*+WTpn-p7C$?Bd2qgJl`ndA< z^PC6^T`Q}MY|J%7uB!)1Z-+S3=M_$j<|=Vf8C zQgA+B9(j6E&&P(RMKkViU)srdJ10lW?nd3~pfwA{W%;HKlejvRPsc3|T7?4E{|Jv%KvMK-D( zH=kndS$pyur;|dz_3G#o7Yn~%J#E$I{l4Dn z5_tJ#rMr{?7Z=BexgDp@Zn=DbW3n!z3ZD{4XwJiX|98BdbBhHiq$*@OiP?w?B>d+5 zgM|;y9RC0o7GKG@ig_s`*CIx+T=%r*-6vnHTLzL-0pVmRE{-XaUe9d4H+?Is5*Nqx z2cOq>t!;1R)OgwOYB!U?D-daMasQcVj7|#P`@@nKCO??AiuF&kRq+N72RV^xjy?x2 z?oW`DKDY9y5!VW!WlI>j7D6m*UU729r4!4SOx9sk1=&>(wCnJ`XNRUPTDX`AXxE&j zPj`G<{`nGz#>w5^&odjG0+ANi&P@w(QZSl6o2S0u|ML~XYs~qcd%v1g&nva_H~WdT z|2vsw&BRX%g>l^ITKJMl$e}2$sH!9*r?@gVy)31?Dkm#5t+1#nCATo8ytuqHu}s(0 w)WqDv%)ruE#n8yYz|h1J$TYJsvNX3eGcz_dw2oRA5(D{-;vv(393LkB2VQ58RMnhIMPB}3(d0A~uNl7+2c}-|_a5Zf+RvM21aAj_F zZDMj^F?TR+V|Hy8xVi!`h z$8+KGO2~4J$5uEHsm}HRqbwRy3Q(`Mp8xL<_1(~Qpe*aJ#sCJ`29Lm-pJ!obhy_m3 z5y(W`wk;I)wGef-E{#fM#8$a{&i%tV;3Co%d-jM5(4QFVl$p~9iN>Dd-4@W8_V*CL zrip`qt0fvBK!0_TH)mdj@_Ke{g_;?=sRwQj+_H3Ai+zRldW>zYJQ_4#C7P5+w-mx}W$F5)XEFaxF1AFfunXGB`IhGa3vE3JAj4>YSs?qrw4sWy|aU literal 802 zcmd;TXYOKbX69;O=2FtnOiI>E&M!*UOU_8l%S+ACD>KydElv+gO)d*aOwLX%5xU95 zwV9FQcjNN~Y(m^AscDI&IVA!4MI}<4P%XL!O330`2yvqn208#MZjKMfr$1y8*gx-f zn8S+slY5tJebp!-#KgrQg)F7i&sdO}SDKqtlxUb;l3Q$QdMqJl~rnzUT$hxm1mh}ZfR+dQIK1bk&;$sl9iEcW?GVAnqpCEoNQoP zm0nb7USynSUSg4FlwxX9T$yETUSMQanU$Smnp#z9S(RIoTauDoWt@|1ke-v3mSvir zW|W>|Tx_0K#wD?dQIzA=y&L<par!?z}f|>f3cpQcO||T&tN@F)nA~*gNyV0-yi~ zlhO)CE(0zuj`zDxKW=)s`Uta-5|@JJt2z3{h2NI6KYtmcQsDSyaoEr1*KB^V+Sccd zbXH~w2r0Pae->fOWNG7{z1ZliN5sjWy03F0G7bE;izvBYI(gu;R1jCd+mz|?w;qSQ zsC}~Jb>T_*?R&gxU+vlP$$fsyE1o->KJ=$3A3JL2cw6q)UOw@P%aihwe57)xJvS=nJ`6ScvhSpFaeMTSmhg}buPq+R zy-#jYV(?OUyh!E1=Sm)Pz8?SCrxy0AL`^z<{=v*-)&G9cm7nGAatirz?6|w=Evt}4 zVo6d)Sz19+RYgH=PC;c_QhI4YPGNaLYJNe6u92aErI~?|rKOR9p{2R884wy6SQ;6d V8Cgj20K@j$rdey=pZPwA2LLHjAqoHh diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_37.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_37.json index d8bc7f0494..ad541a7ca0 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_37.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_37.json @@ -1,32 +1,104 @@ { "actions": [ { - "communityPoolDeposit": { + "swapClaim": { + "swapPlaintext": { + "tradingPair": { + "asset1": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + }, + "asset2": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } + }, + "delta1I": { + "lo": "483348454564315174" + }, + "delta2I": { + "lo": "24981429482936026" + }, + "claimFee": { + "amount": {} + }, + "claimAddress": { + "inner": "QB5mPsV5DPjNF8f3jtnLafaPTQOZtmTsrLhZFiLODgT9xi++YRJgW/9nSpOF68m8wTRrPcflSSUxuyzlF3c7aIS0qihZZrLyHTz+CjLRSWg=" + }, + "rseed": "t6ldqiA0xarBX+jD/V39hPJRjMsNTpsN2wJgGET0yjU=" + }, + "outputData": { + "delta1": { + "lo": "702953653" + }, + "delta2": { + "lo": "1105375958" + }, + "lambda1": { + "lo": "314" + }, + "lambda2": { + "lo": "970" + }, + "unfilled1": { + "lo": "518" + }, + "unfilled2": { + "lo": "1757" + }, + "tradingPair": { + "asset1": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + }, + "asset2": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } + } + }, + "epochDuration": "1000", + "proofBlindingR": "qjfQ6Mk1DkCzURRZXDcwQ0KmnDR/wUboT5QW5adIYQA=", + "proofBlindingS": "XF2ybTLSH3UinVI3iH1lXtIjtiuhCqH/lA3fUNALugE=" + } + }, + { + "ics20Withdrawal": { + "amount": { + "lo": "176400219834859729" + }, + "denom": { + "denom": "3uP" + }, + "destinationChainAddress": "penumbra1wyfvr9kww4qsmz24j8a6x0sjzv6zmhtgtya5t42t5dzdzs3sfw9l4grszzhmmt925d7n9psamt7d86mcd006900qkfsgtuajycln9egs0jdg53pdrnuv8hntng630jrdl4x32r", + "returnAddress": { + "inner": "K9cP6FyydE7UepFnY2P78hNe3NgeioarTMSSYYRIOW+nAs6UnLifc7xuOnOEMjrwAKf498SEIuLsW3/AXqvYX5JASEn3CdR3NQx4XfBs/DI=" + }, + "timeoutHeight": { + "revisionNumber": "856650701", + "revisionHeight": "674892652" + }, + "sourceChannel": "channel-0" + } + }, + { + "communityPoolOutput": { "value": { "amount": { - "lo": "769772834950605681" + "lo": "278998628685915596" }, "assetId": { "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" } - } - } - }, - { - "ibcRelayAction": { - "rawAction": { - "typeUrl": "/ibc.core.channel.v1.MsgRecvPacket", - "value": "CrMBCOG4keUGEgtkZWZhdWx0UG9ydBoJY2hhbm5lbC0wIgtkZWZhdWx0UG9ydCoJY2hhbm5lbC0wMmQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOgsIrLe+IRCD99jMA0DYrKC9pLXqgRgSAgoAGgsIrLe+IRCD99jMAyKPAXBlbnVtYnJhMTBwNTV1YzV3OWczdzQ5bnZ5djdsdDU3cnR4bjQzNTA0cmx6OXE2Y3cwMGQ4ZWR0ejB2d3c1d3htbDRodWVqOWYzNDZyNDhjNXpteWs5dnF2bXNxaHBtc2ZqZ2ZsM25zMHFweHN3ajBrYXd1NHMyZDVjdGN3MGh1cGdqenV3OHA5N2UwZG1o" + }, + "address": { + "inner": "C6+cg5wG8tHbA2+M8sBAV+186hwLGwxoVJidnYl5lRivIUsbgezAS0wFHDxPlLIgh+XYt9SiSt+UlF1FKF/J3ze7e5wTjTpFjgUAM07DxIY=" } } } ], "transactionParameters": { - "expiryHeight": "8915831258", - "chainId": "yfzxcvbplxalvxnbncgrzvhji-9609919821469306239566712638", + "expiryHeight": "1133831552", + "chainId": "icrdgahzmdqgoczisu-10179236882093924987", "fee": { "amount": { - "lo": "90256352478796140" + "lo": "72717640288502713" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_37.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_37.proto index b2e4f38848892a7690ab4d73b3384609ff4050b2..91b51c624d2e12876fefa615b02aaaeb519d5e74 100644 GIT binary patch delta 753 zcmV-Xf0SZV8krX456C{5U3J9ivsmQ$B%-RMT2?*M)zw)Gy zuq+}13IHln3Q#~EWWbCZCSr#JB4g~$iFTPJ7|Qoswi1zvhp1~{t7bDNoX=4x2avKAT-6Q!C&aZ z{ari#gz{00%MDJO4ch`>7)12SH5zUT1_-tBn9l+d1_;*WijM>u0|>eTA_EA@2Py*y zh6FML2;B`rND7e@Bass%e<0`wDj=#i(CEoE4nVU}6j@w1FhfG7oHT#IM(9tJ7Uic% zVE{59TwStlGSVM)BArqhcR6e{XL56TdT4EJbU89LWH)X(aC2d8bT?!;Hf>{M zFfcYbFfegzW^-qBbzy3GV{C3YWoL6RYGh|MGjL>bZgqAzXl`_FXErl1YI0<3Gg6K3$L7moCfmI z+XHWm^1wh>?R@GS3mXh*RG6KeiFuV6uOUktf$YFbOa&Y~Pn5DChvnF})S^n?l$2dX zC|}9nH@kbB6OB4Wjs*ZSPQ%285>|l!+tiuX7h{H zwmxs9vocG7tDU)vv6-2xftgE5KQk#=FFC&`RWCUsF)uGQN3YCK&$l=|C^fk(ATc>R zwM6J96W3-&j)yxYK4lZ)PDxEmEX^qi$S*39;)H6^HBdqp*FuOJr7+L|SaEZ#*}hLv zp!xfaGt3S*)-2e&Wb3O&2_Ysf1}S7IrGCbO)V$K%q@qMag9202(qz+e%XH&%6U)4^ z$};nu5>xY{l8QVNV^af@qMRzrLbK#@1A`Qc)RdAcgR=5+)AEYk9FvUF)GW(1V-vF? z6N_Zis@%$K%d*0<+~UHFg52V?tn{=TZfIm?Y$3%1jQcm69xXieb>#v^09?(R?f?J) diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_38.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_38.json index 7249c13f16..c3f734fdc1 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_38.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_38.json @@ -1,139 +1,59 @@ { "actions": [ - { - "positionWithdraw": { - "reserves": { - "r1": { - "lo": "465127837135700820" - }, - "r2": { - "lo": "160069219706089534" - } - }, - "positionId": { - "inner": "bRA2HhI+pfDGdr5Lz6IITVHPS5itkchITo08z3Xk3yo=" - }, - "pair": { - "asset1": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - }, - "asset2": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - } - }, - "sequence": "1" - } - }, { "spend": { "note": { "value": { "amount": { - "lo": "531388044542160579" + "lo": "470247145843383108" }, "assetId": { "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" } }, - "rseed": "dF+zGHcJfK4LNl1ecB72F//P3OcBRlkff1Q5+ybylU0=", + "rseed": "GcTT1/rxAoJdLA0/JamS8WCGc1UCdZ5gr7O+mCQU6KE=", "address": { "inner": "r7ae/+8Q9d3QdaAs66/GAAbYBo/Am59nYWeIBU7REchE3LYtFPa1EHW2Lo1KZcRWuXzO/cM54CLSFnv2iArQnxjrlJnTB4nGnuLdFtCY9vc=" } }, - "position": "127162509479557", - "randomizer": "/bl7NKpqefEh1HDGCPqwzqsW4R3DbI4DhSyFG6tlHgE=", - "valueBlinding": "VW6RZZvuUc0oYTuW5XlVjXwoSv5OYgiZSRLWUNHk/wA=", - "proofBlindingR": "NDznlryPqQ9dYzgLYM89ey/u9Wv0XMe4N4LFRvonygs=", - "proofBlindingS": "IFOQYYyoxRBOVHha0xzLSVn26hUB7VQVNhlIqZlMmww=" + "position": "84210121314347", + "randomizer": "Me2jFts+75K8YN4dpX1eAIMAPQ4ZXNXSB/Mm8ENCxAA=", + "valueBlinding": "1zP4A93dCLQjM2iZEak3Fm9UL2Q0NCj0QgJWLuXkWAA=", + "proofBlindingR": "CI0MJJo2DgqghvOGLhc+FmrmyiCvXxwxx89zZTPKtgc=", + "proofBlindingS": "wi3FI1VCA1MagEDf3ygM5bL12gp8ZOelj7H5yt7Pqg0=" } }, { - "validatorVote": { - "body": { - "proposal": "882810794", - "vote": { - "vote": "VOTE_NO" - }, - "identityKey": { - "ik": "0p7JiwgN/BOyDr/YMdCM/ZT2O+Jt5rn4YDMsjummTnw=" - }, - "governanceKey": { - "gk": "Vku5VEQ0zbzbAtRKvyrwbtotYHjbiyANJSBQvimkiAE=" + "positionWithdraw": { + "reserves": { + "r1": { + "lo": "114522338840145298" }, - "reason": { - "reason": "VPG536v3rI0v3x7vYReCd2y" + "r2": { + "lo": "994982534980539393" } }, - "authSig": { - "inner": "dAOY2+wI33jNIgsUTfqKSbDKwv+P0Fa/91kAGhKr/Q/bM/csW6x4qmZe+kw+jjkWVFoocBzqhWl/re8ZOYXxAA==" - } - } - }, - { - "swapClaim": { - "swapPlaintext": { - "tradingPair": { - "asset1": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - }, - "asset2": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - } - }, - "delta1I": { - "lo": "956996503132728355" - }, - "delta2I": { - "lo": "144510200169114100" - }, - "claimFee": { - "amount": {} - }, - "claimAddress": { - "inner": "qpi4mBmL97S2kdUbhFGYlFibjichsKVRhLuRMv1/kHZ6NaGfwHhEbc+3ZTF7+us/3E3ZRgJyqZqPm242zqG/4QUfQQGclPJiJN7pdYXVAWw=" - }, - "rseed": "1IbSMJo11mPVZSz0ODdqsvBQRnpnMbCH89noQhweSdk=" + "positionId": { + "inner": "HCEW4bYIDHg3ApKtrogQn/t7yZP+3zsSSAJkFsa1xQU=" }, - "outputData": { - "delta1": { - "lo": "1131051379" - }, - "delta2": { - "lo": "1117311984" - }, - "lambda1": { - "lo": "7" - }, - "lambda2": { - "lo": "222" - }, - "unfilled1": { - "lo": "1476" - }, - "unfilled2": { - "lo": "666" + "pair": { + "asset1": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" }, - "tradingPair": { - "asset1": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - }, - "asset2": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - } + "asset2": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" } }, - "epochDuration": "1000", - "proofBlindingR": "P6JPAW4Bnd0aZ1STGo6/ho6RjPP0u5UAsRqt5Q6IowU=", - "proofBlindingS": "lv1XDf0ipIKGTWVMLUlUj4l6lAus33k3mLLYoNs1bQI=" + "sequence": "1" } } ], "transactionParameters": { - "expiryHeight": "2397374994", - "chainId": "pbooqfrbyxjcrkuerynachjpsnddb-8189547", + "expiryHeight": "8936079907", + "chainId": "jjtemvflhbxquubruapeddy-785", "fee": { "amount": { - "lo": "35179472883806480" + "lo": "732078482192978091" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_38.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_38.proto index ccb73d044b6b85c3f367c497dbc28c978585766d..d50a32961d8f6fd6e26c5f370ee3f4e6fbfed5ed 100644 GIT binary patch delta 348 zcmV-i0i*uo2!#X}3cdmgy8;TR0SYh*3JAoui=~?Bslx`7yaOa65+E7G)7Sd(0)kyE z4L>ERlJQ`Mb5#O$o?x%DzL+Ew=%JDBRe!6X_>$|A6B-~f?V}dkKJSveVBQ_2eO>^A z06h*FT-DMC^Cs{^Lc{G3J9yA$F_s8x0DL2^Nzd# delta 831 zcmV-F1Hk-+1mg%u3XTDS0*V0&7zzpq)Q0+;+v%OU1`-MgzTmi^x5KNP0umw$AZ-vf z9uhvK@Wyt&OV6SRO;OKFn5~h>NKTDB&voSADjG-%ldS#HeFtD9`+ai&)nw$Mp++!R5|-5@|8`I zT~&XDoztQ9^c)%>{keNIs%m-hA=Gfj2>P(js}|uM!)%TNg)D^|t7RSmA|O?6k!73i zQOzh}JC@~nRgHWoO8!n_2$@L|)=<&p{{Si=G(6{)ypO35U1K;4V9z~!FYfhg^jycd zH-g1R`X|Z@G9VyRkYS9d#Sl(Zcv{mO%SnG(_UaV@?Nk*u8Az#_Oq&b}w*jI7vjGZi z2&%vOqyrKH2m=}-3Lw&+$%_aL{1dVczt}O*jQy1MJK}BTx%gl+ERN}>PJALF3LsWX zxl}|n&Ai(J)Jnf9@NU{IV0hb$APprTP`)Xohyf}Y3Kv#TM>R7xb~AEGFm^L|H+EN9 zQe{JAGIvd6 z`=bpS3JCPmfZVR=*?e ze~@;1HKCutctmZ_w`DPV`s+X3P1!~Qa;ch+n{GDFp}*k;A3*_}l=5OE-syFP)d6fW zAk>D^Fq$>iW7TCW^f)^=YO?T9MtWy4u!r;6=t3MGN!c203I+)C@~N8y5(WtHr{k0a z8UhFhA_EBC0V)Fs#0xS52$}^#ND7m!0V9*F0VRLv2Pz;xqE7*C0iE3%XH=6Kj=zSE zk&N^7yOjX38m;9Hh@%BEAeQ}C4gDgdf`(0HOf5-NkBNGe3#{LHH<+^6pxZTV0unk1 zl9ZJ92ofc5VsCG8W^!VAcxq#EYjtIEd2V52XlihCZe(O)EjTeaIW;sl8Vd>u2$16c JgtY_lzCIdJV6XrH diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_39.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_39.json index dcaec99a50..b76dbf69c9 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_39.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_39.json @@ -3,29 +3,32 @@ { "actionDutchAuctionEnd": { "auctionId": { - "inner": "XTDpe9No0XGJuhIof9R/H0nzlbndN47FcWp19oan5DA=" + "inner": "c0FVvT19ufQMNoZkw4KE4iOWdnMwkedavwgeysjoPWo=" } } }, { - "proposalSubmit": { - "proposal": { - "title": "ynnajcmmygjtvzebgdinw-5281", - "description": "yakipgupcjcwbzbhcjfh-6887007188777625904", - "signaling": {} + "communityPoolOutput": { + "value": { + "amount": { + "lo": "846711980480633701" + }, + "assetId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } }, - "depositAmount": { - "lo": "765831618350417324" + "address": { + "inner": "/5VVlhnPz2rN3eOjE8R+aD17ie1u7hqm75JOeHIhEGSFcSTAGnQLPS2eGZEa3Bn9flIgapaiKThFkSEeYMEaccv9m4rgaqaV5sKkiyAz1Mg=" } } } ], "transactionParameters": { - "expiryHeight": "30254982", - "chainId": "lmmpzfvkmrjymqhr-821068746509121003911302", + "expiryHeight": "3827603787", + "chainId": "htxqbyniabeljdzvkagj-12379991737703822", "fee": { "amount": { - "lo": "887886743953552340" + "lo": "253952826649855945" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_39.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_39.proto index aaba3b07627b8c56e5de98fd54092c38a623435d..49ca2456833a8f090f482f9972c1323561dbcf77 100644 GIT binary patch literal 244 zcmV`_JN4t3lbs*5am)Riir{LdmFB{viy$-9$PzpV%d(Q84iYA4ba-)Md2VT8 uVr6V7}X`DNGu literal 196 zcmd;5-^8rKrNpHWYw)uAa>m8N&Rs$p^;hcUJwH#~dDpz}Xkk|Ax3=X^47egEF@|w@ za7k6>LZDRXl(BU4KQ6DNLXRYJ`04U2vUjP6A diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_4.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_4.json index ba3be6e50d..abdab8003c 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_4.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_4.json @@ -1,64 +1,60 @@ { "actions": [ { - "communityPoolOutput": { - "value": { + "actionDutchAuctionWithdraw": { + "auctionId": { + "inner": "tYen9vdCq6ujbL216qi7ocFMD0wE07BgmY1WKDxSsZ0=" + }, + "seq": "618503155", + "reservesInput": { "amount": { - "lo": "240451278658506679" + "lo": "84852211894696562" }, "assetId": { "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" } }, - "address": { - "inner": "XYzPD9JIGirLSm2WQkkkdfT04NeIVklkHIfheRkeQnjnoERF/iR2XCHD0axHQFQAfH/x3YWubcaG2jN2BQTvNm5DIOoQm6g1REsWYpx3Ikc=" - } - } - }, - { - "positionClose": { - "positionId": { - "inner": "z4A/5pWH7fMa+aNUram3n4gPDAavJ+7rrTfOLqrGVd0=" + "reservesOutput": { + "amount": { + "lo": "949839836777165243" + }, + "assetId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } } } }, { - "validatorDefinition": { - "validator": { - "identityKey": { - "ik": "eHURaNCDZQ0nIq+Z2ICt4goHmJz+pqGwzh1Z6Vk3Xgo=" - }, - "consensusKey": "NUz+oFzWNut9RkQSONI5G250S8JkZlkbyvjfQW1NhJM=", - "name": "test validator", - "enabled": true, - "governanceKey": { - "gk": "eHURaNCDZQ0nIq+Z2ICt4goHmJz+pqGwzh1Z6Vk3Xgo=" - } + "proposalSubmit": { + "proposal": { + "title": "seefqmo-750448", + "description": "iuf-844", + "signaling": {} }, - "authSig": "GuAHDPSWydG/kdgjsCcw5hJo+9Mf0mARFwPTxw/dzAkoWqP/o31usbbR0E4kH4t7amc5BapBqTEL/AWpn9SmAw==" + "depositAmount": { + "lo": "774139197522646266" + } } }, { - "delegate": { - "validatorIdentity": { - "ik": "3HO/680oYPfR/oxFu9c85ASbXfU/IbuVbtiBpVwc2DA=" - }, - "epochIndex": "5314", - "unbondedAmount": { - "lo": "140229987020723004" + "proposalSubmit": { + "proposal": { + "title": "sefijeqm-92688048104843706673977014363430", + "description": "cbpkaruv-593976592810878117828", + "signaling": {} }, - "delegationAmount": { - "lo": "545618568346872141" + "depositAmount": { + "lo": "978143614202696154" } } } ], "transactionParameters": { - "expiryHeight": "1669319987", - "chainId": "pyvtwysgympchvcsuoqryjtjj-60635851526", + "expiryHeight": "7229120705", + "chainId": "etu-2", "fee": { "amount": { - "lo": "19543685207478289" + "lo": "859783043176233021" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_4.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_4.proto index 3a39b784a2cb1a3cde727cd9abf2a7ec7c732888..ae02136e2d5b8977b2707cb2f3495d116ff7c9ce 100644 GIT binary patch delta 262 zcmey%e1OTGYZBuw<~~L)B`$@n?aRM?cUrxAan9bYuU70{c+iL6hvo8ygqgiz8a6>2 z=L&q@{%skPlmQnP$EPoSk2g-aJB@Los0yDFNM!fpA1x6shOZnZ&5cCC$ZG zoSK?en47O_Zfam+Vj;wyS(>J6VPc}iAjQS;Yvr05zur%}&&3rti7}eXmrJuaH7zqM zwJ=xL(#Xuh!obAB5Qt5T%?-@V%#AJ0%?%7qjLnQqj17e3l9LLu6N^gAbWJURGG?Zh zMnJ_D<`#yA<`zae7GMi*E&jRhOYf1Byh73(2M_jrml9%4Eh*JClHvinckhRdhrc#2 H`OXahjkjF> delta 485 zcmX@W^p{zbtBY|Ka~mU<0T&m?_W7?a&R;rVHS@$mm3pBdu7KE{^Zb`Qq_j?Z7*)8GxD?Je*gu=v{`Rxf&&45YS8ku*!Oz3CUj5zc zwdUvaRviny%XOrlv5D~jBUcSbbw#OQ#)aloUUjAQGjBAkeZ<8+W6r;23pbpTjeHqt z9>*o5VCwU4LCiI?*R^ggLKc@SrSnR>52d6WwI1sNosM4LRn%?W=dj7 zevt#C7XfqY!3H}>Jz(egGVSEW{S$8}Z%{XQCY15}vizk4L2>5G$NBG`;nav){C{z6 z-o|YgFZij*cUNbnTe7ZlTxrPthjr!rE6bRn9O8VTPo{_Anweck2> z%k0>%_KLfw=G|yq8Y6SVK;V$36c@*yWiMwwI@|M;5g1k+XD@A7xqR8|lk7rP9GhqT zpUozuT2NV5QeIh{UYT2voKcosT$*24RGC$hm8ENDU}kJ;VQOeMNDapjKq_u;7v0@d^s10>TWT0tyNUxsbqs{LlEg3lbCx5_&mBQBHS5 zZaGkTW=b_jV@)<1j{$IHZgp*9a$zxfFlTf&adR~^c5N^+IW=x{HZV79ZD?gMHF0rv zcyVYmG&E#6aA$FCXLouuYi4e9baXW}Za8K)VRUCUcQ7z)W_dRhVMe8jO? z`X?{#-Y0P@=m)UHW|nTxO@?us0_ag*t4Ni9JLfF9tSSr$`iAnp0}#@)`T}q)^!@uJh%sae>%QEA6(GGAn%+J&ByY;w$?DckQTS z>8y-a3JQPtO|-54w;m5K32U=Si!PabaPyp$*R{K1&BATZKW2AQu-lw|cl((g$8=wL z2MMr-tj#trE_j{wd9Ma{8#8W z5F$nmMlhg-3WF3A2a}Qn7Z=C0|G%1d%~(C13+SqqGaGmOdh~NPmj)x(Az-NQ1Bbe$ z@STgIXXo3tEqgSR!R=X1Z+*OVZ?ibN%6Z-b=3A0Q*h2mPCHYTJ`nn45Wv+EPeDd8H zEiR6yKTmyb|MqVOr;$Q`f1AlX{q<{vFXXzMoMd%broQIf`u$Rwe_Qm^G`S_1trRTZ z$Lxz1_+Z1G$>MtUmtp#!g@0#k?s}fXU8%90dCq1gCxz4}3P+yaRq*?=bL%wK)UO5Y z*OJm4A2sP`W%#7Mc3R5fF<~N$kQK+feJ6i$3#k-Vlq97lCzq9G6sBaQR27wECKi`w hC6;7YW~AvF8(Ekcn;S{-0E6S<#2L4DZ~io&9RTy14(9*> diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_41.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_41.json index 3939fa4e68..c6ff94a480 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_41.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_41.json @@ -1,59 +1,83 @@ { "actions": [ { - "actionDutchAuctionEnd": { - "auctionId": { - "inner": "FMaVHvfFRXg+NqgBk1nnvBEluCfJMoK3INBZtXBjeYY=" - } + "output": { + "value": { + "amount": { + "lo": "679189361135083381" + }, + "assetId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } + }, + "destAddress": { + "inner": "DWTbSZUsW6oEokJ1qoMMtQoldD3fRPeZOe3GX5kTgZyKR+DCNCjSdzgtBsv4J/oiPLPrM5Xt9lEVAyTjiOE/DhkAmyOfwuLdyDNtWZjQ3dk=" + }, + "rseed": "I2d9d89SDeTTXYZGzo01IJoJD9HpehCnaQljyxKHwBU=", + "valueBlinding": "NDurM1Tooq11nDtNhLYuiaGWLnwbZIHl3t+lCRbuawM=", + "proofBlindingR": "iLr6XrgQdHndYgL2uFhis/XhlFWQLH1nWuQYuRVIbwk=", + "proofBlindingS": "6Bh/qx5XOdtBJvy89M1F501yxcTzAz9JeQdBK25zKQ0=" } }, { - "validatorDefinition": { - "validator": { - "identityKey": { - "ik": "ojXO4Lkqz9V9pZBvCHC1ADpo3rsgsenDzKjyjmxlago=" + "swap": { + "swapPlaintext": { + "tradingPair": { + "asset1": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + }, + "asset2": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } }, - "consensusKey": "KptjwOVdUw9hBC67ZouxIX833jynv/6XFiDwD615CLo=", - "name": "test validator", - "enabled": true, - "governanceKey": { - "gk": "ojXO4Lkqz9V9pZBvCHC1ADpo3rsgsenDzKjyjmxlago=" - } + "delta1I": { + "lo": "679362630365607269" + }, + "delta2I": { + "lo": "282858944999713516" + }, + "claimFee": { + "amount": {} + }, + "claimAddress": { + "inner": "NXCqPbIJ4f8mhZPKSSoINjAHswai9THUcJ1k4FuXO8t3nesinSYpBj4rVN/vTReoWqwQNWScMp8gI1rUh9qVJOJym34xcKjyonM5AQ6CbYk=" + }, + "rseed": "mfsgXiJLfOs7I3VRyaJBp1+K2qroEJh8ijvzqLPhW0w=" }, - "authSig": "FNmLrD6LVakfBPWeEtab+7M/2qwruaKqNRAqdTQAzASY0BRV/ZKDUPzX6JNPA/dgzS9uAY5yEE8b0Gk7hQx0AA==" + "feeBlinding": "m1KPyQPhl1BnDlNlK94NX4gesbWtBK/pOGrSMbzB8QM=", + "proofBlindingR": "sFXbVCY9A2IdYaIlJcDRL108RCr/QIcW+mcJZXi9Jwg=", + "proofBlindingS": "jje7gxeOOfDj4JzQ4pW4YBTklMvyGiL9g4SfH94emhE=" } }, { - "actionDutchAuctionWithdraw": { - "auctionId": { - "inner": "brqmC676g0WEx0EQzKDKvTJROgh3ZvMb/l4//hvI5PM=" - }, - "seq": "515691415", - "reservesInput": { - "amount": { - "lo": "602315755144163636" + "validatorVote": { + "body": { + "proposal": "223263340", + "vote": { + "vote": "VOTE_YES" }, - "assetId": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - } - }, - "reservesOutput": { - "amount": { - "lo": "805532623255840375" + "identityKey": { + "ik": "puggZFMk05lx/nedIwm8XboHzxE3a/ajvltsI7x4uMw=" }, - "assetId": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + "governanceKey": { + "gk": "lAcboYty5jZKJ8or0n7GDpNC2Np5Qoi/XBr3HbdrARA=" + }, + "reason": { + "reason": "UbScZiD8r5xvJoW7ifHiG7c2C01tST" } + }, + "authSig": { + "inner": "lgOfl0oEXTYSJ3nnMY+VGHnbaL081bNwSEuPd2ywSAA5xryPU5goiOhTwSulbssIx7k6zYNC7LlumwEllQgcAQ==" } } } ], "transactionParameters": { - "expiryHeight": "4395811248", - "chainId": "bjujnpzoilblaevejciymtommdvik-2684", + "expiryHeight": "1466370514", + "chainId": "rjnrfxsvoqewymyy-680935684045949", "fee": { "amount": { - "lo": "141980490610222978" + "lo": "357482991574979395" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_41.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_41.proto index d9b585fd1feb93ad361699ce7c6e3893a1f0e2e3..c8604680aebd1ab9d131fb1f7b9e5b24d1b17088 100644 GIT binary patch delta 769 zcmV+c1OEKK1J?!=3XuX5jsglW3JM7IzPaszdqe<=)?=2^Q{a11cbhy82$Y5OjInVgmNKSYosF z;gnU7EPZEMs~%T5+d(G$y!6dQ=S_0O#Pb6`NqGlBD{gZs4GPEt z8pQ$%+yM$m3X?DaBa>kPC4UMC zJ+cYm|0ac#%1J5+HZTXX2BP&b)Nq|-;9HkF%XgjYBAq5F20klP-|tNqs9LNLHDsJJ zpCBVz)Q8%YB;s9qJKfBUy9nQ=n$BE ziaYbDv*BAz5+IvWkI4h!mr!R8Q)MgO4PS^Jv9+xPujx2y(lNZj@dFwluvObsCOrdU z9buv+CBV@yT|7i8|3HTp`ezAcc)ceGA|Q@8yMq^wIq>7)oY3NxxL_3Il*{rOBK?De zpC8^Hnh^@U0ipr90e=c}2<-H_Y7znn0vaL;Ag1UbWK$&5nQ{Jiog)dnUAhO)5jSi0 zqrO{gBfNOH%pxKRAe09ip^I|nHcBVTE7E?(4wFLI+Id2Vzg!yk9k*)%5Go)F9#vvf zV_IoMIC3?3c1mwoH)&=_X-79>GD9#ibW>CkLJB~Z1D}^l1ae(A5+`}*F^`oPdE02c zJk_&sNK21*Y_LcGImWz?Qg2=I{a^H`-R@j-XV4NKJe2<{&4)v2pP1_YNL~boeu59Bv z!q~)kfRU>Pq6iWm2OU%hkNi4}Pa$xi##$X4L zo84>dxv}kvyw9_b4&7bb5qJPvvrNkEKH<$fZChRzneGV I!mK}x0G7$92mk;8 diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_42.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_42.json index 12926bcd50..0de5de38b2 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_42.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_42.json @@ -1,68 +1,99 @@ { "actions": [ { - "undelegate": { - "validatorIdentity": { - "ik": "3CMSBNay466PPsbAMMwVcs8dYlUu7wYFnhQBzytszb8=" - }, - "unbondedAmount": { - "lo": "445210398279593827" - }, - "delegationAmount": { - "lo": "912468609333936955" - }, - "fromEpoch": { - "index": "6657", - "startHeight": "6657" + "positionOpen": { + "position": { + "phi": { + "component": { + "p": { + "lo": "831481293624391719" + }, + "q": { + "lo": "497613288717095785" + } + }, + "pair": { + "asset1": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + }, + "asset2": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } + } + }, + "nonce": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "state": { + "state": "POSITION_STATE_ENUM_OPENED" + }, + "reserves": { + "r1": { + "lo": "55053215004382995" + }, + "r2": { + "lo": "704585790519560694" + } + }, + "closeOnFill": true } } }, { - "communityPoolOutput": { - "value": { - "amount": { - "lo": "404834025931030255" + "delegatorVote": { + "proposal": "166458126", + "vote": { + "vote": "VOTE_ABSTAIN" + }, + "stakedNote": { + "value": { + "amount": { + "lo": "60362707822475621" + }, + "assetId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } }, - "assetId": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + "rseed": "Gk4J0Jtgi2KFqODwkzGXWgrGsZXAmr2DftoEJlaTvYo=", + "address": { + "inner": "qDw9kEJdMuxmbovfNCuYB2B7ZZAKtajjtG0bqzc/rO5PBCEXH0A55S7PWIEU5adJFd0+tNXsd+L0kmZIHG+CwXH+A7/dJP00jZs7w3RuQ7c=" } }, - "address": { - "inner": "nEyqrZ+MzR5PKHA/316PjZMrNSg8dziZBs/YH9gwefGoVEJ9UnfVLPJKiYFCb7t6XNkRKVgTQE49sMVLGSmzjGJiYxd7Fc6oL8l3IdUw3rM=" - } + "unbondedAmount": { + "lo": "236917491659762722" + }, + "randomizer": "whps6RtTFQNAmf2j6C+xC7XstMHqobg1IevJPe+BugE=", + "proofBlindingR": "buzAORo6tjnuprptyCJ+RbXKj6Cm7+dhnUbV2FkXGAo=", + "proofBlindingS": "1q+mHygvvlOisl78KeAeAgJoKGLr2ZxLZ+DnsT4P5Q0=" } }, { - "positionWithdraw": { - "reserves": { - "r1": { - "lo": "138343348497016726" + "validatorVote": { + "body": { + "proposal": "86308775", + "vote": { + "vote": "VOTE_ABSTAIN" }, - "r2": { - "lo": "56932107223773616" - } - }, - "positionId": { - "inner": "n+5vEEEwJ4Vw6haSoNGSpLWRlemu0wDspESQ0mOZcV0=" - }, - "pair": { - "asset1": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + "identityKey": { + "ik": "2ywt/sfb3YSDpWR3eFC90+BIinPq7J2ejQLiUkHAY00=" }, - "asset2": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + "governanceKey": { + "gk": "pKqqX6jdlyeV5m69IahBD5ZCFnkIPSpaTrhIOA/fOQg=" + }, + "reason": { + "reason": "RdA6m6L11BkQj7Ren91" } }, - "sequence": "1" + "authSig": { + "inner": "Xn7T4j+Z0vOmL2w1Mmy7muOF6XjIMbGOVTCa2qtgHwi0jOCvk9SO2c3+TUErDaxIjfLBBkWyoshqn3NvZsaDAg==" + } } } ], "transactionParameters": { - "expiryHeight": "8365802583", - "chainId": "ofufkknwjpgaqnltcztwnx-645471874540833443741784294", + "expiryHeight": "9698697243", + "chainId": "hvjwdhgeljwajgudx-4120", "fee": { "amount": { - "lo": "37048063536637300" + "lo": "615310894601069498" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_42.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_42.proto index c07c3201e980b84749fe33e11a2a176f4c6d9fe9..6a026e50544b1aa899678ae4037c2160f9fdc0d8 100644 GIT binary patch delta 619 zcmZ3_e1KJxYaQb!##M}5%Ne;+xFm$QIF^6-vhU2VhNIk4TpTZ#{dxUl%8$=%LLOX` z9T}A;J20vw3MnuU08&gGj7s8MoE($aU3{?p^3z11vEL?Ne!Fquna7+Oj9e?3RxvJR z;^=#}-XE+KXtzF4_0vxWUpIc5lMS+^UPwX8kMqLpgzlu)6%Rg4Hk=;Cb!_9*1GDxv z*WF@K3!A*RODc#fV1DA`;Yu@>@D2mHF zSU%M|AJHiCbh)SKUArw;-;_W4GAYeNCco)m;Xmg6cUAtH^vVr?l4t+ebV-Q<1R)gg}gThETycr zS-xAgEBAy_o$J<9{R@`8f1Wtk?dpw4aS1Ljg=_1V$!qBE3tqG-?vLgJIVPqIjilE% z=Xj?-c)rn&|0yrmCdNgK>lnE*IF`SktSJNxIw>VCh5Fk%y8n*fzT48gG^M;EVDIGz z9$m$+-prlX%k(J7@j$Y#5>U~SRjcAx+?}pI^;zCt#TAbH)11UAIc&9}{C0R)@ZY!O z&=Tbm4oYz}%Qf>cG<3=i%rXy3&9gKVa^iA`tGoQje&(gm%k*}bNFrPd9Z%+mA;#2|M@y<^RDse{dADcb3@Qc)fiw_-Gzy9VngfOb3NQ)^2=D#yr0vX* z&jpduC4W*1P@GJvt)Gm|9#1H6Ki^)Djgu=iC_HyKnFi0;AJ{N?@u*ZneNuPTEb>Z; zfkJP)dR*BNDOeLgPCc;2OBpG%jACMA7kd@Xs4vNPA=NP6vkHv?f&z&F3Kt3r2$s*! zfv(Zt^#KwI2(aUf+p_MEWfCF^AfN7U5J4~}g&T0{7LuURlBBhfmFce20PLhhkkVtB zaa|fn3Xx4Dkxe5@AOR9b2-k>^l^+r^Z)SC7Yin+IYH(*^ac*pMV|sLVZg?#=G&M9g mF*r9gH8e0dGczbS diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_43.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_43.json index 2341e76036..d18005b76b 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_43.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_43.json @@ -1,45 +1,78 @@ { "actions": [ { - "validatorDefinition": { - "validator": { - "identityKey": { - "ik": "yiuUZVLr9cfb87F2ZU4xrYHTKGSXE5PKQh+LdsqLjQ8=" + "undelegateClaim": { + "validatorIdentity": { + "ik": "Wtuj3DC95PNJgWiQ8HJ7GJTRPRAN9yJB403h8sNPlQU=" + }, + "penalty": { + "inner": "AAAAAAAAAAAAAAAAAAAAAP6rNnoPkJa7mMfigkC3gDU=" + }, + "unbondingAmount": { + "lo": "230488741514442039" + }, + "balanceBlinding": "3ZUIePkVqUZd7dzw1gdDSKN8VCNGl1kX35e4/LpjagM=", + "proofBlindingR": "B9RTUukVsngrQQk39gmzqZMzcE8bOqPX86rAGj8hYQI=", + "proofBlindingS": "LuvZLo3lZKdoO44Lav+34PXPsR41B8s+Jm2IoG7Zmwc=", + "unbondingStartHeight": "84133" + } + }, + { + "positionWithdraw": { + "reserves": { + "r1": { + "lo": "406480297377137296" }, - "consensusKey": "VdzKD+11KBFZfd5IL60NIaiSBli5u3vm30o56RWCis0=", - "name": "test validator", - "enabled": true, - "governanceKey": { - "gk": "yiuUZVLr9cfb87F2ZU4xrYHTKGSXE5PKQh+LdsqLjQ8=" + "r2": { + "lo": "465636221977847191" } }, - "authSig": "Uv0dQtEL2asaOcQu5KKu/FxSohORpFWlDh/OqY2/OAWy8zn5GrK+VzM8BRPF1OQf+WxTD1XWUOMv/+TiAcdeAA==" + "positionId": { + "inner": "kZ91xcjgTyISmjs0DuF8hrSaR+7kKtM7kBx5FDVKUjg=" + }, + "pair": { + "asset1": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + }, + "asset2": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } + }, + "sequence": "1" + } + }, + { + "proposalDepositClaim": { + "proposal": "851548391", + "depositAmount": { + "lo": "646040670043995736" + }, + "outcome": { + "failed": {} + } } }, { - "undelegate": { + "delegate": { "validatorIdentity": { - "ik": "pvhhZ9ltQSb+l28gZqBZ0YFy8qq9VD2uoofnxwIRdNY=" + "ik": "kk7LLOPxmIZKhr0Ukh2XLvUP399L721UhCLhHdbEnPg=" }, + "epochIndex": "2595", "unbondedAmount": { - "lo": "633987113281668403" + "lo": "433731196846298771" }, "delegationAmount": { - "lo": "514614043497885855" - }, - "fromEpoch": { - "index": "1382", - "startHeight": "1382" + "lo": "695702755478573145" } } } ], "transactionParameters": { - "expiryHeight": "6914108482", - "chainId": "fzqytrdlmgqmenndrwblmec-05346451865", + "expiryHeight": "695634365", + "chainId": "kgdomzsttqpjnqd-1381763077", "fee": { "amount": { - "lo": "580640120266145402" + "lo": "319987078549063183" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_43.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_43.proto index a3383fac1c25494b0ee6803337b04e799f55f5e7..f70e6f56434ace8873f2b8a15533e3203ab33f75 100644 GIT binary patch literal 487 zcmd-&#CVBmA0w9%mqOI-#di$$KKbm~m@(l)QMJUBi?#y1-<2F6`#$`1*ncXk5>O2T z8u+)`tcriawB0j~KWcK=-e9W5#j*X>@v93ux6foYQn)*nqvEINO1IdzcRpNWclKCZ z6Qb-kJyQJs^c{b8C1){PDX?D&4tgoNsY2V4)BGFf=9QC;3;d<67GM9o>VTBJVj`21 zg5K+!dc99mmSv%_anN`o#IAM^8NPR}z|KZNm4krfthC_jgaUE?ZBK zsT48w3bK&$00n~Pt2z3{h2NI6KYtmcQsDSyaoEr1*KB^V+SccdbXH~wfJ`E!MuCw_ zaucH%$McPC)0lzIxbbJ};R%<{{N|8i5@O(TI>clTvT2gvX`RO(XS8{>?G>3MJ6-Q9 z|NZ;k?{h<1lpe}nJ2K~oz+w?8E{@4-=RTO-zPpJ{iHqarf_-ON_rJKzDP+L0ck->% vOhQuG=_&cSRmCMGg#}r8g(p8HZK;M}WbHi<{k6P`D<-i;?A%@b?7o-fOVOsTvr>E|sl_DYCC8x~pC3pH zDW_ExR+bc{aO&>l&CEo0yrH8d{i{O7U=Uas2wT?c2G<+uAt* Dq}7s@ diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_44.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_44.json index 88e6943353..82205d62ff 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_44.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_44.json @@ -1,42 +1,156 @@ { "actions": [ { - "delegate": { - "validatorIdentity": { - "ik": "fVsbg3ikBc6GHKgoQF4myxrKM2IcrFSNwVGrvMw7ZWY=" + "swapClaim": { + "swapPlaintext": { + "tradingPair": { + "asset1": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + }, + "asset2": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } + }, + "delta1I": { + "lo": "41919736816535540" + }, + "delta2I": { + "lo": "234205120913901479" + }, + "claimFee": { + "amount": {} + }, + "claimAddress": { + "inner": "bscaV3fy90ayaCbE8sLnRk/SMrwScA/c/HJ37Ha0lNkJdCD/OaRiRGYvDQxydn1CZamZIdH+LAf9uk/Qvs+1tV3v8uHdpLgIh9YnGhEUeZ8=" + }, + "rseed": "argPQUzP7hSrU9S2Ya2CfnUxXgSc5ZRACoWhx7nwICY=" }, - "epochIndex": "650", - "unbondedAmount": { - "lo": "837413547143383955" + "outputData": { + "delta1": { + "lo": "1345380509" + }, + "delta2": { + "lo": "1855590535" + }, + "lambda1": { + "lo": "1367" + }, + "lambda2": { + "lo": "1124" + }, + "unfilled1": { + "lo": "671" + }, + "unfilled2": { + "lo": "1841" + }, + "tradingPair": { + "asset1": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + }, + "asset2": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } + } }, - "delegationAmount": { - "lo": "238000266113679949" - } + "epochDuration": "1000", + "proofBlindingR": "ZHlcMn9i++DqoEuVK2TWtoHuBWv3z7b0yReqVI3iagY=", + "proofBlindingS": "eVud6WmGOnWB8V76OHXZmOJdRTT0nlh4/iDEx4hXIw4=" } }, { "validatorDefinition": { "validator": { "identityKey": { - "ik": "kMD1bKdBDVHp2sf4pztY1bMdubGciAR/82Z7Y5+5RAo=" + "ik": "Xh5QZ8np90ag2aa1UGrc7wOR6U0bwjwofD8MI67pVgc=" }, - "consensusKey": "13BDdkNR8uNDELk/djU6SjG474j3ZUELsOGeC9xiLGY=", + "consensusKey": "zeib8s2FSAOUJcGksDAo+/8aFXFFTHk8xPvFr1ZVyF4=", "name": "test validator", "enabled": true, "governanceKey": { - "gk": "kMD1bKdBDVHp2sf4pztY1bMdubGciAR/82Z7Y5+5RAo=" + "gk": "Xh5QZ8np90ag2aa1UGrc7wOR6U0bwjwofD8MI67pVgc=" + } + }, + "authSig": "LLXblGywq2RZXygc+Ogq/YYmjVetz+p32wckBYzFWgQE19eVBZ2AdyMLforepAYL+lppGYnCjueTAbbnYgMSAg==" + } + }, + { + "swapClaim": { + "swapPlaintext": { + "tradingPair": { + "asset1": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + }, + "asset2": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } + }, + "delta1I": { + "lo": "504058815357787740" + }, + "delta2I": { + "lo": "563305105296329368" + }, + "claimFee": { + "amount": {} + }, + "claimAddress": { + "inner": "m1LzAzBGVxmCYPymLVhWKYTVNl3pxvCSEhlR7zSj6XLXKR7rTYj7wectdXzX6RHMiE9SDAseedJvncY+Q13+aH9nBPNz896hEf/0XUYzuu8=" + }, + "rseed": "1/VlgAevb6sYHFj3fHUWpmbV9YH/QHSEOgaTwy6RtQE=" + }, + "outputData": { + "delta1": { + "lo": "1503441764" + }, + "delta2": { + "lo": "1383878115" + }, + "lambda1": { + "lo": "1575" + }, + "lambda2": { + "lo": "1669" + }, + "unfilled1": { + "lo": "965" + }, + "unfilled2": { + "lo": "1859" + }, + "tradingPair": { + "asset1": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + }, + "asset2": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } } }, - "authSig": "mFTm08JX4xKFE+Pf8XZtV3dpocYcfiJST/0x5b+b4wbi1+e1fCV92+BjwDAkxCjHRh7gDrBsrlqj2NJZctdAAg==" + "epochDuration": "1000", + "proofBlindingR": "nBI12cTiPuv8QSLlkJf718EFWMjICuFRF9SaJsKsBQg=", + "proofBlindingS": "Wl+IED5OMRiZYWenkujlRP37DBiIsTWtspI1S1fM1wo=" + } + }, + { + "communityPoolSpend": { + "value": { + "amount": { + "lo": "346519398546529841" + }, + "assetId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } + } } } ], "transactionParameters": { - "expiryHeight": "8764771413", - "chainId": "w-4865271479487611721305091", + "expiryHeight": "177066927", + "chainId": "nobgkgjyspjxhk-964578699294205781088605810", "fee": { "amount": { - "lo": "694627716318700526" + "lo": "154140937369915311" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_44.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_44.proto index d79a9c4b283f14ac75b5e7f7c68b9c5ab23edb57..a48cbe361109fea7af74423a4a97dcfe9119b9ed 100644 GIT binary patch literal 1142 zcmd;@!K^fund>$qmj{;;mxAW2Ir_$h-6*w5zIY<{uY*5{3MR%QtZ z5u=8a<4gaX4_|id_LAb_Sl&PD>4dJ91rY;X6bG)>g~xY(P*9V~ z<6`5Od+=~0s}LJU`@$Dr*rb>_u5&3db3EbDV&<67YQ)U3k00if`LT}vUQGRCMr z>Gy+I3%sXlr(E0C_>MLE`}u8OPKvJz>3x*NW~5LVJ@;j1n^kG!$GBe>r8j3high*l zGB2XypTd#j9pTD+Tt^t27!NRV)qo-C`-)A zOi3)sFLGe?BF0~FaW(wotxU*-+t!1}1{$~Rw zu^CfeyjuL=!V7j-5}O_Lnc2WCT(T+Q&obSJFwK^$X0b1ieV8O98Tj60@ynv?nsTpw zJANO0u3K7j{iWcU4*wt?Zn?@!`E!riImiCXs8474T>SaoLc#xEV%>~)y*E<0{x!9M zeSQ9F37LrRHKk(9(yo4O{O?fGV#PN3u-?S2jNl~p<&$1Kb@}_7N1|h+>Do<`OufU;T<794oy2U!Wx&P7v2oAzi!V1Gea=Eu z4!7r6zkGX$kXBxPQhIiJR%LNPRz*g(uBDlYskw!jrKORjiID-2X=q?!VP;?oq@{R( QmaLyY@6@f+&nGeg0Je|qjsO4v literal 318 zcmd;bI>cnprNpIB8!g>jv4r(po6HIghd8yQ)=Ztk~nm`w;6c@+j z>6ia}dV2Icw-Oh}*_L@5H~oLKjG5~QV-w>6My?u=ITH?i%~|fq8~F0p@gK{rBd%_i z-MMj22TT3uwCd#fJ6*Vh6s{LImpKQ1dh9H))4t5q%FA%a`;PCaj@%m_&f~t5q?0Da zSCU#>qEMEYlbMoOl3(P&=tYdV4l_cYT|N~4Sg2L_@%@iwx#8uR3y;avDFyleHGH~% z_G7k3*Pm~#QLVlGAo+lS$`Os@ZgLO!Hsq{}T72VDWYKj8CLu$Pt25SLRuGad*EO*) qGc__dG%>d{u`o9?G&DCdG&V3bur!q7;o{asmL1B#K%9 diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_45.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_45.json index fd7a407d25..aaf1fa45f7 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_45.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_45.json @@ -1,11 +1,25 @@ { "actions": [ + { + "delegate": { + "validatorIdentity": { + "ik": "5d+n5re432w595HMnHMWNIeiqBG7koxRWz+z/OAcdvo=" + }, + "epochIndex": "7758", + "unbondedAmount": { + "lo": "254573988376150326" + }, + "delegationAmount": { + "lo": "654990827166732001" + } + } + }, { "actionDutchAuctionSchedule": { "description": { "input": { "amount": { - "lo": "822711624718070749" + "lo": "110793240593760250" }, "assetId": { "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" @@ -15,37 +29,25 @@ "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" }, "maxOutput": { - "lo": "430750638761446118" + "lo": "638989916025602774" }, "minOutput": { - "lo": "926253026304277144" - }, - "startHeight": "483746522", - "endHeight": "483746523", - "stepCount": "368806483", - "nonce": "Jz+onRaC+XAwkjAlIGF6CFFWRMrKM2nRN3X3vh4Qub8=" - } - } - }, - { - "communityPoolDeposit": { - "value": { - "amount": { - "lo": "980503223363754344" + "lo": "203912627439460772" }, - "assetId": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - } + "startHeight": "747076843", + "endHeight": "747076844", + "stepCount": "269699674", + "nonce": "+axlhX1m8hOAaaXAcxlGp+yTRNHZJtVEvVQF/XzRFKI=" } } } ], "transactionParameters": { - "expiryHeight": "9396435381", - "chainId": "gbyqccglqydcruoszirlvmuqnt-8244639399167547", + "expiryHeight": "9795867227", + "chainId": "jtmkkgfpmpxgdgzkb-56292869373067953542534", "fee": { "amount": { - "lo": "983626274279646423" + "lo": "426559720761419916" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_45.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_45.proto index 81ef26eeb3..93dde0f309 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_45.proto +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_45.proto @@ -1,17 +1,17 @@ +BÂ? +" + åߧ淸ßl9÷‘Ìœs4‡¢¨»’ŒQ[?³üàvúÎ< +¶‚Ü‘™¶›Ä" +ᦃþÕ¿‹ ©ª¥ ¢ 0 -ÝçžÿÑû¶µ " +úÿë¨Ø»çÄ" )êœ/3qö¤‡çé\$pAô£VùƒëN]+;Ï2,©j" )êœ/3qö¤‡çé\$pAô£VùƒëN]+;Ï2,©j -敘ÑÇ­•ý" -˜õüç„Ç­í (ÚÅÕæ0ÛÅÕæ8Ó”î¯B '?¨‚ùp0’0% azQVDÊÊ3iÑ7u÷¾¹¿ -5¢2 -0 - -è²ãÍÉÏÜÍ " - )êœ/3qö¤‡çé\$pAô£VùƒëN]+;Ï2,©jAµóÈ€#+gbyqccglqydcruoszirlvmuqnt-8244639399167547 +Ö…þ–¾‰ï" +¤ÃûÝÄ®œê(ëùä0ìùä8ڔ̀B ù¬e…}fò€i¥ÀsF§ì“DÑÙ&ÕD½Tý|Ñ¢?Û¤„¿$)jtmkkgfpmpxgdgzkb-56292869373067953542534 -×É·ñ¨Ü¢Ó \ No newline at end of file +ŒÑå»å¹Üõ \ No newline at end of file diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_46.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_46.json index 995a72a126..e526da71a7 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_46.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_46.json @@ -1,14 +1,7 @@ { "actions": [ { - "positionClose": { - "positionId": { - "inner": "3bbkEtSgjhFIBKM177cemJLtXPcFjC189hyp82PQme4=" - } - } - }, - { - "swapClaim": { + "swap": { "swapPlaintext": { "tradingPair": { "asset1": { @@ -19,59 +12,43 @@ } }, "delta1I": { - "lo": "396407965900561063" + "lo": "72887687410642095" }, "delta2I": { - "lo": "31512525003725287" + "lo": "547635641772447099" }, "claimFee": { "amount": {} }, "claimAddress": { - "inner": "NNtbsuSI/Znlg0w2zKZo6gqkNX/02iLqEQ0blH/17S0/g9ZYxTM3feLvghIhyqqISmOYghzgIh0wZ3NTHHdKjcgogx5M0DBWTN6Mc7zJipg=" + "inner": "0bniv4eu9150x4dvwnqGvQTwyaAd8h8hBi9jfjPE6vXSklK7Q10uIeaHzf5mMQVIBEPf8hUuDHGBCUdPgcS71KESXOGKpymM4N4tAaW8oYU=" }, - "rseed": "jeYrMjQpR7Ky1p/R/3tIsRqh29ceNbLzEjBP/ctjCck=" + "rseed": "KeOJXP1AP7JzZYpFhct3JdrVkiHPs9qiCU/+FRJ5g1Q=" }, - "outputData": { - "delta1": { - "lo": "1101423576" - }, - "delta2": { - "lo": "1567061194" - }, - "lambda1": { - "lo": "1799" - }, - "lambda2": { - "lo": "746" - }, - "unfilled1": { - "lo": "1097" - }, - "unfilled2": { - "lo": "1121" - }, - "tradingPair": { - "asset1": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - }, - "asset2": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - } - } + "feeBlinding": "QosWaO7xqNjGM/8R/D5su71Kzakyyka+0diHIQbVCQQ=", + "proofBlindingR": "aL14qFSs2Ann3ONjBFYy5V5y+hsv1tsXLgHoy9U/VxE=", + "proofBlindingS": "K/EoLZ6PgiJSlfGIcwM8fszcp+yq+qJT4/eZX7hILAk=" + } + }, + { + "proposalSubmit": { + "proposal": { + "title": "rxrthzxztjzqytgjtijrhi-6529552803510343709013", + "description": "snisohocwfgeviddxdvlwbo-33080487998", + "signaling": {} }, - "epochDuration": "1000", - "proofBlindingR": "l8LmlnLtcFqlgianoxogzdvDlkScAgUjxACBkM1S7RA=", - "proofBlindingS": "Qu6BJ9ZKFmHZY2D23mxQj1vwChQiV1RUKAyuE/AfZhI=" + "depositAmount": { + "lo": "61121106144839310" + } } } ], "transactionParameters": { - "expiryHeight": "6509449978", - "chainId": "jwfqgaphakccpctwxwsryqvdzbqz-1046450848", + "expiryHeight": "7163888795", + "chainId": "txeyufhwmxngiob-316114451531670780", "fee": { "amount": { - "lo": "753235038814796507" + "lo": "666412132367616610" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_46.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_46.proto index 678ced5be5dd48aaeb999bbe4f85f7d7440c8192..9335456c2e34c7be7428a1497f0417d2ec97404b 100644 GIT binary patch delta 427 zcmV;c0aX5j1nmO|3djN)#R3Z4kugqxui5eB^4`3G0U8Pj`>MjR@Al=)2O;KzlW~(UUbKYZ^C+py#(;dpdIobAqFpFelx`C_0p13yF*l2?QD-XuWu- zRIJzu=iK9C1XeQTUUK>yFV@=^E&=Gv)jwAeA|NaAC@r3kf+A9t@rZK+JbujFr|hcw zqEqAdnP0d_EC~u`k^y51RthbDa(HrdXnJ^hbZUBWd30xLbZKgGXlX4rH8MFhH8MCb zGc_?VGc+?dFgY+WGZG_nZfSFGXm4Y8W@lw~X=G%0WOi(KVs9-oGcY(XG&naoIXEf+ z8VLxFjjQ0Ns>y5;I0&1Gf!G=nB6N6Vd39!JcWroXXK8O@Ei*ATF)=h6G&M0bGch(d VFgG|b8Vm{w2;!8XzT3&5`GN3yckpV9w&NU<6?q1)FUHL~*( zFi-uqZ%O1+rySboB{);i3KSw&R8%Mot`qPdW)c!T2>PY@pBNG+YIkOFXJK$?VQXV!aAS0Lcz1Jh ld2x1RdSY>UEio`OHZ(ObI5apK3V>+ z9jVbC)h?Y4@WwmAVB0vZ4k zG6hxY^3e;-L#2 CN1P@A delta 236 zcmV`CW3h7WM{F< z=dgVcj>^hU8ZZh92<_X&tBl>eumzDKBn~1l3JM7Hw1SG}^8c9vks>623P#ETLkc1a zAhT?F6QF1+vfbEGF<#u7Mz_BRW!;>I_aXqT6n1|38X5@*`+3J9731qh4z=m-)%2#D5!xd##`V{UD0aCC8Ycwu^SX>nGb*BLP}f;ny=>Q8y9|C(*FEq zj7ovym&IW}n_si}#cErhH_};|B_I^U6|m|2>;lg&19sMZdvATJTIa-Qo-?WRT2jI8 zmU(lEGGF|Dv9LK?PHXSy>t1h4-(JYO#2_@kVeyL1s_Y!c@BO``^_KVgmT4MG1n=Gv zlw6?HVN}5dcGs+pPhK){^)WUvbun^D0NpkF=lmrT_Ozbm72@KUcXesgx=Xu{vx3~1 zceHocMJH2E5x0j+PD}RA=Fzb)iv3zD#C2y@UT0K-qLc?0F+L$ejRK>PGsnJppN?@0 z>6TSy=cFfRr4}Y-<>?xln;Bb}TAG=fSs0lZ8CVz^8=6{}SeO9WhK81w7E(Mw4?LK% L^XBos-(NWZPb8W? literal 286 zcmV+(0pb1%N6G?33L*+1$#hkf2l{O8v_nwVp_=0c6vW`AHd)sgUAE9>XCK?w8VU%# zq`}nJ+na+1A_@rqh~Uqe_}9t|Dh3F%OAxb53bFyB0j>cGXbAA>*pvYh0tf;cA_^e5 zWhUIXR@~1cVLrA3=xl~n7O{`!EU*`PQSHB`@WR9*A_^cF7ie1|xU+mJQ8y7`*rC(X z5H>XLRB(nV!Q=b^T00IZ6bceDZ8bSCHZWCHVoEkRHc(VjYZ5{VK-}taJGKB){nGb> zzXJ%$;<)&mcSf6Yg6K(tE!oD*Fh1u8iZ76P0(;e+{RCV4YRvX~@BB^uN@HbpSI&cBd}; z1gArEupyRWc)-<)46yMXxlE3sLshztazThFinPmi-V{#VT;Ttc5+?|ir`Dqw5)pcO gYiVS1aBpRKYH?vLGcY+C3y8~YfkFb~*X|AYQkRHe8%sQ5pBhLCkxe9#O(PZ{0Sb`<5{?22FbWC? z+Mm?B|Jdr*2a!xDe?a{KqHWV3aSa{@WaL$zphBM)l7Q6eiZe;J3G#(vqeC-=WN(km z;&Jo!=drLtO}zQX`Wh_uLv(6+iwSgWrWtgBy8^N_p~13b5-g!mG8!O4=CF$qQ5t_n zX1B%CpZ9fw;Vr2Sb>}0|b+y^B`T}wyAff|b@El?Jo9VzGf2dTO*AfWhbpcnvZ(c>z zBV(88lmIFqQ{{nAVy6Fk;r2h3xZgVZ&t*G9dXpQxnIGDx+0X zyH?@EPE)o{83WzkZMGl$(^e;5k`NLz2+^9y`U4UjacN>@c5H5KX=8C?c62Q?IW;&j bIWsjfF)%VW4>B4I3JM78_RH3jl#=lSM0zx3h=IF{!zbO$M^guI2FTooo zk4LJ4TOe(r8rriyE7{5liUFDfh5-sN3JM7NlZ~X!(f8;EkxD3kjn~_45-}u)=Ou4u zROCNzjy5U`0XtRG5UmpxB^x_d;7^c%+5Y&P7$Yjv-hJ< z2f8D;B6TMInW)+x`f|Uf!@GnpZf;j|4~4PVYi^ABr+w1*>$&jwStod=yzb-3*|GeT zx6r=Gxqc-(&A7Mhe`+nIaO>Ocwc4fkuSxEkp*^uVBA6+7tM<0gdGoh0YwNk7;lxLq)_h<2!g}_y!t=9F zE4^djI>Ok*cz}_sh6@;gHQS>$+{oUwU#rbmb0za^JC47r?>so0wQG5|#3JRd{tQA2 z4tE(hNKen0D_|cK;5#Sln1o!5a^Tm@S?iShQl{KqHCKwSB(=Cip)4^cGbOPkzsP~n zix_hq{Pz62*Yse9sr!OC*S;7#H=j~>GK~q-;}yE+ocld{qu}K~O9HQd`rt5AdwKFX z*;#WPH$lZDPbovR!w;7ib&fVMeIMVb>!xF|PZOLt~nJ;j4G}%46crr1kDIquPf$9Er z{*{Z&xT3-sh4eVy?*8?QSxBNPF|)WZrCis@%)-pV#LURV!q~vv+{8eN2bg+qv~--D JwebEP766}XUl9NR diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_50.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_50.json index c684e10b47..f92d5a861d 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_50.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_50.json @@ -1,86 +1,47 @@ { "actions": [ { - "actionDutchAuctionWithdraw": { - "auctionId": { - "inner": "TpriKDTpcAgYmMOmmv7tbzZZX3EXQX3UiNC+ZnxrcOk=" - }, - "seq": "436040713", - "reservesInput": { - "amount": { - "lo": "387661138015161465" - }, - "assetId": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - } - }, - "reservesOutput": { - "amount": { - "lo": "419810828963875039" - }, - "assetId": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - } - } - } - }, - { - "communityPoolSpend": { - "value": { - "amount": { - "lo": "377884595747125776" - }, - "assetId": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - } - } - } - }, - { - "swap": { - "swapPlaintext": { - "tradingPair": { - "asset1": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + "actionDutchAuctionSchedule": { + "description": { + "input": { + "amount": { + "lo": "293740443171447943" }, - "asset2": { + "assetId": { "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" } }, - "delta1I": { - "lo": "193802762981415312" - }, - "delta2I": { - "lo": "101860170399207144" + "outputId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" }, - "claimFee": { - "amount": {} + "maxOutput": { + "lo": "367390465144112190" }, - "claimAddress": { - "inner": "VnwLDdwir/ubCvYSf6JcVGzVXL7DtQMEKTA1tkwPHCiH5qzVyvpLzx4rtgSPAgBsZDP7patYgBMmFXcMDa2o0UIRiEnFgymh0Z7kD9u6zc8=" + "minOutput": { + "lo": "895001701703425288" }, - "rseed": "3AAzjE03ALLXBUKW7bk+tbN+ll7JaM9u0+3ZSA5vmuo=" - }, - "feeBlinding": "qhUKZj7TFZInDvUxMHGEPZlOgrWjdOVycs38YngJLwI=", - "proofBlindingR": "8XY7e8hdCKdyUh/Cs6jInBPQFTvfdx6s9NqTQYBVxgY=", - "proofBlindingS": "cth/1pVG80xLhN5ave19GBZNneZ8f5UQu746ZXGHUAc=" + "startHeight": "421220788", + "endHeight": "421220789", + "stepCount": "240760373", + "nonce": "YoMhwD4DMN0rlquwsba/FosA36yEJJgDSEAkEU0aVjk=" + } } }, { "ibcRelayAction": { "rawAction": { "typeUrl": "/ibc.core.channel.v1.MsgRecvPacket", - "value": "CrQBCOewhdwBEgtkZWZhdWx0UG9ydBoJY2hhbm5lbC0wIgtkZWZhdWx0UG9ydCoJY2hhbm5lbC0wMmQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOgwIhOjy7AIQie2R0QFAmJWaiKe16oEYEgIKABoMCITo8uwCEIntkdEBIo8BcGVudW1icmExZXN0Y3owd24wY3p2OGxkYWFqcDhza3F3eHQ1ZnF2bWd0YTM1dGs5YWw5cWU0amVrNjl6c2N6NzMyeXhwbjlqa3M2dXh0bWswNWRobDYwMHFzcWNkN3N0a2s4cXByNzNnNmx2ZXc4c2RkNGtweXQ5NGR2empqa3F1cDA4M2t1eXM3djY3c3M=" + "value": "CrMBCNKNyZcHEgtkZWZhdWx0UG9ydBoJY2hhbm5lbC0wIgtkZWZhdWx0UG9ydCoJY2hhbm5lbC0wMmQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOgsI7pyBhgEQ+v6pHUC4zeCtwru2iBgSAgoAGgsI7pyBhgEQ+v6pHSKPAXBlbnVtYnJhMTVjd3o4cnByd3FyNXFkZmd2bHE5djBoaGN2cDg4Z2tldHc3cWdxMno4ZjI5YWRrZGtxM2ZwbW5kaDBsdnVmamx1OGd1ZXZsdGQyMms2bXFqamZremcyNnBldXhocWs0enNxOHo2M2F5cGY1Zm51MnZrcXFwdW1mcXV4aHl3dzZxOHZ6ZGxt" } } } ], "transactionParameters": { - "expiryHeight": "557938254", - "chainId": "wjhrzlljyubzdmxpgmbftrvtztfkkwn-31226743652180448", + "expiryHeight": "4478900183", + "chainId": "vjrjfbkwtyhxhnhuawipa-8364355", "fee": { "amount": { - "lo": "594355047648525707" + "lo": "699606179851092898" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_50.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_50.proto index 6a97f50077147f391a46ba00ec3501ec1c97859b..4c546be2236a81232809375c3b24544c7548b473 100644 GIT binary patch delta 380 zcmaFE{)$C{YX##f<|T|=3mLf#xVSjlPtKg({^m(1%fv#JiN94sq_{Ztb<98Z{Oh?M zRwXWuj$LzhKY96jE04yO#cxkA8f*oT7F*vuD{@juYF0d8$82y{d)n#^8@KHj>t?vW zrbT52vxkFx_SAxkOsGZv)gmF6ZDB^sJ0mseR76%>^h7MT{Nq@|bT z6k3)UWMm|l6lt8D;02YZBuw<~~L)B`yWOS&uYKUKVgj%s9Mk*1xy;W|8rQ;*PafIxg%>tH~~S zDbV@i>v={g11>I(pEG_OY58$}1M5T^6+R`9$o+{et7d$^`w}D~%w;->*@z1yJmJgJ zJ+m4Y&IbweaGhY1I?BX#hmp&JYoe_(P^exAsATh>`wuQHyul>J#qnb9{L>Rw{@B8( z#Kgs*6~q+~R>RGEM```<*<9a*>KDa?86;HXnW&jrM12uAchkeO^v` z8%sYELr#kE@1?6F8idtE%XxU$uDIwV*x`A!S##mVc~AIn?>c+lNZ}5HagVP#!=~%3 zPSf7j@3h;xxo%qA$&B-Pm*3v>;LD%&N=RXqC|8=@Wzk9Md|wR>3R`Sv`ZaA`T=KN2 z=Kd%jMR5xi#6bA@mrVl0wmq`fF3& zKKppL+>6@#wpK#SckZ*A`l$lD_gSSDwg<3tbuxD`wlXtwHBH>2#(kTKYYQXC^9`+c z7$-iRUeCkP^5WAQCV|ek6E8A4%$Pc>WBJxsjS@n@K#@X`Q|f0dNX;wFO)5$>Of4=+ zt}-akGf1u~v&czFOw1~Fiok?$T2f8C@d~aPBAYo$o&;%ZKQmo07Wkopqd2~%5e!VoGV3LsQ- zLNG>HbwNdHQ%Fioc6UNaI5jsmOGj)*Q8GD6c{CD23P9ZHqBdF1iDAX%U(E4Zeu3!{ zZmf*vcq*AX$G&NMml06Sk83}>Nuh$ND{3u1f81`3?|g(9;G1hLro%zr7z7HH0>TWD z0tyKTH0(&;k(j z`k);;31etsZf<34EiekS0ipr00Same+p(a$0}=uV0U9C-AXrhCw2PO)Z9NsyB}ws_ zq_?^EQQp!}*yw{xKW?8*h9V*gAU2SZ3#5tLN90Jg6zSTZ)yc&{BcgM=gLB5xQ z7pK%5TTEnD2*lvqr`moD{BUmu%243_kk7>%cZg0$pbJRR4M$qn0TN9Jir=ZCAQCrq zaCvofcY0`Ka%gB~Zf9j^VQ^-1V{UJ0aB3|zGB+|fGB7bQIXN;pGBq$ZGdD0cGC4If TGdUUz3JM6&&%)`Y-}AEspD7*_ literal 560 zcmd<;V{BsTV&szG;^J64Ytp=)(`}6`LR=j8JMJI)K4sH-HX$W01!?1D%>sRvhaQN1 zJbW!$bb?cXUuR@Xvu$djRLPsEa!pbmTtHQtujc3*7k*pP{`_T(N`d2-#bH02U$gne zYFnQ-(pi}$05XY?8U;o!^-atwAmi-0U%S7_-a4ToPV2?XBd-)Cdt+u7m4=sV$~~=M zihI${wVG)a<8mgBxwBU`F-b9TFeGIcF^LguB3~zSqJRs&af2Q-5KT<(l0Zm6|W>-BjnOG1o`_hl>PLFr%mL1wM z&(qH(tJ0gZ-sk40w*eog3kyHlpy^msw)g5o9Zf~m;A>n8yv>Vvwx~F{+-}>cvTr4C z!rC7qr(9Tl-x_god_4ZR{ml1sKUu95*8ELZ4V%S=uR0nJsVN?R{o?XgKZCi1t%sqnW;^G65PLkEOryFH(BPS8t%twQM3Nrf2~ zvi02APJd-jwm#qZNGg~!D|Xs)Irh7kxw#}aF^X{7NL84oPODae$}_Isuj-CUKs5|# z;Gch4{EfA%=ZDU=Wk2B^dsd5!)%)Rmf*H>henG|Dwk$mwo?gKR0v1tbN%hzM1J~T5)@vn8L)hkBMtH6W0nxE(0zu zjt%qnwccC2_5!OA(7~Fo=I9$2ep}N1{AG+vf#a9OVLzK+v-!npTc0=5S(zmuq#%*K zv_v`L`1>18YGG|%F`<8o&Q5yXKW+NnUO(kaRY_;1g17?KZ=3i3y};MI7fKiCyk38d zf$auc|AE=_(-YG>Sp6;vo^ZLdO;_aGR)NxOdc9t$N5Xd2ocnv&@`2JNvFdLfTo>j` zyq+@iGJEH-d5`XjU6}FhyFkmsyFVK)vPmf@3PnHUG5w)vI^|VpW`ra?5sx%qbp4Oh%0+#FZ&#(h&Nl*9nNY++BaD`B{8t@$md90@dO6okdV?!e&3v+XG bQ%e(L12Z#ADIQ>QeSG-Vlzq3G9&!Kx7Xp~o delta 494 zcmeBXU&>O?rT&Xig-eM`!Q=S*iX-RuupWKAxkln$W}~9KW9FOJ-SQIy)SoDNY*XQK zJH_M-QrN9r^Co~NhW)MAZl?(U_`9$A1+5yp*1z-nnDk~((`+FrPL3ImJ2q~=`BG7d zi{r(*3AeU?zj2dIi;d%miog*St|N?1j0YIGYCvWM)o)~2|5%`7f~&Px>%LE=oGO)^ z-5(4uUkhb)(cUDxk3~p<`{%`-QVgf3*K%Asd93#CW{VAncpV&B1asePm2!Ffb%qpQ zNosM4LRn%?W=dj7evt#C7sy~j<~mrUxo`TG5_CE<;SpEehWzE7My}GC2Jd3dUHGtk zt)uF6q1%QnQw~Oa+ZMd$TCny~`%~RN+)TdhI&iUQy3$j9 z#l^95Rp*ND+gBdqm@LbrI$4fMxn7Ek>t(j%n#j0|xtEbkiA#YY(^30Y|3M)uuEJ2)o;8Og-tE`_eYc0(RkTFf{p}@H zfrnEc7fTs%adFH%+xY(4yv8-0lMNYF_>@3GU+47AJpOUVe=d-a2Uj0s6H^x>mjqDe z%8!oU%g$Ul#VN$aaem?Jt1~zKy~H5|w2%GRdLi?@>pvwPSr)|`qF2PXPA=nY&V7Ru zZw<>2t#iqd^5B|ipfb@wIZJ_&OZ^w43doU6>}KmeJbkx7eNEZDs+yXBoJI!^`xZ9KfTP^myzimy&AovH;&nPdU?EhXeAlM0()Q691)WHi> z_Lw|$--gquadDj-<_!LKhURQ{F%Jo)*~qDVvw{IgpMVa1}M$v&35 zvJNsJplvFr%nk=KTu6@sdK>#~uA{QHR+##p<LP=ORYa9_VzCOvh1M)_(-k-YyO@GJ&e4E*9RPB!pA_Ba$ z!Oq7WYa!TB$V^{MHm|?Wa;zq&_o|7~fRLrtOC#IM5QibUVdA=BIm#p7Gd^)Iy^8rF2oPXvN3!Q-_=rs5$4|g6Hr6_sY zW=8tNJTF0tTd*e$N+AD#yVXPDwp4KH{5)a*%lfc57K8kO0goB#j- diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_54.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_54.json index fadff280e6..ac97d9d9b3 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_54.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_54.json @@ -1,65 +1,62 @@ { "actions": [ { - "validatorDefinition": { - "validator": { - "identityKey": { - "ik": "iLny4M+Mq8sAak5rMdt+lE3oXHGqs33MKXy/jgwg0Ac=" + "spend": { + "note": { + "value": { + "amount": { + "lo": "20141913172230423" + }, + "assetId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } }, - "consensusKey": "NpIKLSY7jK5/iM4NnaIuzfvzBSXJO5t80UmgjobB8ic=", - "name": "test validator", - "enabled": true, - "governanceKey": { - "gk": "iLny4M+Mq8sAak5rMdt+lE3oXHGqs33MKXy/jgwg0Ac=" + "rseed": "pEOXZh76ne+feLiIMugx5PeD1MMDQIxY1wyG8ldgZIE=", + "address": { + "inner": "r7ae/+8Q9d3QdaAs66/GAAbYBo/Am59nYWeIBU7REchE3LYtFPa1EHW2Lo1KZcRWuXzO/cM54CLSFnv2iArQnxjrlJnTB4nGnuLdFtCY9vc=" } }, - "authSig": "oJBrdJNwasA17QAP6wn//L5VAnXSNC5LVZKLyxtdHQa5m+SJK6r3QVIgB3tbFlp0ti4BWv8vRrnfRFFTAe2+Ag==" + "position": "44539500200028", + "randomizer": "8/qFVGNGIxnB1Lvzpzn9ivsAUJZdVBWtCncuiH0KaAQ=", + "valueBlinding": "eX4BUnEK0vQEdQq74WYQ1vrATJoMuVmDJ6lZ/ZdkKQA=", + "proofBlindingR": "Dhz6tB8g+I5DdnJPYZM2OYbS1Y5XLsdCv0zjYtk7MQI=", + "proofBlindingS": "JVA1mcFNJ/v71hMEbMPY1gW+YvPvINKJv/5TmH0+gAI=" } }, { - "positionOpen": { - "position": { - "phi": { - "component": { - "p": { - "lo": "358931458774794304" - }, - "q": { - "lo": "458103987296919217" - } + "actionDutchAuctionSchedule": { + "description": { + "input": { + "amount": { + "lo": "983823195255907933" }, - "pair": { - "asset1": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - }, - "asset2": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - } + "assetId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" } }, - "nonce": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", - "state": { - "state": "POSITION_STATE_ENUM_OPENED" + "outputId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" }, - "reserves": { - "r1": { - "lo": "569052995210047825" - }, - "r2": { - "lo": "818343598863903521" - } + "maxOutput": { + "lo": "91704407083692831" + }, + "minOutput": { + "lo": "679530614988797323" }, - "closeOnFill": true + "startHeight": "614121943", + "endHeight": "614121944", + "stepCount": "401943825", + "nonce": "CMPMEUQCAv5g9A6hkXs9Jp3Yk5kLoWfanqLKmjR8Bk4=" } } } ], "transactionParameters": { - "expiryHeight": "2877556417", - "chainId": "dxjzhoot-7635474495673234927", + "expiryHeight": "7944813638", + "chainId": "nznlajsu-65153921", "fee": { "amount": { - "lo": "378296821848840338" + "lo": "702800535852104815" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_54.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_54.proto index c0f1a380ff60b57590ca93880232f7fa1f58018c..6d04c0246bc1643e835cc153005dcc614b7e3954 100644 GIT binary patch delta 441 zcmV;q0Y?6<1C<093cUgfx&jKP0SYe)2?&>h>D}qx<0BH0@FagAq(hfx9{Qc{pLn>4 zGUzen_k+~K13-*e*9?a8S72m;8d3^SueP55?-2Ff&~>0J>#xQD2G|CVz?+|EVP}X1 zPSFv_MBKJ56!x_cb+#^zN@c`WxqQz3!#Ut0(iVI6hzii380(ao(+7#hp5omW(3tl3 z5Zr*;$fA%68X$l3`h`?uMk5)))VuSiIsJ z^aOPZyWwUK*80Fqnhd#FgD0t3{g-4Z04g939Qw2$Aoz|$c5+W)lQubq($$VvF2_Q@ zOygqNJ23(>ASF;WnZZpb`}@`t1Z>0D)&;&|^Y0+iiN7HJQN~i?<0V*MsY%0x;Nv z>!boWk=oS10YV@M!^{yx0s{VE^bVnsdp#zd*przHp=a8jqRN^yd8y_ zo5ZE7X5F){zT+J4+(mk4e}86GJ!w6==A!3=u;(y6`byJL_7dv&x} zRLM3y#;E`LZaeS01O_v{-N(eWp79goYDTUVj9e*P5<*-Y2O2(1UwPv6Ulu7Yj*WY# zpLqP_!CE#U50Ec4U(L}sF8sEn{rSrnl>)~vi^G04zh?7`)wVuwq_Z+hK!_MM3Je5* z6cY!dk^~nQ$HhnA*L}MB`V%|QRSU2Ey}b76)wSFjj6y~n2YV;n;S!QbsmQ9z$j>j) mH8(RhH8D3au{1R^H#Rahu{1K5;sKg4Y2&r^C+_{5&k6t~Wv06T diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_55.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_55.json index e57c70002e..7a1620b455 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_55.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_55.json @@ -1,91 +1,50 @@ { "actions": [ { - "output": { - "value": { - "amount": { - "lo": "730795322522198916" - }, - "assetId": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - } + "delegate": { + "validatorIdentity": { + "ik": "cmV/TCl1pfJNLOJ8zFYfiwIpu0LkIi52+r8oRFLyz/I=" }, - "destAddress": { - "inner": "FNfmCqZIghuEhW0oab1ooPTF10ahoCfa8aF19UWlcx0g9qLPkS8M6bHzDEmb4bTcNE0NQ3XgbYbZMt0cmtlZs0J96IBMPRF4RHWlbPtysbI=" + "epochIndex": "5358", + "unbondedAmount": { + "lo": "459111846236517868" }, - "rseed": "qbM6oHNj0vAoT45E9F5wWB2+UJvZSLsDAtt8pBRwVco=", - "valueBlinding": "/IohsH0nkpmqt25AB9PMRy2mntHpK5wLy//wmv+CQwA=", - "proofBlindingR": "/DGdY4nPoSdWlLbb6AdAQELx1fsapYLTxRmq+hmBlhE=", - "proofBlindingS": "+02LS6S+LmBhVUOTX5dc7krNlyJ2k5+l0DrXt6AMQA4=" - } - }, - { - "communityPoolOutput": { - "value": { - "amount": { - "lo": "2803500230602381" - }, - "assetId": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - } - }, - "address": { - "inner": "OEPp7sxzf11Y969ZqAk2satY6uROwgyuKGlWy2nAMpP2n3NuDiMG1GWjEG5Rpe0twXkK8yPY7wTRoroL++UY3yld/54qibvsxp7PU2WXBTg=" + "delegationAmount": { + "lo": "504051032224617802" } } }, { - "swap": { - "swapPlaintext": { - "tradingPair": { - "asset1": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - }, - "asset2": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - } - }, - "delta1I": { - "lo": "280071918739923758" - }, - "delta2I": { - "lo": "82735442475513391" - }, - "claimFee": { - "amount": {} - }, - "claimAddress": { - "inner": "x/ArjPpeSRM+ZsBDicr0HCVZUZqTXK+J70uXsE+T/kheyI6spe8mdKEXEcHH73MJ1jy8X2oE40Bc9Tl7IrhMtowBSiNpL5gPY/MqbF4Lsfw=" - }, - "rseed": "mY1nPgW2cKMakTiZG9kryK+4QlcYwPNe9yRA6HsuJ10=" + "undelegateClaim": { + "validatorIdentity": { + "ik": "c26bl/D2vX2R4k2o88IscUZF2GLTHHGX6NRZ2P8e4eQ=" }, - "feeBlinding": "cwU1mK3ig4wPBuiziWIyFimuTVRPDR9gBEA/ggJknQQ=", - "proofBlindingR": "Hi0z78Eit+7oDUhL0ChlP31eS5MqD7goV25Axi7jqwY=", - "proofBlindingS": "eqDijhVljlBfejqCLm8DLLpKOD22p5EUpQqTwX+XQhA=" + "penalty": { + "inner": "AAAAAAAAAAAAAAAAAAAAAP5jH4oJAt4A0bcXWOIZZSw=" + }, + "unbondingAmount": { + "lo": "917176589983196170" + }, + "balanceBlinding": "U87pkG/+hbjNS9DxQm2j42f+Crz73yTgOMeSzglWHAQ=", + "proofBlindingR": "QIgmQglvMIq5ldH8Mw9AnQKTEd5ZqcxIMdTyle0+xgg=", + "proofBlindingS": "Bxh9Tvc+2Sht5WskW2Hu6dqAtp8lVaCyCMD61WeR0wY=", + "unbondingStartHeight": "44449" } }, { - "communityPoolOutput": { - "value": { - "amount": { - "lo": "751817463129736038" - }, - "assetId": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - } - }, - "address": { - "inner": "maldcboxzz3kHjVGO0A4Lkoi+irE2Cj2/4VpawaXJn9tEOxRgKGhRIYnWuhyq1nnPPceSHc54zmYQSVwE1R6BMouPEbuJLvWKxBThEwZBAE=" + "actionDutchAuctionEnd": { + "auctionId": { + "inner": "9JGjGT2pwN6tEZMehZQ9alwI1WftrFoPyVOQwCpdocM=" } } } ], "transactionParameters": { - "expiryHeight": "7272722499", - "chainId": "sinpanhenfsczdngfwcuflmh-534447788837", + "expiryHeight": "5671128062", + "chainId": "iwqqhafynpaayhkjdhnco-17301706536110934296408", "fee": { "amount": { - "lo": "120841578214817592" + "lo": "481841763530573017" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_55.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_55.proto index ba2b0d9c02cfd2c73fa45b685cf88bc4e9f6618c..f61d21f926b398d0aa699d4991ec1331f04d9b06 100644 GIT binary patch literal 375 zcmd;bI>cnprNpIBlv?kjS-SL-ug;^IGhy=GOq#o$o+#;+{o1eL67=c(CxLgGQd}Hw zUO&IF>gUn*Y)V`lr&g_A{N(%k|7=``7%wsHV+5H}oHu*=hi`jpCqD9B@%fNWp_}WC zq{}je(_dVPyzyV|;S(jG8U{4*FIm2elj$DA#qHt|k0eudw759BPBdNm^L*}I9wUX| zb1x_4|7+cG*89Ror`*Ml)Bkbp`F&sIfyMDj=QzV;SgaHrI@Fvv^9{OoPQCcYnBQS8 z(`3PWkt@%57+(1_^{w484krb6iCVw!b~iP0pJuB>C%$`mt6|%G)zAf-I1c=}nm+L| zo5#Z2OkC=lm{mYt_%d;^r0vQB_tpwdmTR42n-#-xHT~_HDE^bd6Aoy_E<7yc%<*sf ztO=q*x|!vLg&B!ym3ak;iIo}ISt%KL$@#j5=Eeqw<_2b_#%6|w2A0MqMwVtK1{P90 RTwEMCI}ddJpYZKE8vv<=pY8wv literal 949 zcmd;@$RyOq#AU$6#nE#7{N$7-YGm%sSn%cOb+?5J)Ng%USo+mhrwZ_?gFZ_QNfAOniBrOCRL6-88x@GwWvLW~bU04L-Jl6)vSqbAA_X+$5#2acg_v!y1X8mt+X3$djV>mat^ZY{fuqoSazhHN8aQb-lx75<6%SRw-<>J0kB#`gK5_-8*~Zloub%iF;#sGW8Fo7JfYIb{^NaKNl-aJNE*8iO zT>4h`U?taQ0(;%VUR_ua?zHJAAhF zFnTFx>d)X${;ZV~$G!27k;2U0bUW5<1&gI7TFjKbseNMo4ySO51E1r*t2n%<)>Dra zQYdCMow4>&a}Ph;i_M)$Mq--ld_(+s&nz zC}hoX_`&CHX(83(%)Elcyo}VmwBqEdl)Ut`^5oLAoZJjuQ)3eo6LWJ53kzd&DIQ=3 P-SO}4pJy|!Tw??PM&hD& diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_56.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_56.json index 028e3c9457..422399a5b6 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_56.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_56.json @@ -1,68 +1,98 @@ { "actions": [ { - "ics20Withdrawal": { - "amount": { - "lo": "121181733842508480" - }, - "denom": { - "denom": "k83T" - }, - "destinationChainAddress": "penumbra1z40a82m0yawny3gv33pdszpvwjkv5d3f9hmvuun88yl89rdkredynypxl9zq04urny48np2f8c2scerdvufel8kn4eph9uvuwuf9td5cx7899ajcus3vzpxk64uhx5etq083xq", - "returnAddress": { - "inner": "8I7Udm4faRbDpDknZOuJ8lHqn6/drSqZXLVr85JJVPgMRlj2lPs+XGb3Z+BD8WrqEzI5E5wOrAx0I7bpMDKZGGJai8VvY7LRl9bifEX1beI=" - }, - "timeoutHeight": { - "revisionNumber": "988635908", - "revisionHeight": "360587687" - }, - "sourceChannel": "channel-0" + "positionOpen": { + "position": { + "phi": { + "component": { + "p": { + "lo": "745694737916985836" + }, + "q": { + "lo": "968867042961476557" + } + }, + "pair": { + "asset1": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + }, + "asset2": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } + } + }, + "nonce": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "state": { + "state": "POSITION_STATE_ENUM_CLOSED" + }, + "reserves": { + "r1": { + "lo": "276516835790042487" + }, + "r2": { + "lo": "245584029657750854" + } + }, + "closeOnFill": true + } } }, { - "communityPoolOutput": { + "output": { "value": { "amount": { - "lo": "618265017482711596" + "lo": "521338691537232665" }, "assetId": { "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" } }, - "address": { - "inner": "bZ8yazXqJCfvqgJk0l0g+FvRs0G4lbeD1/N3uDeGagexxekHvvb8jW7SvrVdOJT54GmwNPWyo5S8KBunlw4XMyyTnUnBW7gdCeWmQ+UoEC8=" - } + "destAddress": { + "inner": "acY/3afANSc+M/VFhjcTWuLLN5cr2qF1/gGhBOR41zOtRwAKhKwMPhKr2B/z0XVcLdADbKgBgTx7LjF3krX4qdVSEVBqGJ8PSggDsw0cjwA=" + }, + "rseed": "ORZTPbGV8bSky3XcjsISPpSARJq7HnybbKd2GSfOFT0=", + "valueBlinding": "X/r0KsJMk8so8B/neNd8HfjwzYLsYNFlUSJEf3ba5QE=", + "proofBlindingR": "mYqVGGU7U/+Ki1sRK0aVtPhYyAWyU5+huwkViFDW1gs=", + "proofBlindingS": "jICXZYHSrc2dfOwUuAhnmrXLKAlUyRpABpzUA5X+4RA=" } }, { - "validatorVote": { - "body": { - "proposal": "500896994", - "vote": { - "vote": "VOTE_ABSTAIN" + "swap": { + "swapPlaintext": { + "tradingPair": { + "asset1": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + }, + "asset2": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } }, - "identityKey": { - "ik": "FW/YF8ry8xO4R1fowfPJRpZpiyp8OAJ1q9OhtYDnI4Y=" + "delta1I": { + "lo": "812239839139257288" }, - "governanceKey": { - "gk": "9HysYMEzMkNp2hkmKpJpNHl4DO4JHhR5FS91fuR/hA4=" + "delta2I": { + "lo": "309815352755896717" }, - "reason": { - "reason": "53" - } + "claimFee": { + "amount": {} + }, + "claimAddress": { + "inner": "+4abxQ1pE8twtTmPdt+/h+eALJBKVScEO4KWi+3nOjUCkx1TL4VNCSpFS6ocOot6Qeu37aALFPinNJU6Qmnn8L/kFnt+jUoavBHzhehmOPE=" + }, + "rseed": "jMkdg0vVQjUT+jxA64YtectnpAjJUJeMygEZgz14n5M=" }, - "authSig": { - "inner": "ZlE1U3aFj19nLsI5N0kylo6icTzdRMa43Lq763DvHABjPMZZd37gk+tTf/Kq0ppC4TInW54YjxRZw8yTVoQOAA==" - } + "feeBlinding": "o1nH3tqoW7FG0JN6Bhb6wyDVLC9SUDTDk7+uGD4jqAM=", + "proofBlindingR": "8PTmkfA4V9s0W2zvg+k0yN6WTTed6BT+HcA1mJTwyww=", + "proofBlindingS": "5fVPO0wci8Vku8cdtNW7tyfjSOWKN5zNSm56E55WtgU=" } } ], "transactionParameters": { - "expiryHeight": "3231285081", - "chainId": "ltifokhxkrn-0771099036473421120848003367", + "expiryHeight": "1061434754", + "chainId": "hczqfrcrczfe-4163873794", "fee": { "amount": { - "lo": "813796076035463546" + "lo": "276392301192941259" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_56.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_56.proto index 0d7d7aa4cd688887e6d6500e6c25eb5f97974d37..dbecc0dc066e2d5d2cc837f7e63c166677f48c10 100644 GIT binary patch delta 679 zcmeBSJ;0{PwVv@4<7!5(6^vXdToOWD9B-P}J)X1n{2DGPE{?O)w_ck3u5Bl;kO$Xf z14b1P4pm?v0Hl~Wn3N>AxH!JQ+Htq{@{HHaKx2>X>YVg@_53Z&8jM^MnS}b7xD0?Q zW*+Jv+DNjmQp;^jTX^YjB2~lyYF3bA@^8zlQ=`Czzy;GI8Bu;pDx&H*MYhx)4Jb2w=!j#EE}xf>dUF+>b*+Fs=LbZ_4c<5xJ7;}H<@bXl==L_{wHG9b-i9v zdjvnXzDTq92z2F1*=FynPNu@YY#d&<)$3NCPG7=tGGKboDMra=+lu*Qc6ku|A^8R%acFHT5r4&AVc{cHbMfh!#=$!Y>FHKI|o91gi z_l3wm*#o9CrhGWfqonZktG~66O!v{0-N$9OT;080{jtZ>F7r8Oz4EGr=Y?%!71HHs xdOhKn2D6ZOMsihQT2XRQa#dQYu8EcdT@4kYHM~iWHV+tXl-_Nb#6E~d2Bd2a%5|AWn_77 zd2o1aIeKw0G<9-rc{Dg~a582%V={ANWpZS8b!KI3IBRZyG-YsTIdyh*cXehtbYwMS zcsDpXIbmvJb#pUzdT@AaHZ*l;cr|5oaWFVDcyS_93Q+Kl)OKzkX%@qzIVWW6iSkkE zpRe7mDw$lhYx9yxRQL==SoW0rK3rz^XW&EeYU&d*ITM@?tPFG`w&^f3nHXYPi^Xqa zveB2;;(SFh^=;xR3r^EQG0Xhj|Xkl({Wo#`l3W@=m1BL+#FbWC?tfcP1 zpO~S_2$4)Be^LriZJ#o0HR>cM@2Uc1(p@05lvBl{JzV`f$ zZqmNBT{x8a;AyZl^|GUsyeJ!|mkt**ER&r{!CSZ;3FW3k)0tf*bA_^cCZ`c>g^79k8M_1^<^T|e*X^Sd+e>ehltJ9&ifafEIA|eVP^n9#f z!80;LY1$bkDw1h5d3X%&2_6)A6)$yuZ_+83{Aca`Gec=u@j z&pkbFZu1Cva7}JwQ~}|71qK2@iiv|!NrH=u5)4{YYq zVC34&xQKB*BUdKJ;e7`#F$*zqFiRma$CgK4Z;!84{fHJB{eyHC zQ}>aDsjHNfF7vGsh(58)_QM3;H&HkEg^abhPrW*1v5!H>o@4di>x-;dg)~c(N~-eH z^D@(QjSY=Vj0{aIj4jN}EDS9z%+1WqEGspq#vj6~g CB7igi delta 392 zcmV;30eAkh1LFe}3XuX5jsglW3JM6TkHhPhin8tqkya&tQVLMjyw&X)M9 z)z9>!#tyD00Yue2yVjX|!yL1H1PT5M;u>aJXHS%5JU)`()Jc; zQC=khG4wJyh#4={kqt5+E~1%%0NDtiR*IWU%ZsWcu81wXl0xofs`n2Apd+Lb3X%c3 z1C9X-A_^dT1_#_oSJUS@==30jEeOmI3RN$DvzF2vLjONzq}UIz5V5e(?gAPx3JM6$ zioDd^rm~9&kya!QA}|UH2$ZqnsD$^$ybF<5B{?_<%Ifvc6%rzCWOHzHZf9|Eb9!cD mXn1jHYM%~)Y=^(mg%$)D&b63n55icuNq#6nc&Yp;=hW4(F0wM|sjNrE4 z;GWBn1S$pyicJuTO$xpO3cCUdr~wKv3JM6`iJQ;#qRG|;krO0;5+K{szHyWF4<`_{ zWRG=~X5{3F43~NSgBy{tZj&Z9!fqN;3Q(`Mp8xL<_1(~Qpe*aJ#sCJ`29Lm-pJ!ob zhy_m35y(W`wk;I)wGef-E{#fM#8$a{&i%tV;3Co%d-jM5(4QFVl$p~9iN>Dd-4@W8 z_V*BqrIV7z(gqrTAWgaz{#z)Sxi;Dv>+q*vPbcFgKs%K$uJ%1?X8b`|0wN&Gs+saa zUak8cyipOKrGg;Jel5GB{7)akk#mh%Q>6qdAd#>7+O)5mm5aw~giSYG*5LjvNA=99 z*xJpPt_Vxeli(;+5%E+sC7?Y8Gkxc#)&-|)LN z;n=4PYnE+Qq5FL26)zI>TVlOz!4!elhEiM{leX_Yd->Fax2#HB9PhTj+dq5m!IjKh zM;MzJ4={4ofXw0BbcIP_wf_1Z?W}JBzfY7I$9Jrrxj*hs!?qjF^Vh#&5K@@yxnu2b zPn#p68~)m{)?YNA)vA6+f%gb&W1LQ7*Plrr{z&naq!yPblqKe5rX-f+7dbF`5o55! zi^q@b-wW|<&3#dO*>3B$>vQKEX>q^tf34o#mr@&xWI3az-BYoScJNqgBOGrf_jC4( z1s+c$R>;5FY&2(mU3@id8zTVJXrX`r diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_59.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_59.json index 36d2a2ad2d..488223a434 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_59.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_59.json @@ -1,68 +1,104 @@ { "actions": [ { - "delegatorVote": { - "proposal": "508113385", - "vote": { - "vote": "VOTE_ABSTAIN" + "undelegateClaim": { + "validatorIdentity": { + "ik": "d4IOiG8KGeB7GEXRprU8YnebwPsFUCmDk2iKO285Sk4=" }, - "stakedNote": { - "value": { - "amount": { - "lo": "255829604600641461" - }, - "assetId": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - } + "penalty": { + "inner": "AAAAAAAAAAAAAAAAAAAAAP4UeuFHrhR64UeuFHrhR68=" + }, + "unbondingAmount": { + "lo": "787940004195065135" + }, + "balanceBlinding": "T7T4bF+YE02ESUbdv7AOOgUZmmDk2RTV7pe6+y+F4gI=", + "proofBlindingR": "1nt4UpzAwx51IlpT5Ij4EfuIZIGxgPpsdn8nHfEOJAI=", + "proofBlindingS": "+XzMBPwSgaha0xuXkc6U6pKl92JGhSHD3KQIPNFWBQo=", + "unbondingStartHeight": "7510" + } + }, + { + "positionWithdraw": { + "reserves": { + "r1": { + "lo": "253984256202826004" }, - "rseed": "9PHqXpU5G8Gd8QBm+Hfy9vMulO2xR9/S5yRmHr+uatc=", - "address": { - "inner": "xxwjBvzOC1NjIM7RRApYHi1LPYWc/PzOypFce/Ywn1M3qlsV0Aa6y6WtS6sgts1UpxkYWmFJhRDxcjpjtV0dj4VgSUfvmLBqymfj/9C5VRQ=" + "r2": { + "lo": "269097642978812971" } }, - "unbondedAmount": { - "lo": "175125797432164667" + "positionId": { + "inner": "IVF53uLebTHy3ypG/xjjm9OYZAwg3ZcrU8aFZhgZuDM=" + }, + "pair": { + "asset1": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + }, + "asset2": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } }, - "randomizer": "i3hfMX9pure/V7umelje0JV6Q7JpW/DsgPyNqSOmIgA=", - "proofBlindingR": "jq6nBdwT0qovIKZgemzdbAOPaUQ0ZLfS5sezKkRNDQk=", - "proofBlindingS": "P+acuayiqcA4cDLsHCiUFGR6hR5z3ntfln3wq3Hh8Qw=" + "sequence": "1" } }, { - "delegatorVote": { - "proposal": "559121062", - "vote": { - "vote": "VOTE_YES" - }, - "stakedNote": { - "value": { + "actionDutchAuctionSchedule": { + "description": { + "input": { "amount": { - "lo": "36379834493930060" + "lo": "910729265953845683" }, "assetId": { "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" } }, - "rseed": "LY64ht/6TvGEMglvRzPmpv6TZOe1A2hrMX76Xb0oWyk=", - "address": { - "inner": "zOp7IDj4r96YHFGnPSgZWqoaArrZC30cl61qxr5y4GrlQrRd4lYBcsvyf/8ZL7MJK4euaoWciY2d2SkehbBz6sAIbjAqr5gxVHbG6BWWKgI=" - } + "outputId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + }, + "maxOutput": { + "lo": "197008387953445997" + }, + "minOutput": { + "lo": "665118102080631799" + }, + "startHeight": "790925511", + "endHeight": "790925512", + "stepCount": "699554604", + "nonce": "TXX722kc84NWzPwj8H7jgMTLNRVW8jCrQnErhbgULd4=" + } + } + }, + { + "actionDutchAuctionWithdraw": { + "auctionId": { + "inner": "5/y3Qf0zuqb1xT6X/RLmjLcsl6GzYFwMnvDmjR+j8fY=" }, - "unbondedAmount": { - "lo": "482355105312495516" + "seq": "923935010", + "reservesInput": { + "amount": { + "lo": "251164404864768466" + }, + "assetId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } }, - "randomizer": "wragV0zd/1NTLYvYtuPWp5jZJPJjKOTwsJQBXlR3AwM=", - "proofBlindingR": "1sfyjxQ4jbJh0XOWPT6nNWL7DmgWoDBrfnCWIjq8cAs=", - "proofBlindingS": "hlGBoyASkIjeYVzh0Doyxurryw1jk1H5uVicYZYhyAM=" + "reservesOutput": { + "amount": { + "lo": "581063375438161933" + }, + "assetId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } + } } } ], "transactionParameters": { - "expiryHeight": "4009473624", - "chainId": "wrjarurvi-16330269366901696947474738", + "expiryHeight": "4525023075", + "chainId": "jqyugyeonnxvhj-05862368", "fee": { "amount": { - "lo": "540792711132723769" + "lo": "791219474669379207" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_59.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_59.proto index 7cd2af4702230fa62b19c30354af7632ea232e2b..df263a7accf6e5991d0689701af20ec350d3f5d9 100644 GIT binary patch delta 527 zcmbQvdX%-E>mcJLroD_@N?Z!%O?(~sT#^r}C0s8q+iH_kKKsCL)&R}s$r)YN`IcUO zNK*bw$ve1Bc~Gm7;>5bo>zf-I3C`vEf%vS-raKM?MuMCxxFi zXITCSHLi%dEIobVxhbzEE&ZP4)~a~;&Jqrri(#x>9@nh6`WTy-x)`}6xVSi`9O^!E zch%Ix%tBlot4~b3JMB*6J!T=G(-i|N?>)MgYxwEDmfL@c$FncbNa0c7yE|Pw_*iS2 zgyarmDG#p60gNg@tSqI#$hDGj74uR?u0@Po20&vsKYsIf(!0kOc_#Zas)Cf%OL1|$ zo$-0?okPFwGAVI!e1CqbaqpUab2&ARFP!v~$>0Qtv{(y)rdFFR!93BTLu7)WXcj*vvwT2dJfe?}{Hg_U`-31pu&< B;lBU? delta 610 zcmV-o0-gQE1(yXP3abLD0jB~8>EopG0U81b0V1dY3NQ)^2(|D3iMaK+#sia)0VIDC zAoTI-UX?i;!JY8{X83pV_VX^3?XgGS(&r>*9>1$oQ)3{`(L@SZ z9xY2fg`E8S&dQNod-gD&Q#Yzx70?E{%cZSLt01<`RHqpjT470r5b<(4W3^o!kA+}K zNAH-hYRYHh|IoQr6fz13yMoS_!vBAYw*opKi+Eo#e`&h6zgN4adRX4jm3l+6Xt%LLiQ=rv=;-(yA{YreJz(-E0GoX+$(+x67=P|WIk zAUOE1-k2Owr#&bcTB;fXy4eeT9G9(X#=dgkYUM(-UE)>&a?A36{~0f{2`h)LYK5GM zjh)#k9)+-T>c9wYFe-eFwf&^j{4>g&r5W0O(&xmcWGmLbRk5;_Rj?C$pt5+rwWYGHD9 wa&~DgF*YVMGcYnXIWsmkIWRFcIW{>oH#9diH#0aI3Y)ykeH*Tr{TdmK_LZ` zki@EOac<%}(ll)>>T<$t#N6z@_1u4TFx336OR&awDZY}_;u3|j#GK5O#FG3X2SzVq z%yoFi+HP~kCOF=><2@)a-AUPlG zp{ctaZ*_YinYPS#(PKPg$(hqg!%mgtC8j0!{~D3)Nk||83XTDS0*V0&7zzpq?((wH z+O*NP2oeeil-T9owa2=L0}>(%AS16~xLk}by=y!Y(XmNCV<~@1(O)j_1{5lV@AE6e zx*Cz~NemzX3Yh~UmIDgh0Sb}rN`DFn=cKQivElB+0vZYk$L5@p+tk$T1tJ0p04h=n zQ24Q!I?jE8h&dbluW0H|IfN9ns4^fJ)M(8!j|m~z?@eZdn>lOl^&Ly% zyURJ%qcPj@eo%Q?8g2>(2++Ku>;n=82+GmXq5>KN2!stH0|<2=T z?MZ4N=m#nw#I?0z7tqQ8+ffXrOx?r`xr4Iny}jrfHq_H|{_yk;G9Z9!!1ld3^38YE zfU{?$(!y1$nPH06ovQlpB>NkoF$)qQ2(X`v{t*%jbuBY9G&MFkH8VFF3IgU~^YG`l}+YgCsp=!577$Y?Jih7M59{ zMEOp?#8w7{{D$2A|TYKm6($Fu&;k`(Sfl>?RA8=3#?*3HZS>W z&-ojreL4UtAfoh~kHia2HgBG|jpFCh$zy|PxLj2Cy-7gd_SA$%1u`I-SCd<(wxgQv z_)o@Nddb06iK#R#BzG<0>I-$fANdLrBnYqY^SKie4tIKLV{Kt+EigGYH!(CC3m&dG literal 1259 zcmcgreM}Q~7^W>B$Bz=r1+eQD*EL%L2-x07?}~15_z{PJFQCS4@5nY4ov1eVW~Et$DKZU;-t`4sJ9C3s8?x>V4W zhOt=<9LKPB%Fj#rMWSSg{a2D@xE?!WnGO;vLwoCx4-bPxTiTR_OX zkkv`zwr%?iD@GS&$rTKFX;}^;C`oZVF9oe`3b(Te?jp^+fO;t@$on_~lROL=z*xVm zkh0*WtQ;n}P?m6Vq!?n{jEEBf0kL~1GC=wRgcq@43KwEo#?CNS*~$qXN+d!A8W24U zW|LV_bW5_82-rD+H|+rV1I3ZCAI?M6kh{4ut3vFz(B zFs+@~zWQR=ziQJnuh3mBA3fXGk`uun8DbXX@6W-teiC+tYiW_q;sc zTyU>=HahQ(wd;qG^j4=1Hf|XlZWC8E_0*5Gz;!bR`mFQCJ6qc)&s1;CIai{UFBq0L zY41L(eIEp(MmG@J^;O1YtGZMq+b^h+m!#V8N1-I_icUYO?5v97Qn#kX z06a3y`1-lhtf;qoo?}Skl34axb|19s=u~~hQh{FH6j@LSA;#Cf)o7BUaYQ>e(|j_O zNrBeh{*9_wOn7O}vFhB}yE@ROx~n>?0%uf!2CLy%XsLF(erfR(ZUE5dolSQJKOV1( zhqr+zG4x3|#{Y`FK@F))`sHIT9x1D+K0H3Eh5>Z%#zMo;X!{r16cxM$>Y2QLJPtNf zQiygig+ajdWIK2@s=3ii>07%O4duxFG|%*&PdG5OU=q&F-=+$pJP ziKRIu0r^EGQk+m7x&}(f;#vrCqZ9@@04pAjtD7%(GYj0DK5-M1!-v*A%|~}{>yQv) z;$o0OkyGktEJ)2O%}pvwG&BXWs)~xu$}3BXle4q3%F@dcjf%2zvr7{T%S_U8N=uS6 zD$Ob_jZ2J-iY-l(6D>{5i;GH9vdasT6SE7-DpD#ejB^VLjf@g=bCR>mi!047DlPL8 zOD%INGfdMeO^wr2v(gJPDig~qa`O_?vW-&>%u_Q8a!SpMGO8-mO-d?CERDEKCovm= zQ_SnL-|qLFd%TaR6vK6bN$MyQ*BwSK4=yStFd;6EtuIeKzdT{jURGdYyVKP0`*iP< zl^jaIP}B-$Qrsx)R zNgNK$iOo`6$|$99jmsfDw)5e~vJXet4*B?t_2;rqdZltf@RLDgx+}*D9wmhg+YQ2% z(n8;_vH8ATSG?5f59^K65~~XGbuCSdO)aE& RfO+`+j^EAO&TZJv0RUb!b@BiJ delta 352 zcmcb^{)t(XtBY|Ka~mU<0T&m?{fo`_ZXP=Nf@AVrCe@4}u7J{_&@j&&`_2i0*OpzX zw?4B+WbGo&=|^unY3Iz+Wt!A1;Ik=IO)rsso86vAq2g2Z&wSO_y?lI`y`s9^(~LQ; zi*GmbnJllFUMhRF!Rh@cPith$`rjRX^x?q8-)tbu>VcNY%w`f=dGGOR&EK!mJ^u(T zb~}H|asI6JZsJdxweLp8NB?)9Sl=8_A!>2kKFQ0=XvxZgvn{tG+M-Rb8Y~D*id2e! zBCvf%{L7{jK3ZBL{m2$Zc8sHb7UqQ>PD=da-f0Ot;qLI3~& diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_62.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_62.json index d790cae61a..867e472262 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_62.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_62.json @@ -1,46 +1,140 @@ { "actions": [ { - "positionClose": { - "positionId": { - "inner": "3M43F9k+SwRsWjZIhTdySOp/8R44CEradfEzUYQKrzo=" + "proposalSubmit": { + "proposal": { + "title": "xmsshzsxbaflbgffqrtdjtddbfp-13116371573476362587119590969", + "description": "y-27", + "signaling": {} + }, + "depositAmount": { + "lo": "686818404975552894" } } }, { - "actionDutchAuctionSchedule": { - "description": { - "input": { - "amount": { - "lo": "635431313666200624" + "swapClaim": { + "swapPlaintext": { + "tradingPair": { + "asset1": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" }, - "assetId": { + "asset2": { "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" } }, - "outputId": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + "delta1I": { + "lo": "960053528786690615" }, - "maxOutput": { - "lo": "968182021175373968" + "delta2I": { + "lo": "901004642136973224" }, - "minOutput": { - "lo": "481943553144497287" + "claimFee": { + "amount": {} }, - "startHeight": "141560138", - "endHeight": "141560139", - "stepCount": "385732289", - "nonce": "zA1u4MqCerHjYwcayHAxPAAl0cWCaUZxlle6tBWbW5Y=" - } + "claimAddress": { + "inner": "zls1+ASb+9VnOA4jcn5G+IvvJba5jfoyUwNBfKu9BE/CFL39VAO7XBeimicQlfXhCcKr+hfiFcfwY6qMT4HNvt/dl7cDmZXb7vWBDYOU5Ec=" + }, + "rseed": "RsBM/3cUaCV+sLdOS06VksFumj2SVJiR2q4dUwUFPbE=" + }, + "outputData": { + "delta1": { + "lo": "1800785315" + }, + "delta2": { + "lo": "590384005" + }, + "lambda1": { + "lo": "625" + }, + "lambda2": { + "lo": "315" + }, + "unfilled1": { + "lo": "155" + }, + "unfilled2": { + "lo": "725" + }, + "tradingPair": { + "asset1": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + }, + "asset2": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } + } + }, + "epochDuration": "1000", + "proofBlindingR": "l93mqq74KD0K8nRauXGYcUlscjZDQGoY0Ff+mjL4wg4=", + "proofBlindingS": "AyYD0JtFVvCe40g0GzjpouWNyDvk9rDakYlH1VH5LAo=" + } + }, + { + "swapClaim": { + "swapPlaintext": { + "tradingPair": { + "asset1": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + }, + "asset2": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } + }, + "delta1I": { + "lo": "980893828380775662" + }, + "delta2I": { + "lo": "86106500627058454" + }, + "claimFee": { + "amount": {} + }, + "claimAddress": { + "inner": "mpbrpp6Hf4fIY8jfTXjlMfq++3C4UCOiQIk8sYgAJ41jOwBX1PtKliDQPmiJgjcySiWWcQP0Aatq/C/f4WafGiOdxaP0harhCNXJuhKT9vY=" + }, + "rseed": "MT8EkUtXpLdXwLh6+S5ZW6ZMXxSR55yCCcLjpzFrlzM=" + }, + "outputData": { + "delta1": { + "lo": "2522729" + }, + "delta2": { + "lo": "1703849832" + }, + "lambda1": { + "lo": "1169" + }, + "lambda2": { + "lo": "362" + }, + "unfilled1": { + "lo": "66" + }, + "unfilled2": { + "lo": "1133" + }, + "tradingPair": { + "asset1": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + }, + "asset2": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } + } + }, + "epochDuration": "1000", + "proofBlindingR": "+MURdSpc9oK9fzE1SIpoCuhagQ3NGhJLsf8fdoSRCQo=", + "proofBlindingS": "bgwbjPb5zhTkMXxb0ycdla8tODwiN8PYiFj6KG974A0=" } } ], "transactionParameters": { - "expiryHeight": "4202828864", - "chainId": "zwrovhwvux-1555802955862562584415078604787", + "expiryHeight": "4173135303", + "chainId": "svzqyschwbkvhbfnevwoyxnpkxjb-096962762521607", "fee": { "amount": { - "lo": "623834726199234692" + "lo": "408188507360607797" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_62.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_62.proto index 9d6a9fe04617d193316e42ea47f2f33e4d9ae4b7..e98985fdc35d524e56f74342334a645dab3256d6 100644 GIT binary patch delta 728 zcmbQrbb&pID`XO5AeS?jWkqgraYj{fMN(o~PEvYWT47O1N>)iqN>W;ZuA#A^p_#F{ zp{cpCiMg4vnUSf5xuKz@silFXnWYd*rLK{=7K0QQ$G=OH-fh{|a)gs>CbQBsX0AJo zTpnB#)08Kss?-Z{acnx_y1#tzOi#GkiGW++{ zbPGP^qB^%9-S1Vm?d<(!6wK^cvwAO!{~?jRe?ype$A~YQr7ke_>qE{%tAB|<5RBN*ffFl`k|RjQp_A5S(KPLb~9-)bIfKmV&=HY>ICyb zu)+&=ErscKpRHQ=L&KKqQ%Tg$!Wo60IYnm94p|Zx!vD=O`f-TQNP$_6`NC}1un+Sd zdzeUDyj=9O_k{J6ZyRn+>~y~x_)~|AYdW*i6pX-mx3crbwe4HafdXgRyq8=5ulY5D z5f(VJroCP^uf4wgMDmIIz7Zukwd4=#tsJc-ehZr@GHN)rYT&o%jj$} zH}X=QR>=H?adp-o{reBo=1VEhJ-YZy>#BzwS5NK|n*8mXk%FN;%S7++CELRf?5O%_ zr572!%qL!C;`2F8oQEDSH_V=HES1B>%JK5gOh#bXytub(4I40QCUOG9<`t6`6NeKp zXx?(bgQgxFG(V0CmTJX(Yua0HXzJ0G!Sy1lk@u{WkoU&_@?|X(Ik}7!@_3|szWqEW z^2D$v`m(z0)b+X+HcIA)Z*)Zb(#WrVz$@g$as2n^qx?cT#bs56mBq;!l@$O@a43lY delta 220 zcmV<203-j<2bBUr3McvjBnl!5Al%M37uh~b1Z-M1NQF0YNa}y_9yka}+I8_WQG^Pw zItr%&ssp0|3ZMZBFbWC?u&D2moUP#K2$LZKC6kB&BYzqS2$12=(6Wu|w+$i+2#3ku z_qwBv*aj%dlE6bS%aXuDIKiFww*f*R%nfef%7S{a<6{RJ$Z#<{0434If@wx^mRGv8 z6`Na@5Uqqo5EowV>RO}zd5o@bGiKlrT9uxi%S&B5_2+B5=-)n92mWb zG1uWn;Qj||-0Y^vmw8q%DJXurK;E)M+OBi=t1luZQ{(v<)0E_0m3{rqxp#H6h`lMd z-JDk|+k8awHovH#G|S7Uj9h+`7`?e{xl~J&bIXzwbF+(e4NVM8%}osqO%04KOwB9| zEle!TEi5ffOf4*hgt7`#bMs5fle2V9EKH0H4Gk@{7^Jv34qRQa>fr93Q<%6+Covmw z8E|oNbZ$TUee*ATAMnWAllH(10KQoK>G1FI{zb2U z3*cwKqVf{u3=u9qeyF+(!(}FL&7-lZrBv%wNMuyYvUCj52vLhVn5y%PEDEkE+KeiQ zCdKfuEx|BL5isW{286p<1PwILz1(WA=}+&kjQ4Cd|APL8xe{t! z-s~P^XZEswFDtO)P4n)%m2JC{Ix`1HO3(fq%?%FSf05{zo_d#e`t66ps@AO+&gE!@ zX1A1CQ4vh_ed_pJl~EsiIpZnVNDGvzvT{BM+*)C}vC8zm@zvPW&6Y-wKN(nGYKv=K zCpwDw=qrxVS?9im5*q&Ombn-5-8S|$f#hsFe(|4qSG`BO9UrHK-|`J zaK+TY4cK<=XjG96N#PCNbr4FX85u(*$T4)8MqC_p!UAlnsD(trXw;Q8(PUW6fP__- zy=v(4rqSL+ZBfg|<$~6}^2ND$XHqUVlbFb?A-^x(79XY*{Ap_G;_7o6soI7kY~96U zy?J5is_XsPm#tLBx@PzNC`zvl#9qgb4tj!VzV4AP&EAZOy53>$T9|_a-u*xpuzg!q z3LcA$&#Nb{w>70C4pi#XLnEisIue(joIja7TNMC&cM^TmEms!0lCuEc{I9P|qu(BP zrUp0oCXtLu#9!>IS$a6<_vdRgZ&RY73AABSrX>k_euxN#AQ*y4k^n&zB||8L!z79j Sp+MTo$;?7i`@q<<=brzsZXg{1 diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_64.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_64.json index 5a0ef36aca..71e010c236 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_64.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_64.json @@ -1,53 +1,66 @@ { "actions": [ { - "proposalSubmit": { - "proposal": { - "title": "cixdkboole-89495", - "description": "fmczeqtezeshlypcuhni-736861826156013714474096666082", - "signaling": {} - }, + "proposalDepositClaim": { + "proposal": "255573202", "depositAmount": { - "lo": "319418957113244997" + "lo": "146493481916344182" + }, + "outcome": { + "passed": {} } } }, { - "proposalSubmit": { - "proposal": { - "title": "zzxxfquzjilsstcp-0", - "description": "ejnxxjosxyrnnoiwafsnhdtuaov-5573296535092824525992", - "signaling": {} + "validatorVote": { + "body": { + "proposal": "597976720", + "vote": { + "vote": "VOTE_ABSTAIN" + }, + "identityKey": { + "ik": "4co8U3KHHWu8nF47s6ULHOyhHyDY/UFc1ftFDIPaj7M=" + }, + "governanceKey": { + "gk": "fkOxdpp7W1VAccRU7Wi6KkSPfMqNTw8pq3yDKhEOYgw=" + }, + "reason": { + "reason": "s7w1GFO7N9AFd2EQ31R1r7qm667Ro" + } }, - "depositAmount": { - "lo": "897611576165551177" + "authSig": { + "inner": "LGIrMt3exDny5gWJDdICkFyBuhrI+WpkJfGDopY4SQZEAl7nCQkEMsxqFWWkLYKn3YsByaEpj6g/DhPz34m3AA==" } } }, { - "undelegateClaim": { - "validatorIdentity": { - "ik": "XLFLzl54otXVenQipwvNfSORN7xD3ZZU/lPcHMsV140=" - }, - "penalty": { - "inner": "AAAAAAAAAAAAAAAAAAAAAP8an752yLQ5WBBiTdLxqfw=" + "validatorDefinition": { + "validator": { + "identityKey": { + "ik": "mpr8yTo8APCCVbRO3cZYwemUGkzVa1/C8/E/f77Orwc=" + }, + "consensusKey": "zHph7gJB75LJWQmDc94Np6Z+ZDt9fkk1Q4EYKHlzAyc=", + "name": "test validator", + "enabled": true, + "governanceKey": { + "gk": "mpr8yTo8APCCVbRO3cZYwemUGkzVa1/C8/E/f77Orwc=" + } }, - "unbondingAmount": { - "lo": "884245862204773054" - }, - "balanceBlinding": "lELf0MSAsV/qudGqi31yK3dHodA9GXTXNgndejNKRQA=", - "proofBlindingR": "/Y8CQqNGHGsJaqfLx3kFeJAX0+G574nFepTNiJBmlwA=", - "proofBlindingS": "yL4veJFPCLVoPg9XJffl71w+O5WnGjFzWuI0xadFiQg=", - "unbondingStartHeight": "50026" + "authSig": "dr2WncS2gVakc1rM+tmk9GhUShwZHH7SMmL7IuFWnwWoZFcWP45W9oZh5nU+hhxDi8CT3Z13HtP3Tn1xPkReBA==" + } + }, + { + "proposalWithdraw": { + "proposal": "653515287" } } ], "transactionParameters": { - "expiryHeight": "8399461328", - "chainId": "dhonjkixmpwe-9674727512824055616", + "expiryHeight": "120375860", + "chainId": "sgzdfwqljpwxclsgdp-7", "fee": { "amount": { - "lo": "91677694919425334" + "lo": "716224304064910123" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_64.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_64.proto index 50dd6515a69c5a82fbc47427cd0b95b65af19bcf..fbcad6feecc2769b4788b633511d796d9d3ba156 100644 GIT binary patch literal 471 zcmd;**u*Hxap~u~N+B+eZ|4^M+4XQv3zHNR7X#N`#zl-f8M%r%CY+r(mr00;gHcL} zOX1-uo8Y2$+3Y=Y;;c6><(7G~P+sB2U&olMzg>BnZ}o3h0;;KV-dHxPIy%&$@JPtp zj9pqT{WYh0{rNRl*EDMh@+I+T$#cmTo0l89yZM{@SvtC<7`X--8wME`nHT1onVARW z3psH)=p<7NuBtam7@BwdC@crPc|2(xaXXlEJkOtL{pdO zHZ8x~&3JO5X8#I%KH<;zJGV1%9bs%@Jiy3R!v%EFtXY3fTG=psXbRopclTJt!Ix8{ ze6D84ANu^!zJA}i_3T0lXQ~q4F*&}UbTX2&x%eLM@?~`?*0pt>rp}EL8kNP&>Qa0q zsl_D_L%U%BNS6gW3634>DIg62vWBQi!+nIzkIkrsM rY$+sCoL-fZR$iEsRZw1$oKu{hQlM)t#lywLv3l9cUAK=d`oReR3{k^l literal 438 zcmd;zn#35+<;f+GoLP~Qos^%Sld5ZBX<}(AWSo|pT$Nf_l3JBooRL#mkX)LPm#J%R zY-V9*Xklb#XliC)Xl!n1Vq$J$U}**f1{OwI3{qSiM}Kv7P20VBI}2CzB*q9XFD{{~ zs)~xV!qTd&%$(xllH>wi10kc-th|bfto-7N%A&ly{LJ#iwBo#sl#X9^l{}MEiR6IOV50} zJonxr9wUV*PWLYyY1kP5YUjmO-L*y9Ze(t12=csvsi~Qv UnG_Ef7ss|=|8{rxyj{cy0EnQXuK)l5 diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_65.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_65.json index 1ae5561796..3230efc9c8 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_65.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_65.json @@ -1,51 +1,59 @@ { "actions": [ { - "proposalDepositClaim": { - "proposal": "290435110", - "depositAmount": { - "lo": "397061836821711838" + "swap": { + "swapPlaintext": { + "tradingPair": { + "asset1": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + }, + "asset2": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } + }, + "delta1I": { + "lo": "859324251814478644" + }, + "delta2I": { + "lo": "901695431274064419" + }, + "claimFee": { + "amount": {} + }, + "claimAddress": { + "inner": "18qvM89j9zTrUEeG013xYfWE6vZNrj6UQUDbkkKFKfUf8oQ3eedBdnyeaLSrRSrMB5PyNI5rov0qB3gjba8KAeh21MUXzBiggkIyM4BrjGI=" + }, + "rseed": "RJQU8db1qR/SbuzdQmwQKrwfLqqWp87N8fQO43ctJj8=" }, - "outcome": { - "slashed": {} - } - } - }, - { - "proposalDepositClaim": { - "proposal": "925454871", - "depositAmount": { - "lo": "996803853926948758" - }, - "outcome": { - "passed": {} - } + "feeBlinding": "tQMT+J2T0jAhPwcUM1LW/UhDpzByu3RsJMlzjbqy6AI=", + "proofBlindingR": "MgHNwa4ZfXbtkR95imQJkvDr2blnLmv7vwCZ3eUIzhA=", + "proofBlindingS": "+Lz4LK5tqO6su4IntCDPDjfhTBkbjAPGhiCZezROwwE=" } }, { "undelegate": { "validatorIdentity": { - "ik": "/avzFpkBoNh4BBdAXNWyYJkGJ7oP9fv8yCRM7zbEXOk=" + "ik": "kbptXf02GZuE7BCv2dVislWHdltLTfVdnIVNEvkQ6GI=" }, "unbondedAmount": { - "lo": "530511781458972404" + "lo": "728020950189583856" }, "delegationAmount": { - "lo": "150481363579985174" + "lo": "75847630668554661" }, "fromEpoch": { - "index": "8627", - "startHeight": "8627" + "index": "8393", + "startHeight": "8393" } } } ], "transactionParameters": { - "expiryHeight": "5830716849", - "chainId": "togtwejgefspbzqxkjzx-53973943018851518386", + "expiryHeight": "6136234607", + "chainId": "ovlgrpgazomnivwxm-0129181629217031183777320", "fee": { "amount": { - "lo": "694466351950944283" + "lo": "593416948151669404" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_65.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_65.proto index cbd2796ffb936435f895ee5f9965eafff61958fb..ba3028d8ee625844391a18f87b9263bdcc9b4cb5 100644 GIT binary patch literal 471 zcmd-&!6bE*iR%s{mj{;;mxAW2Ir_$h-6*w5zIY<{uY*5{3MR%QtZ z5u=8SV@uooL#uA@{>ClE#j*Ix?xnw;-95;o#Kgs*6~q;A{nUEn^U2>$UI)0hU5@>j z__gKLH{W%3Qyd*`PjYJ2{3`#c#k}&lV_D6-j4i8Owa&0l{$$dZz38tNdxdiDdM?Hn zWmk@hpOIM5$_R{KEIRTvyFr zNMS3p@Q=BZFBvG>vx^u9UHj|dyxgE@cS(-Q$>QE!n_e(UDHt)HJ-AM?w(RXh`O2;o z&Pg9$-`tt5m;HM`!_2!+InD_vDg4;;LuXy?ig#;vH>qz?IL~MP&_`0bhxu5W!pv$D zzr&1N?x&bsK!G@MS8nWIGs)R4Zv@ugyqdHrw7o3a+xKhioK|09f05AL=xYO!&gbQC!0DCEfTzUALrF(K{zvYhmyg7n0y{M@|Evhs>t tT?0cSOG67oGb2kQLvsUTLqiK=b8~ZJBLgWOE-sEaOJ{$Yzo~y72LLBz&x-&6 literal 192 zcmV;x06+f<8L|Nu2&Uk^iUAS|2;P_d%&@en!37!u8UP9zvH=zdm!ze+0}=`dmcO~c zuKL#M4H^Op018LS0z?WT3LyQf^A?!_pxAf>7eHLqvS678C%O;y`~1ixOz$?tTFvqKU;2(jCy+!YcjbZ=*LcV%j4WoC15 uVtR3SYifFUEj2SaH#0djGcYkYI5jafF*q|gHW~~H3J9C9{lojN&(R6g>r3VU diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_66.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_66.json index 527c967bd3..6bd4edced3 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_66.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_66.json @@ -1,68 +1,49 @@ { "actions": [ { - "communityPoolDeposit": { - "value": { - "amount": { - "lo": "28635501634571198" + "swap": { + "swapPlaintext": { + "tradingPair": { + "asset1": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + }, + "asset2": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } }, - "assetId": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - } - } - } - }, - { - "ibcRelayAction": { - "rawAction": { - "typeUrl": "/ibc.core.channel.v1.MsgRecvPacket", - "value": "CrMBCID39MoCEgtkZWZhdWx0UG9ydBoJY2hhbm5lbC0wIgtkZWZhdWx0UG9ydCoJY2hhbm5lbC0wMmQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOgsI/tb7GRDV5/H3AkCwnLKZrLXqgRgSAgoAGgsI/tb7GRDV5/H3AiKPAXBlbnVtYnJhMWR6eWRqZzgzZGduejkyeDg4NGczdXp2N3RxdTc0Znc3NDBuc2tlcnN0bHo1bTY0anhhcGMyN3Y0OG53dHB1OG0yNHB3bDh6YWxxdXh2eWZ3OWVnMjgyczMyY2djNGQyc3RmcThqdXFwemQzd3RuZ2p5cGc1eGhxcmh3dGpmMGoyZ2Z5MDRr" - } - } - }, - { - "delegate": { - "validatorIdentity": { - "ik": "Mq1BbqAsuclq8wX/tgZ8KOkKUBfSieyZK9hT/05osLI=" - }, - "epochIndex": "7621", - "unbondedAmount": { - "lo": "93204302922706091" - }, - "delegationAmount": { - "lo": "334214563604282888" - } - } - }, - { - "validatorVote": { - "body": { - "proposal": "989783490", - "vote": { - "vote": "VOTE_ABSTAIN" + "delta1I": { + "lo": "674535027910489261" }, - "identityKey": { - "ik": "jLSXfuASgQfzc+Xh3COwKeu9XPlEf/VU1KmT6XygE0w=" + "delta2I": { + "lo": "941145116189604343" }, - "governanceKey": { - "gk": "wkFvsBuzJzqKY2V9+TwYguz41SM5GbepTliGXMeLDAI=" + "claimFee": { + "amount": {} }, - "reason": { - "reason": "9FqCDw5QO" - } + "claimAddress": { + "inner": "UPDGwS0qaAfxlMcM107B1sskbcZkYyxf2Ixb2ahb0f7g8X+o7+c18f1vpcJIT80vohwsc24+vo6HmSwoc5WcNfsXBJ3D3jZv67wWPV4ys7M=" + }, + "rseed": "/ddywbYPiEyKyDf8zOHzEEoGzZqJhtUiWRttImEWDWo=" }, - "authSig": { - "inner": "csTZeHncYx8gAv+o2eeFwOSwo31ABQSZB9k2+Dfm6wovRIlkYXCr2kZ+gf/7VY4E0kcvQpF6YcgIi8cytWxQAg==" + "feeBlinding": "XCEnr64ooFWSP3Obt5vDKIOqiFXpV+P+e4cnpHvbmgA=", + "proofBlindingR": "wtNYlVuHr8MVQGDL3FdNlmSu+BfnZ/wKWNsSqV5RQAA=", + "proofBlindingS": "TSPfqLBV7MTvZPASeJwW09pCBVFvaQuThZT221OhrQI=" + } + }, + { + "positionClose": { + "positionId": { + "inner": "3amiiAtHxnxs3WQJoYIX4ISoki3lYph9YnNOw+V2tYg=" } } } ], "transactionParameters": { - "expiryHeight": "2367335228", - "chainId": "rkekltqaje-675472879407024500076877292436", + "expiryHeight": "4824550852", + "chainId": "ycotzogqtlumfmxxxxuv-658337503005564986402745039744", "fee": { "amount": { - "lo": "696357928072868664" + "lo": "364595764382967855" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_66.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_66.proto index a66f6076d0cdea709fdf6d749b077d4b65dfbf76..78ac0bb8740e335663494b9a82d665f2ddd744f6 100644 GIT binary patch delta 390 zcmV;10eSxM1-}Cf3djN)#R3Z40SZV8krN}45+r{T3J9&~rn!s3o305O3JCY}%;fUV z=Z6g<0tx^sQVLK|@W#O{Drg7sl*bI$PQlj8ByGlIV=Q0Tj9b~LThadD@qeiA=QZ*D zZ>7RWPt7l)94vEgKE95JnJg%Cm7F#E7X+Qd-ZpRRycRuPGPAQXApO^J!L|>GOp3@i z{LFvh^AJh~&6p=8oqxy#U#X?lA4xSno|;xUsNK+3Du%&poA>0g%CGNVW0!B;^z2w?YE@B z)#o3-GdXOSvuWm!bQ`WXvS^Gb7*iV_V|swz{m(k+Zr((|e;jVdfG zOwx@@tIEtv3QNsR(#p+E4DyPzQ;UjAa;i*o%}lZ?5(|=z%*#wH^2$pJN-c7YObW_# zEUFT73QH@>D$~j>Q`3zsjEaqolGBq-QjCgA(h4oIN(&3BQjE(>^3t;^3(`$1G75__ z%1g4+46=;U(<%*2vbmfNG1+qgqs(ZnW8MOtohP$Cv;N=4R-^HfD?t2G=bM?@H-i8B zWo+0aaMW6gi(~c8-#h2dIyoPhY>t!nKld5#v%uu6T|^r+;5(7GmOH zlmeRAvt@eS1EEIt&&5w4-cjD5`Fd~6PnY_yAy-yTep$0X*hdMd=8$9l2Irp9wserE>26gLT8t9(?EYACoYGgBR4B5?I{1OQI40|x*A diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_67.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_67.json index 5454d2a9a0..3c579b9667 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_67.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_67.json @@ -1,82 +1,51 @@ { "actions": [ { - "spend": { - "note": { - "value": { - "amount": { - "lo": "63303688488887395" - }, - "assetId": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - } - }, - "rseed": "SaEmYPqrn/gmZyi9I+xi2XnqghXfc2O12Ck9LJFiK2I=", - "address": { - "inner": "r7ae/+8Q9d3QdaAs66/GAAbYBo/Am59nYWeIBU7REchE3LYtFPa1EHW2Lo1KZcRWuXzO/cM54CLSFnv2iArQnxjrlJnTB4nGnuLdFtCY9vc=" - } - }, - "position": "140597868931655", - "randomizer": "hVAVXzIohd1MNQYQ1wFaTBXNRuuVnWFW1I++my6oYwM=", - "valueBlinding": "6cs777i0vJh4CCkkeCiQKfcKQM0pXV/82OY5fJyWiAE=", - "proofBlindingR": "9u9U1B/jCRLJy7A1m39eSBcG9V0MVnqz8q7boyHXgA4=", - "proofBlindingS": "4bE2ytP4ZqWrjv0uYZal2Ll7u2jAYfa6z/xDLZIwSAI=" + "proposalWithdraw": { + "proposal": "933540420" } }, { - "validatorDefinition": { - "validator": { + "validatorVote": { + "body": { + "proposal": "54562684", + "vote": { + "vote": "VOTE_YES" + }, "identityKey": { - "ik": "3OECXP2+o8IymB+YoZx2CodrZpOMWWj7/Dd6XrahRg8=" + "ik": "FO3qktgYS1wU5qseYka39flojumLee3k/7vllohJXec=" }, - "consensusKey": "J1FqtVVLGg9zix3qxjb+v4JwPIK+en/Z2Eg5R+Np5cE=", - "name": "test validator", - "enabled": true, "governanceKey": { - "gk": "3OECXP2+o8IymB+YoZx2CodrZpOMWWj7/Dd6XrahRg8=" + "gk": "bE1Q5EDGAULWk36SgVuRjDD0w0C9tc0PI/KDxjoFWA8=" + }, + "reason": { + "reason": "3m3X577ES6bOEQ4xFJfRMptvy8cDiHLI" } }, - "authSig": "bP1eWXb2nL8ibXgYnio2iwTnUxOCZjTdunW45G8o3A/87pRuhnJer5cwngEHx0EL4tUCTDJHHL5Hh7IWayoyBA==" + "authSig": { + "inner": "Hlg3rn4RKALZxnMPBo0WWOeoDzaHc3yAoHF5TXLWBw9Iz6h6ADuMb/QMOrarhICmNwdbAB61fqUqfBRadYhBAw==" + } } }, { "communityPoolSpend": { "value": { "amount": { - "lo": "462750989683900453" + "lo": "757912587794033221" }, "assetId": { "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" } } } - }, - { - "ics20Withdrawal": { - "amount": { - "lo": "10237256736832118" - }, - "denom": { - "denom": "n4vk4wai14QvR73oo891GbzZ" - }, - "destinationChainAddress": "penumbra16w4laj3t0l39r5pvdafaxe8p8n88lx0hmyahpk6n3e2d4eehjrrafrev4mrac39uad8qn90799mqd8gvt0y29hlw99l348ue0k9deflzu3yffqcad0y9xc7evuh67uuv6th8m9", - "returnAddress": { - "inner": "A9DBXlM4R5jzxEDbqHYcPtoviLl3UdFqp5Go7clAy4gx8i/6Lgrqk5SaI0yJYdyJVKuvBObmhp/Ltb8WLu2q6vbzpSNJ6icGFFjqdln8k0M=" - }, - "timeoutHeight": { - "revisionNumber": "231456423", - "revisionHeight": "204697896" - }, - "sourceChannel": "channel-0" - } } ], "transactionParameters": { - "expiryHeight": "9102417723", - "chainId": "midhmecjjrsikeanqbgvp-945282334194719569042051", + "expiryHeight": "6184744402", + "chainId": "wpvgwcarqvx-6202981829494123", "fee": { "amount": { - "lo": "700770715777692843" + "lo": "320048751103429665" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_67.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_67.proto index 0d011ffb4fd9cd550b635542029a67d0f15ba6be..415e8aa4251c404057fbd5e359783e8f553a7668 100644 GIT binary patch delta 287 zcmV+)0pR|x2e<-%3JID41_;FDlDz{8zX75Fy8#My2>hOc8WI8s0vaL;AQbKDlGqqa zTomT39%4qf_4#Oy>5F;o9nPeoBQct%QQQcZASbar_-V?=34Oi2<#3P2uM zH?DpWC<58Wa}NfM7Fg$~4>pH$e1M>Fc};TG2MWFBs3B-2-540g%=VWcW`!RcVl64 ladvnuHZm|WIXE#mGC4FkG%+$W8Vm{w2%(tI!pqdcxCF1~YytoP delta 888 zcmdnNw4PmzYcCVmE+($!j9mI$oE(o&yg2pZ^v;5b4^-nbC>yI(8-C*lKFnfM_VtNOw z-$lU_E_b%+ihSEDP`XX8*DLi%*v^`Be-B$eP`V^m{jG!R!hDI>Q)XUf?>si|(Ot0% zGroNnIDTc(hws1Tr4;I014QGEG+OWan6e36XN>X@J?r**>fFSzEB*Us>#ay;R#JF* z+WP&DEqi8EaA>MjXiU)j&gF1cGdBLujc1lMbEb7LYAJksA96+hF{jYU(;G}@*T;E? zvwe-_39H)tY2EF`iq{+Xj1(SjG&^(hmVq_`yVOvTJDhx7mD-$ycvd!|0Q;kwgQd2Xsii#4` zic-r=a*Gm^jV((PQ!EPe>Mae-EiH2kQ!LWUN(?HEEHiS-EiH45O)N@N4YDm$Qqyv( zN{uVi(h8FkQw%CCE0WDq%StoM%u7ql%t|sWaxImBsgU`?!MI=x_Zgp$INV-QCS!L? zzhh^4;Ki)v6IZ-F>2SKk@RR;8J+4=ir_56J=}f%S8M1mk%d=-~^G|Or-Y=&2cGatI zpO-3ozEWosiFj2O`De1T78l3zzw7b@Ry;bJXvLYFk(ig4nxktV174FmL{e~7DmR#CWe+K=7yH0W|jsfMh2#aQar$5U;T3P L_nsFo?r;JC3yXo& diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_68.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_68.json index 4ea42c43ea..9ea2f38f36 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_68.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_68.json @@ -1,56 +1,88 @@ { "actions": [ { - "ibcRelayAction": { - "rawAction": { - "typeUrl": "/ibc.core.channel.v1.MsgRecvPacket", - "value": "CrQBCLmq95QFEgtkZWZhdWx0UG9ydBoJY2hhbm5lbC0wIgtkZWZhdWx0UG9ydCoJY2hhbm5lbC0wMmQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOgwIuuz5kwMQ+KrC1gJAqPaF7ay16oEYEgIKABoMCLrs+ZMDEPiqwtYCIo8BcGVudW1icmExN3JsYzBtOHVtaGY5bnR6Z3ZwbjNmbHFnOXd6cmZ1a3F3ZjBkZjZucXp4cGs2eGY0ODR5amQ2cmR2YzZhMm5sZGg2bGswNHlkeWhoMnhmbm1zNjU5cHRwaHV3cG5qamZyaDZlbDM0eWQ4bmtuMmR4cmd5ZXZxNjhlc3czdjJhdGUzZHF3OXY=" - } - } - }, - { - "ibcRelayAction": { - "rawAction": { - "typeUrl": "/ibc.core.channel.v1.MsgRecvPacket", - "value": "CrMBCMH82+IGEgtkZWZhdWx0UG9ydBoJY2hhbm5lbC0wIgtkZWZhdWx0UG9ydCoJY2hhbm5lbC0wMmQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOgsI94zxBBCO47KNAUCI/578rLXqgRgSAgoAGgsI94zxBBCO47KNASKPAXBlbnVtYnJhMWc3NzM3NmdzMHV4bnQ0ZzIwbnl5bGQwYzl0OXEwM2QyaDlmMGQ0OGpsOHo3N3F2bmhwZXh6dGQ0Y3g0cTc3Nzlydnl3azV5OTNqNm10MHc1YWR5ems4MnZham1hc3FsNXZ0NXluMGh2MDVwbXRmZ3lja2Rxc3UwbTc1bXVhdmZqYWQwZnZt" - } + "positionWithdraw": { + "reserves": { + "r1": { + "lo": "201443633617440129" + }, + "r2": { + "lo": "617392343763087923" + } + }, + "positionId": { + "inner": "X+WR9ktERUS4w2LkgLDEHEVZs2MEtTB5lOH4gmNbP8c=" + }, + "pair": { + "asset1": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + }, + "asset2": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } + }, + "sequence": "1" } }, { - "delegatorVote": { - "proposal": "441483725", - "vote": { - "vote": "VOTE_ABSTAIN" - }, - "stakedNote": { + "spend": { + "note": { "value": { "amount": { - "lo": "211183892868237346" + "lo": "902684893903255648" }, "assetId": { "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" } }, - "rseed": "pwH8yBv8Ej/k/UtxjxN9ZLhTWXKJo4sDv4qOyQVKOC8=", + "rseed": "1VeNb0KR0w1uBg8UWniP7BzRDNdG71h7VAo9YhQ0dmo=", "address": { - "inner": "czr2tS1RGvozaTYfB+m3NvnENNjGIOEUe4nFDg1m/Otw03/kkZt1zEexVklChQ2hTt2SNoDebzs+VROWu9nGpSq+Qj7GKu4l3KTelS4Eyi8=" + "inner": "r7ae/+8Q9d3QdaAs66/GAAbYBo/Am59nYWeIBU7REchE3LYtFPa1EHW2Lo1KZcRWuXzO/cM54CLSFnv2iArQnxjrlJnTB4nGnuLdFtCY9vc=" } }, + "position": "59296039256241", + "randomizer": "1SoYgexQCRka4bUm33V2m/TCTX/sB1sNHxdR0KhWtQA=", + "valueBlinding": "GAu0X26lL+R898yc972quKAzswvUNlP54JUMCQZdZAQ=", + "proofBlindingR": "NrQe1ZvB5B5dNYgVLA2o7UdamB5rDcHisF0PlUi1ShE=", + "proofBlindingS": "VD3u2xPrTvmCQzSLTSVCsoRuvo1pvstLE4ydXREnVQA=" + } + }, + { + "communityPoolDeposit": { + "value": { + "amount": { + "lo": "516233400468744618" + }, + "assetId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } + } + } + }, + { + "undelegate": { + "validatorIdentity": { + "ik": "LKckY3QlmyaFfp0fOoPsqLK8a0hC6A6hVFlQBw5G4ok=" + }, "unbondedAmount": { - "lo": "476307544147812192" + "lo": "331733130205834259" + }, + "delegationAmount": { + "lo": "12804681958798873" }, - "randomizer": "J0n7fjYHS+hf42tACWeBU7pi3dMrbk/1Zcqm7eZFLAI=", - "proofBlindingR": "Eodqjm5KgfdXfI4O7Rr8se9gWP8bQOf7uNcmIcdbcwI=", - "proofBlindingS": "oQtyr8ahQODnC11y4ZL5Myp4SpDA8KbL+H2TpF7MUAg=" + "fromEpoch": { + "index": "8673", + "startHeight": "8673" + } } } ], "transactionParameters": { - "expiryHeight": "6781311514", - "chainId": "bwvedx-738111593850323834795", + "expiryHeight": "3463037096", + "chainId": "mrununqsiunfkjzgegcnsr-496741038808052588830534002144", "fee": { "amount": { - "lo": "214648601475148779" + "lo": "317441656977586368" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_68.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_68.proto index 8b6dd3f9db0d13ac7814b31d157c40dfadc032f4..d529d1b280d6d4c43f047f917a5b6be9d950d155 100644 GIT binary patch delta 552 zcmV+@0@wZc2%ZH<3XTDS0*V0&7zzpqft#R!uKnue0ul-cv*fMFjN;nJ2ofR+AYbK? z_De)XM7YCZ5b&R!wi!+115jfSB-B%k<$%s1`iZkc#rHH(G1r{?^t_O3O!;JGAb)YQkuf_ld*anZlo1bT4XNUz((Gkc*+_o(g_O%dowl0lIWyDsw ze9ryDIp8AF7JK%H3ecYz>y(+(2Z_d>;@uX|nD+M&v4QRS-n|VPAk}{=7=i3i2^kvU zwI<(ncANCVO@HhMTMZuz2l!Q!x850yx@N)a+3R6Xw76YEa-f*I|2$}5m zyrsF{7Agh^;X@GNLlR2}sDY>R3=%bMa&>NXZgF#Ib#7*BYIE&M!*UOU_8l%S+ACD>KydElv+gO)d*aOwLX%5xUL9 zwS|#m=c?~hScSM#QqvMkb4mj8i%O(8p;~kel#s=>5aLED40HfiJRG~;{G7}z@MG1X zYfKI+zO}wxv-MS@gb))KgA|IKQa@usYF=q>Qc)X{DucmRW9zLAhySN@Z2Hg;7~zR&HW(VUB58 ziD_k?K}MN@X+dsDT6$%2c1mG!sX?x}X>Ms^Sz1fkO!hYe}lpVp5MV*VgnfG_~on-a0(3cA03MjVvwpBM! z>X&h*nLPW;?PfoZnA|v~@KB_>^C%y0+Mm}2m+PNQoLzdxePfuXQ!DR6zq^yn8t&y= z+l2~G+kNxcQmuVXcE_~dsoq&~Z>k>4DSaa@jtBcDFKc|(eU8maLEZCrof*6Li}=Uc z4xH(Y!Ml>~Ue?a@|C)Mg+1qEXI!sOqLhV_7d0vg*!)yBZ-b(%1_&y=xzqG^i-#f0W zDISk5X7W;4$X&Gl*g}T~&$(lZ9!~mctX1JP;lPJwr+?H=UJ`dEfJ4ZLW7d{a3nhhQ vlFG|cQz~@LjV%lf4NWbLEldrJjf^dfP0TG#rFekh_xk$v%LjHW{mTRZ!0~hh diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_69.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_69.json index 69ca691edb..8b4b514262 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_69.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_69.json @@ -1,106 +1,88 @@ { "actions": [ { - "proposalSubmit": { - "proposal": { - "title": "pygrfcgdmdvbkinbpkujrsvoceczijcl-32092748615507664261973", - "description": "nlwbrohubgnnr-053670327219833388602857", - "signaling": {} + "delegatorVote": { + "proposal": "647286663", + "vote": { + "vote": "VOTE_NO" }, - "depositAmount": { - "lo": "937490413554625775" - } + "stakedNote": { + "value": { + "amount": { + "lo": "747309454106584177" + }, + "assetId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } + }, + "rseed": "vFrmrgWBi5oCGP1e7WJ7qKUk2Y4wKFq3qIcag3JgIwM=", + "address": { + "inner": "viBlCBOsIYVXTYor4XrErovkbSdZTdXL7qGRdAMwc32wWb3DYnPhmE96UIreUk/wDWu6tcCMj4+72UkhQ3Ogn1K5PTs//kc3ymFZ1TmqVG4=" + } + }, + "unbondedAmount": { + "lo": "439798439469163733" + }, + "randomizer": "NfdqMxHVgXMaHyQu3REnv4MorNkwneNzbJ/Wcfx0HwI=", + "proofBlindingR": "OOov646LT/DvRD++suYkiJfRMIwCIfMd/sLorKVdpAU=", + "proofBlindingS": "VVWFsQA+ICiXRvjnUSE3aMzha/PF8b6wFHlmpnazuAE=" } }, { - "actionDutchAuctionWithdraw": { - "auctionId": { - "inner": "3S0RsRjc+hZOFSEU6rSJ+5J9ffvhKvjOPSrVam29Jxs=" - }, - "seq": "448503248", - "reservesInput": { + "output": { + "value": { "amount": { - "lo": "841680905976992458" + "lo": "58341553315828660" }, "assetId": { "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" } }, - "reservesOutput": { - "amount": { - "lo": "613944882381138194" - }, - "assetId": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - } - } + "destAddress": { + "inner": "jqEzfWxPBlAnwYSJHeARyH5taEgzmnkNNT6ahgAeZM64kcL8TP8w6UTYqAfrIxtO1OA2LXkHsj1G83KiHerU22Nv98bz45sFtuoVrv5KQng=" + }, + "rseed": "keerivescwx9StOzxMvgLuVNy7sLwo56M64DMm+4WuI=", + "valueBlinding": "buawFoaoMAuJOhgGj2GO/mzQBfAAEcMFyFpCsjgXKAE=", + "proofBlindingR": "2u8mnMLSvhByoUT+dRPqjazvnBfxiPyvDTiLccgjuAw=", + "proofBlindingS": "B29Ti8+Cc9veQ6gJNoSXQ0t1owyeuQZP34dQUyIKEAY=" } }, { - "swap": { - "swapPlaintext": { - "tradingPair": { - "asset1": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - }, - "asset2": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - } - }, - "delta1I": { - "lo": "832451596655743836" - }, - "delta2I": { - "lo": "871476921981967273" - }, - "claimFee": { - "amount": {} - }, - "claimAddress": { - "inner": "CAGcVfG0PjeGEeYX2TgP3EYLyMcN2tq6kv1+gzItUCsjIUsUsPSUdDk8mvwn+qyhWJfmeFYZuqhC1/jg+z+pdWIlxraQRF7KuNzjqojDM6A=" - }, - "rseed": "9NOQeIewKvr0Q0hDtIe8kniUPN+xNUG7F3lasOIHEWA=" + "delegate": { + "validatorIdentity": { + "ik": "kxP2l1rvVTHHSiA6XQ1fzh7zN0FkvvGAbHbv/xGr47A=" + }, + "epochIndex": "7748", + "unbondedAmount": { + "lo": "971244988940526888" }, - "feeBlinding": "a9LbPAX1GQaKr4LGHqEqo+8EtuZtpKTto5VeXgDAlgA=", - "proofBlindingR": "oEELeKn6B1967V8Eihg/3N2Nzx9s6J0HQqqcYwk8hQg=", - "proofBlindingS": "fuHA9wG9h81GHljE0kXsmxFNsPpzhLSG9Ws3YTm4egs=" + "delegationAmount": { + "lo": "74740601770930067" + } } }, { - "delegatorVote": { - "proposal": "571589292", - "vote": { - "vote": "VOTE_NO" - }, - "stakedNote": { - "value": { - "amount": { - "lo": "510221460595527054" - }, - "assetId": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - } + "communityPoolOutput": { + "value": { + "amount": { + "lo": "675769259619918164" }, - "rseed": "HmDR1ENSwbhfvkKli+AGuSiiAW9EnmGArhQ80wbUCTs=", - "address": { - "inner": "okZHsXOvwQLKUAS8UefDlkPjxXR+ZjXvz8KOSG+8qSmD8d629Dvq2nCwiV5b1fmv0XlB6AM+N2ord4Gfo5d2zHXMLUHt26tRGy/oBVFXaPg=" + "assetId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" } }, - "unbondedAmount": { - "lo": "631198246979121845" - }, - "randomizer": "TvPbZm5oWeuFi5W5Bpd8yywrgsxSfLzVrtKVM+G0kgM=", - "proofBlindingR": "DhLoQ3+6DBJ7EKMAmyDoyuKRrpM0VL1/AxIL8v57DAc=", - "proofBlindingS": "4LlDlY/yf+gvBmEB1J0/Na6vJAntFBsnwjnrl6/KLwY=" + "address": { + "inner": "Cfsryc8xzoLWxnQUW88wgIl0b09VHO1hPjd/drTwdJZfHTgK65PJQCUbKsTC4eXWrUXW5HgU1nVHCQ95AOwUkW1HX2dsFbeqkxLL2FDTKxM=" + } } } ], "transactionParameters": { - "expiryHeight": "2307045737", - "chainId": "htnfwhlbnkebjhwjjctmdrvranmt-239605595115", + "expiryHeight": "7846038948", + "chainId": "unwnyzbvcrmkn-961523796265493082050", "fee": { "amount": { - "lo": "824727385379590102" + "lo": "909062766742954169" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_69.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_69.proto index 3e163463564140df9902f3d0094e7adf32d6675c..3935aaed62c6da4085c845ba001bdb1fecd111c3 100644 GIT binary patch delta 762 zcmVX?P7bVr6k#oFeqBLsD~PZa$q9^8d3^Sz93}?6RaVHS51m5;d;cb zi{x!5Sxwc;?xB%%12A)auvxvsVsqh`PkK;_-cnES4Qsl!z>JTNyV*%0Lvx^?Qn@`l zKmJEI%3)d6IjU4{G71RQ$yC?0@b5%FzOv>dh?mhYi~=F^9sa`TtfgI~1xg@QRfVwtJ|HNU zM)>DZAvb8u;cN57@xHJWd1j_|v$z2YkOC5o0tzn*2?(^OqsZ2((Pt7O3Luj|0U>`< z3Q&%rGkt7N22dx#goz#C5y*aRXh<`fc?~r_nuY)#WX`ye!u(ACFzH0ts0ZsK8&1^V zHZ6GvvOPxga-tpT)Z1fk_r~+%n+3M&6|VkDLU{(5_pEaaeM-}_#LM6=FbjW)Iv56zVUGT6&;{@S5yJ(@T0*io7bpQLAlmOH zoWjz+5OSeJ{&f@TjjZpS7x9SvuMIehamXXM3^E`GZ&QoUf^*y6L#PQhgqK50b)yWP zxdu<)hfq@@3J?YgLc#(+3L*+1lN0urTJKdc$4VeNT@7E(9`iRrWWMo$Y<4#9{}HR> zun@#N8VU%g%C_CU#iP9qA_@qT-|N=qh2n$(3W@=m1BL+#FbWC?)WVqV`jND-36nbk zC4W*1Pzn1h$3hR@}KqVV0#KPg_ z)~!X>#gc>wGbk!?p`XKWR>s*@7S*ih3e6B0QHq?@Fj9TFpTZg*~ZdSZ5C sa&2pFEjczZH8L|dIW{sjH8eRhFgP+WH4iWv3(fH`j4592$KL7v# delta 819 zcmV-31I+x*2F3?}3U!hJatdS$IB7K>;KVA}|UH2$ItL zkK*&n!U&T=0VE6x$O0P00t(y#3P=i*n*t=0LIEUy3JBb${rZr~-Np+V3J9sUzU9jF zhKvj%0tx^sQVLKA0i0Fwv_3b65#|@!I1k)L3&_U}+S%K*ZAQ3KdE(MCC0XpL|)3c+~cZ z0Kk?28X%xS3wWve2VZ*aUj&L6Kiu7o&mU~)od-gyoMQ<*g$N=be&N9P0lkOKMjlwi z(nai>5lyiAbA+^p^=mg_IkOh0SYh*3J8vy&z$l0 zs)`4bK>;OyARb`R)I(CixL>|PrHkMOxhSFmZ$zG9fUXog(+1QDI~r07P@+ahv2(A% z0?JSXyiw=FmP6ykbbe+v@6W=HNN>EUDTDFew)8vd+HkOmUR%}quhDry=mS1CYAbhv zpQD#{%yrByLG9bCQ5!Gl1yNUM_%aFzwdJVr;qIM(;Rre)PV?JlZfIHSg^QKB2A6!x zEGvS{QhdDCuF{n=;k1$iLLd$j=tFkYeIsQj*}};%NAJ zcG-*0uWPt~=I+=zqixczb5of#7`bLJ9pah71XM6}&aqYNnzr^a32|_-xukphni@;> zGZv)gmF6ZDB^nwe8)W5VXP1{IrzaPurWBf&8JE^)WSAAC7iF7e7@HVb=2jS_XXliZ zrl%X{CRUUfr>0k?=BA`o804jd1Z=nQKV8N9ZT^)hvx?L{DBahX{picVNwb=k z=$+eq@vzmCAl2J03CExB<~Yarddhm1inj-!YH@Qc+T5_7NucR|GnW--az%%ZsYYlT(w63v_dfvvPG!ERBo|O^i$p&5bM# g%uOwfOpHxTEX*y945WB~;ktj__StXO%$dar06&hrVE_OC delta 694 zcmdnWvWl&qYZ2oj#(9if5gd2+z5L50#KgfUrNpI>I5q$LlIyhwZ>!I2`&sRNb*>tZ z>}=~JocA_=lzh70DNYHf=2LLk@?Q7;|7o(>`xl7`>BP3ImF{kIR10zbbz{n;*8*BB zTuj~-LQY%`yV92*-29;W`BX{coKr6Mo>rac2)10U^|VpGUf{--XfDFX}}uZ|EJ`$)Y1UvHu38=qKlUsDXcc@zEGO-KXuZyQ|_9To2-^Eid}qIXj9Z2 zuM->nq-M|ImdfK|<5+)m+FnK>HjZN}m-MqrF>~x^Q)1@m4XXZtX}o_v9j1jG--ukwVF*Qq3zz z(^j1LvM<)`rB;s0Jl;1~%;&m4-oojzU~?v;kRnIl%}agKLfm-;l?BDRMh2!v7E(N1 QTpTxVPhYjFLh911$NRW8#dEWtle^mKvQTE;!o1T=wI6N#96va0Jnzo6 zp79goYDTUVj9e*P5<*-Y|JE#D-g9&QQw}LEj*kycyuQ@E_&c+Z2iHUq<%z;7^+E~^ z1b`G12cwb%7Z=Cm&6DTNzA$YHGtkt{-#fdm?U?(PQG=1o=@64W$Z6MV3p8bnmV0;^ z+;rzw_h8d;Kf3bUpG)kXA5I&p_g4K9n7{*c!_8ft4{z?Ba)(!mi=**|?#G*NUo=l- r5>nyVb8&655PxY&YIb3Id1h8sp025-xfBo3;&o@QOuhBIeKRWny2V|4 delta 294 zcmX@gw4X_s%XAX65tjiM7srm)E78l3r znY)fn*?;IIhmk_S;!s{@_Di13$_JQNH-2=pJJU7g&Z|@h-nPA4dfEgTtQ6`SKOT{u z%<@u#J?B8o)qd zDd*OHR{iFXlP3->;s$f&&0+6m=Z{ diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_71.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_71.json index 9aa6d7491e..22d5c81127 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_71.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_71.json @@ -1,38 +1,73 @@ { "actions": [ { - "delegate": { - "validatorIdentity": { - "ik": "sKRqjDWadGFO/TIEMtwOmedJkuOxlMQXnoaVtoP+WOM=" + "actionDutchAuctionEnd": { + "auctionId": { + "inner": "0FgxRpdtBST/xaFc7d2/WeBbi7h/nunklWE2Qes8cwE=" + } + } + }, + { + "ics20Withdrawal": { + "amount": { + "lo": "705353425731686480" }, - "epochIndex": "3572", - "unbondedAmount": { - "lo": "884813692927508554" + "denom": { + "denom": "Lp4zTsx8v1xYLCOa52Iw3z3O4oG05q9n" }, - "delegationAmount": { - "lo": "973795711680164591" - } + "destinationChainAddress": "penumbra1lw8c9w9u5dhdjtu3f42fdxqfhesevfzlwpuc4ltq0fqk7ys7qylq79ta9vh9093wcvnxrxkxa3d8xkddwnk4lnmp2vgh8lp4wymej487844flfraq9fyzza879gtjh07937q7r", + "returnAddress": { + "inner": "PI/hOUYA0xGa/ajpqjt4ITxFp0LBQNTrKdULHAQLR5ZwBGhR44t4tnaVd0eGdNfxhFgI87mk6Zf8A4zoIm934U2Ad6BURuHWjaMUnf7H5uA=" + }, + "timeoutHeight": { + "revisionNumber": "647526331", + "revisionHeight": "312877693" + }, + "sourceChannel": "channel-0" } }, { - "communityPoolSpend": { - "value": { - "amount": { - "lo": "35770030447883941" + "spend": { + "note": { + "value": { + "amount": { + "lo": "531364989861787630" + }, + "assetId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } }, - "assetId": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + "rseed": "sauMKtnJzAUidTWzgsu5NS1qzX0N4gW9PPRoucfcyDY=", + "address": { + "inner": "r7ae/+8Q9d3QdaAs66/GAAbYBo/Am59nYWeIBU7REchE3LYtFPa1EHW2Lo1KZcRWuXzO/cM54CLSFnv2iArQnxjrlJnTB4nGnuLdFtCY9vc=" } + }, + "position": "230356823049356", + "randomizer": "HdJleAo5G3LDyT+fKTbriMWZUBb10b/DWlQMie76LQM=", + "valueBlinding": "olzHpXfxJ70iE9+g05Jms50y01oW60+W1PvALBoSlQE=", + "proofBlindingR": "7rFbkn55uLc1OcsqOi7Y6GYm+aawLMx66xMabMI05As=", + "proofBlindingS": "p/UcxJx3aac9vc5KUGQxAJZuueiMz8IoZxcnsZJqwAY=" + } + }, + { + "proposalSubmit": { + "proposal": { + "title": "ncfafkufjpabbdqfghdrjrgvtfcufw-259", + "description": "mwnc-19533998708946666367821339", + "signaling": {} + }, + "depositAmount": { + "lo": "3313028713214231" } } } ], "transactionParameters": { - "expiryHeight": "9838345454", - "chainId": "tiiwrvprdahlmbunkqbywgr-0318729731669205428119", + "expiryHeight": "420803536", + "chainId": "esfob-0647962984199999", "fee": { "amount": { - "lo": "516900881830842854" + "lo": "145474113215460667" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_71.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_71.proto index ba4a865d6e21350588df978beb4172cd095c29c1..22da56c322fe7e608f1b831b9e8096762e94a00a 100644 GIT binary patch delta 791 zcmV+y1L*v~0jCCk3MaAyBnl!5AkbJbMwe{`B>%;sTRiXxPPAMR zHE}s^8jk^RWo~tCVsc?IYE1ZaWH0aYd3jwH*tAvaW^@1VL5haIWRdhcVl*Lcyf4acwsYSICyJhWOr_BG;D5d za58phXgF+eGSFvDhvp_@8Prp5dFlMl>s^lV`yP+Ze?sO zFbci`3cCUdr~wKv3JM7B@2S?wwDPY95+Vv9De9b&T^@fRv8#+K*~!cWB6T&hg3Gxz zEo#ku4dMm8JoIR}$K1#^8d3^SueP55?-2Ff&~>0J>#xQD2G|CVz?+|EVP}X1PSFv_ zMBKJ56!x_cb+#^zN@c`WxqQz3!#Ut0(iVI6hzii380(ao(+7#hp5omW(3tl35R8fN zgrcxC8X$ii(q(uGIU91r$v>YdHtUGRnNSw>(Z9o5R1Ask`Yi(@AfjByrFZcsy&@Ce zpwp6Ovz;>2S{Cb1mel*eEE*D(0V*Kwv0IXUdAPSVIm;?KF4*X1Ci$kYEX;cA6B=y7 zG~^31AgA>l#GH3&r#-#SN>F4m0G4jK=#0<8C})2cC$W-hzy=Cek^xi-M+zctV`gDy zYjtL7aA9I%WN~I^Xk>C~a%XmQW@B|`cP%nCIT9ajcWz@XF*!9eGdVdpH!wIkG&VLi zHZwLiI5IIaGdU^%8VLxO;?vyerSSz4EC|r&)5rl57G-m0Z(=PlHZ(UmHZnOlG%-0j VIXMqG8Vm{w2)pXz(f0kcf&%9fPPza9 delta 165 zcmV;W09ya22EYMU3PQpHKMEoWAh4urj5V5cVNU%r1Tx$XndeE8j|Epu6Z$E7+Px{)!VlZY=$OqKw&`z9rv+Pk!|n=h7?L%_(k zJ~$jph>90R%A~FRDAnQAKX08X3<&4*)Pw^N%k%t(0y+s}Xkl({Wo#`l3abLD0jB~8 zll0<|0U81b0V1dY3NQ)^2=~9x?WC)zvkH-DCV%*9;67zrcwARGJwN__J^ZE;PyuPf zQ;o&%gpVcTfsNv9kx=mB%3wIzQKR_H(;zTT_Ar}U;- z?E&cQFj#23F)7xPrz0m-N4`Hzc7=aJ=U9qCvJFtc3I2FCG!L-Iz#}pW2<@rYj;HvI zrGEoDAZr`J73W%oHdw4*D*ajzRsyxb=;A?487(4O^34lL141C2M>u3TnqbIFy<`F> z)%rOn;yfD1smBUB`_deQD^>|gAmK!g+-jBO1~mH3d-@mNiRcILT~wfb?W4`GZ6ED$ z0t!OH0zV2O3Lvui-?TB(8`#H-(q`5HWnY3tvZTX64&fC)c!*L5V+3mu@k<&C2*9|y z#NOZP{sJNj2+7^ppSIuDlnfFv2*9n9y$KQ12cWW&%Gc+?YH90pp UF*!9F3*yM3Ps8SLJA@ZAgNw6>WHx}Rv9BKvMqOH+Wf#qlmh35D?SDhs@K$K z(HaT}=KsX5)t!pT1R@9s0J>#xQD2G|CVz?+|EVP}X1 zPSFv_MBKJ56!x_cb+#^zN@c`WxqQz3!#Ut0(iVI6hzii380(ao(+7#hp5omW(3tl3 z5QFI9;mzGG8X%s3H`|4+3DPshrCFOHI{yf6#-TQAx%!}G;g8g_YG45(ARkBmkHHM` zGi0JaWFyG3acM{0_r4#x%uX)DBG;rt04gA@A+yQdY787?xOSl~W&qr#jw8>3Ln2%l zqG_L&K=TeVAo5{lxyaxNWdDb1T2fFZzMEVYAMXTfA2=#kA=@15{tgmP2<4%+>Le05 zXk%w~baHoLc42XDXLMv~V|r_Ed1`WPY+-C?WE#^jx&JrgTEmn#9SbzVoyLDh3F$3J|gi3P#ETLkc1aAk;cwVyTDCgJ-;PxFnhV z!o!8cQ#@uGLtv^oVmPFHa~cTt?vd=l zA_@rag!GZ{<*Aql5<>{2!Ge(u5-n(DZf|pVWN2h;adc*5X=`g_XDu=~IWsXgGB!6j gGc`9iHaR#nG&D3gIWRRE3VTSjlqfz-i`P8|A_eWo%87JjGyUxBuv!ag5i5$`O1YW?QFbnX!kK*iRkGO zy<>gWNMSLDJL8?C>Q?^`=f5ubBX?y%MmDd4S=qy5R|DLh|7Vnt%Hd+=xU}POl@J@p z<2~p8vq&*>OyE~y=2*<4#l)dw#LTgR&xvaOS9rm$rND4e;Di#}L-x613?9c)uDzZk z(0Dj^hWnZ-^HrrP^DX&|6e6$u>j^S27s%_eij3JQ_&z1)fLy@hg}?RoHroi=sW1sy zaNPTMXTQ9VQhHKxX;x)fMR}pFp_z%HrGbHwp^2HLnW2$|p}DECiK&?s4;L3l@BfWm KKfgY?zyttV{LYvF diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_74.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_74.json index d3091f2e1b..ac6c3df561 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_74.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_74.json @@ -1,77 +1,66 @@ { "actions": [ { - "spend": { - "note": { - "value": { - "amount": { - "lo": "27663927245931193" - }, - "assetId": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - } - }, - "rseed": "8kKetjhZdxM8OEBAOqIWgi9DNWlVItxL+qsSf/lfgfM=", - "address": { - "inner": "r7ae/+8Q9d3QdaAs66/GAAbYBo/Am59nYWeIBU7REchE3LYtFPa1EHW2Lo1KZcRWuXzO/cM54CLSFnv2iArQnxjrlJnTB4nGnuLdFtCY9vc=" - } - }, - "position": "252938257034257", - "randomizer": "/DbinvkjsusuI4ky7NSOsMLb/Nu3KcHLRgkjA89blwI=", - "valueBlinding": "0uuFmCSEeS8PXyl+PwpHSsd+x0y42BMYGpQimjYSAAQ=", - "proofBlindingR": "2jmrDWtzXOkZybGhu4Vm4SCHsgvvc9noYovqJMgUVwU=", - "proofBlindingS": "vtxfyAF/LFsHz0GX9njFG9dnjAnYoPFqlj3wGbB2YAQ=" - } - }, - { - "communityPoolDeposit": { + "output": { "value": { "amount": { - "lo": "689532434862634413" + "lo": "340451464773121449" }, "assetId": { "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" } - } + }, + "destAddress": { + "inner": "lZNZUBD0MipStnXuM3cPr22YLwgojKy3JyRlnozn1Vw2hWY1JamId5I9tS8KyQKmnBaZNu59j8IYYJlDdXabCKRK1oqcwa/DCyysxL0Dq8Y=" + }, + "rseed": "0/6eGeTmVJ2d7COm+skjceusQMRpISIDt9orcpJRCHE=", + "valueBlinding": "kC9OD+rv13/FvJ6cTk2VCz8W8Iioc9B30eZr6h73EgE=", + "proofBlindingR": "ZsBBPX1iV2IYPsALhBNk/GNdkqpGqtdNUhlvLhFhwgs=", + "proofBlindingS": "gtyxM4NRllH1yM6eg58vlie9KGi7ixmcuhKvuQl6yws=" } }, { - "communityPoolOutput": { - "value": { - "amount": { - "lo": "942142257580664653" - }, - "assetId": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - } - }, - "address": { - "inner": "sRlXkBLJzGKEEFlNWJ6W0h8boGy8a8oasfjtveD1du9xYeJvrlpfqVJB7lKJJ51V5u2wNlX1RCibfAAdLo5oZ41Ts2Cevd0Tx13rDlFdP+w=" + "positionClose": { + "positionId": { + "inner": "gtPL48051rOkQp+2gn9BrLCj509nYG9oOYKXkhwniP0=" } } }, { - "communityPoolOutput": { - "value": { - "amount": { - "lo": "263021446818198553" + "delegatorVote": { + "proposal": "712555247", + "vote": { + "vote": "VOTE_NO" + }, + "stakedNote": { + "value": { + "amount": { + "lo": "544802747201443663" + }, + "assetId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } }, - "assetId": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + "rseed": "tNwEFKY/HXH4Yy2O1nkj7uMzjFPWWgM0RIuLTiCQlGE=", + "address": { + "inner": "r5mziC+H/DhYViULTsGWLZPHP23RaFodCaq5nkbP/ozoE5+BeOwiHtz9fQ6oYqaxUpdSiLEPaN7lxzZLPpO7WmAcFhTLiKamhrai9SiKyGg=" } }, - "address": { - "inner": "6IbjT4Cz0UEaFc9aeP7Jchra/yNqx2MB44Vin0cIE3a9PtFQlCvUJQ1pt12SvU7kIit/ObI2Wh9U9zLerZZlIjuFaIigUTaYeH3aoJtM65k=" - } + "unbondedAmount": { + "lo": "717142667821755777" + }, + "randomizer": "HTUNWh9GEIWD6NWa7faTnQvORMkg2NwaEkRehdg1FAA=", + "proofBlindingR": "fy864FBG0NtSQU1TjJlJeonN9YpdR/8Qx8G9sNIjuQo=", + "proofBlindingS": "YteMXag2Qd02/JE9tblmA16xKkpsYn9aMlHGSdEhtQ0=" } } ], "transactionParameters": { - "expiryHeight": "2903176362", - "chainId": "j-20449781250163944545100015", + "expiryHeight": "1077693046", + "chainId": "kdduyqffphbnqajbpuljdmmoifcplxtz-00476524308212980", "fee": { "amount": { - "lo": "101299758122898677" + "lo": "642501004680437559" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_74.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_74.proto index 23381423eb077e396d582bf48ed67d3f78b33a23..81729477aab31c1571d84d0a3e064e8e7669fc43 100644 GIT binary patch delta 635 zcmV->0)+j=1+@hf3XuX5jsglW3JM6R>%i#R+2Py-lZ*i?5Z7$s=*=tU$zRAtD2}+ADIBQ3!D&AdoLk z59;sNf5p6>f1FNDl?y)>@QA2$(09@1Yw8~N5&s?)>;EJM2m|~ zAdr+{8d3^SubH!mFNgd%SXLzqPQjKflgB@8(P&y7397lCM$i6?=o6oTcp_{%ZR3?hPI;hD2m8vG71QR+p31ouJeES2|6Gh zH4R!HMi7OA=+&C-_LH3p&P2%|*xVWtL|%p1H533sAb&49;7~@;+fqSIQ;eBOdWp^T zid{$l5XZs2u+k&B3Q8bi*Nk1LHbLDs{ENC@_n z@qq*qGHYaHb$M}SW^ia?ZgDeVYGQD8Y-(g}ZEtC2V{mMEbb2i?Ff=zdH8M0aFgP+X VGC4Rf8Vm{w2)DkxzNhG?^$4rw8JhqA delta 589 zcmV-T0Ab)YQkuf_ld*anZlo1bT4XNUz( z(Gkc*+_o(g_O%dowl0lIWyDswe9ryDIp8AF7JK%H3ecYz>y(+(2Z_d>;@uX|nD+M& zk=WO_yumpdApCze;-2{Lkb%R|PU4zT98P0e>u82hTy5_ISk`*Jq3g*r4%hmOUBp8L)O>1PV2x12PIQ3JM6V z>*I)u!|liklV1TO6$*+0ngfOb3NQ)^2+hvx_rt8pi4Buq0VQZs3Q(~bSCA6P%wmKP zSxs1;meL;^plrNr${Mlw?Y-djcJFav;%}~6U#U_-?ox>-omJ-Tur^ioL@1kl039xl zXlIR6vtXXR-4n-M>kd&}KkN#M0h$Ab0SYh*3J96#p^wayoYMo7UjZe5QVLM$hT~6w zv(Z5s70+6D{>gG0+W#YJ$72EGg<_va2orX_KG9H=E7TG3JCQGss5Gz^7yj>kw^vt diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_75.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_75.json index 11d6ce6a41..793f5d03b6 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_75.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_75.json @@ -1,48 +1,67 @@ { "actions": [ { - "communityPoolOutput": { - "value": { - "amount": { - "lo": "367726786513069539" - }, - "assetId": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - } + "undelegate": { + "validatorIdentity": { + "ik": "wuwgWygLl4axtVEDtwuTWj2v+1giGPJuH98L42iE9Rg=" + }, + "unbondedAmount": { + "lo": "534934644143406260" }, - "address": { - "inner": "S2JUJ7umc/exySvbLgqYSe640AIb2tKgWtEF0+TmbM+pVlmVaDqnLDg6n20j9LrNtq11Q3M1ESnUD8ZYnzsF4j2L2AxZj+MS40DWges+D34=" + "delegationAmount": { + "lo": "692960866983432388" + }, + "fromEpoch": { + "index": "7015", + "startHeight": "7015" } } }, { - "positionClose": { - "positionId": { - "inner": "eBDch1m2dXDvaiXws0690m/ZbCXAq8mNZAAv3frkim8=" - } + "validatorDefinition": { + "validator": { + "identityKey": { + "ik": "WiWhWYLuX9T/RBMkes/V8ynqqR7R3Q4/PUhEQkFPpQU=" + }, + "consensusKey": "YhNRal7+EhH1OVroPFV5KdAoaL05nlcNFWyHdv3cEWA=", + "name": "test validator", + "enabled": true, + "governanceKey": { + "gk": "WiWhWYLuX9T/RBMkes/V8ynqqR7R3Q4/PUhEQkFPpQU=" + } + }, + "authSig": "KkZff9vJ7Ln+HgmkQY6wvKImvxspEg7bsV/dzB9DSAJgQqc/FUytawVA9cT65Vig8npDuwq47rOQRKA5JHCEAw==" } }, { - "delegate": { - "validatorIdentity": { - "ik": "oVRgKknU8Dw5ZA7Qdlz5vr62EuqCTeLs29g3vMQUMCY=" - }, - "epochIndex": "1052", - "unbondedAmount": { - "lo": "985389063481683216" + "validatorVote": { + "body": { + "proposal": "586452870", + "vote": { + "vote": "VOTE_NO" + }, + "identityKey": { + "ik": "ZoGPqyX2doMZwcuCWdwGz+EPijjKMqRUdWsr8UqM+qA=" + }, + "governanceKey": { + "gk": "3rvvwzQY3gGcMycFRk4QPv+T+mGvEFgTmSpoGEpJVhI=" + }, + "reason": { + "reason": "h4IssRgUR9uQfd" + } }, - "delegationAmount": { - "lo": "641165127029311412" + "authSig": { + "inner": "DI+xBuD+9cLcJE59Y0uFczvyC1VckxH83SqsSFndaQEJm/zlqNJB7CnJecyrWQJAuJ0uks5v3TWrYWArjsk1BA==" } } } ], "transactionParameters": { - "expiryHeight": "4059339943", - "chainId": "vgsknzsarnlevcgxtex-64999524802311011331218483730", + "expiryHeight": "4104268457", + "chainId": "u-498220601506581193183974361326", "fee": { "amount": { - "lo": "300595445484946658" + "lo": "150551619517905195" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_75.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_75.proto index 0a095117d8b2b2de99d4a43d4d07c9d01b703b92..2824520e05f8fe4930684fb598dc8618f0a85bca 100644 GIT binary patch literal 505 zcmd;bKgHz2rNpIh=#4_O2KV%~javhmw{uU9vR(f>LP_FNp8S38#~CeOC8W4Gw*0&| zaYp;RZR|>197h(e{dcPU=Q&O-Hjd|J0?*C3jxaVc9$@6E0T~vhx-hcoUHp~*F2X8R z=dXU&e6>>U;$1#_TMri}NB^a)LJCR3fmw0?gap4@M!m2Jt<=1rk+IiuUO2C4PJ7wk zJAw&Pd?l&HB?@JUIhiSmCHX}Tj9$c;>!9TpUw`}Lo1OpUIF~r~ZP>F&ZNIdp5Z~>M z@psS2J9{uCI4!pq^;w(E>hSf*ucr|UK2cAH8~hEl>igxwrfM zVH1gajB||DS>5~u?EX*wmAGCYLU^WDhJ=@An2?qL7hi^nXK`^*dT5YkX<%B4kQ0{! zPya@?2mihvx})M(o9x|MZ2gHlG-k5kpSxOXJRhNTF2M#L~jZ$iU3N(A2=p)WXov(%8_#*wWm@ Z*v!z_$V`fdi;H9Rr>AG1@7dnX1OTRm%VPil literal 323 zcmV-J0lfYSiUFDfh5-sN3JM70%ZH?fvYU+s5+Vv9De9arGjaB$hv(^BByd6WqgMHY z>jq9;D?86JEU9V`5>g6KOJYwykwTb2Sku)DOm3pF0KOJ&V{3S&!oq<3QGd>pl;D3McvjBnl!5 zAb1emhgr6DaPMj*@Uu?6(r?*pCBUo6jbs2X-TLH;Zwf-f0zV2O3Lv3WU@A$}@H{zW z4$yX7`M$ok66%6Y;_TblH@w6YFeVV32pS3qklKZ_p2V}(4I&B%w2#fVlZp892ogsK zr@7LP4-zqUXLDF~b$l?1UjiQNDI diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_76.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_76.json index c52399dd6f..08debaf421 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_76.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_76.json @@ -1,77 +1,78 @@ { "actions": [ { - "validatorVote": { - "body": { - "proposal": "499559962", - "vote": { - "vote": "VOTE_NO" - }, - "identityKey": { - "ik": "nFiW6rkeMgQiKHqZ0AfEZK/AzsKDb1NoXTdSgMO58uo=" - }, - "governanceKey": { - "gk": "1u9xVoClu+OLEgGCyd+TzqJCUTs+u70A9RROo/kj4AE=" - }, - "reason": { - "reason": "0Wivwap5nmQTkgMm9eMYv" - } + "undelegateClaim": { + "validatorIdentity": { + "ik": "L0Y7D5yA65pvty/fncAMn+wa3RnXPw+Bnhi1//8Fzt4=" }, - "authSig": { - "inner": "LtvVp7EJF+htX+W64LV0Y1LubN5yWanY3b0KesF3gwmfFnNs4/b+NWMxIko4rzPHVXkEf5D/mBmk4RjTgzuGAA==" - } + "penalty": { + "inner": "AAAAAAAAAAAAAAAAAAAAAP+XJHRTjvNNahYeT3Zf2K4=" + }, + "unbondingAmount": { + "lo": "368735418534892302" + }, + "balanceBlinding": "1fmKTx3U8+q/8qGz/LEf1g+aBHcGuO4mopFBWZlfjgI=", + "proofBlindingR": "G5gmLQa/kugffbA63b6tSohvX8GVyZC9uCdvJpPrpQg=", + "proofBlindingS": "2OQqq9BOsyDTL2Ry+7qChKgJcr2Dc7I1gAqtafMAAQ4=", + "unbondingStartHeight": "13162" } }, { - "actionDutchAuctionWithdraw": { - "auctionId": { - "inner": "m/zdbJC1ASwwv1z/yz+fyr9lUtaXXwfptWjub9I+dN4=" - }, - "seq": "642126660", - "reservesInput": { - "amount": { - "lo": "790696754725628587" - }, - "assetId": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - } + "proposalSubmit": { + "proposal": { + "title": "hrqkmbfggbgrl-7614", + "description": "oyb-7108209791", + "signaling": {} }, - "reservesOutput": { - "amount": { - "lo": "22174763363613413" - }, - "assetId": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - } + "depositAmount": { + "lo": "96792643880719544" } } }, { - "ics20Withdrawal": { - "amount": { - "lo": "355752587401124815" - }, - "denom": { - "denom": "0oVyqrc9d057e2" - }, - "destinationChainAddress": "penumbra1vvyfptyh4s4w4caja607g5wwpk737lwr0arglnpnzzg400neezmvpluqgc9nceh29d6pwwqftldqd6mhwhdzexkhex92v75wwqnk455lhhyf80mf9tw8cunvxxver8p9gq3tad", - "returnAddress": { - "inner": "9zBzyC8N5prqd79bkfr3LQjyNCBJhouqfqOhJoQy9Hy9bZOcLiftvrwk1Z5JbjwxE+pmjNG0VDeGv5Bl2vdD1SaqVlvX0F7LT281AeuCLxs=" - }, - "timeoutHeight": { - "revisionNumber": "951475047", - "revisionHeight": "597738032" - }, - "sourceChannel": "channel-0" + "positionOpen": { + "position": { + "phi": { + "component": { + "p": { + "lo": "752490546840670506" + }, + "q": { + "lo": "685652472648998305" + } + }, + "pair": { + "asset1": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + }, + "asset2": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } + } + }, + "nonce": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "state": { + "state": "POSITION_STATE_ENUM_OPENED" + }, + "reserves": { + "r1": { + "lo": "576677425087379471" + }, + "r2": { + "lo": "821935855867602153" + } + }, + "closeOnFill": true + } } } ], "transactionParameters": { - "expiryHeight": "7365106243", - "chainId": "mvjaulrrlqlpgxusmiymlourvvc-8306", + "expiryHeight": "16490740", + "chainId": "zhaqbslvzfqvhzrhvnyoih-843575411607877852659022682", "fee": { "amount": { - "lo": "414174351199549054" + "lo": "3498326502753566" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_76.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_76.proto index 914f52f18108372ce42b78fe2f404e9d03a57a8a..7429e6051371e0d3d8ce59480f0fe4275f0c8e9a 100644 GIT binary patch literal 503 zcmd-&$aslqFC&){mx8{VHUFH3*R%4s>))SyfM@<2sk@Tb?fDz$No@W9pY_~5C7>Dx zH1L1AN=b0vXWuL_IsdZw8|$>VIQo_~t?#|t(9de5aP?=GzwDLIul9dhxcSdU`D^^M zSjyRUyi;2=(J^vnd>@mQg7geEUAFy`UdY#Ou)4c%tyf2W{K2UwC+yv!p076f^->Ne zg&R+_R$uVjtZ-RBrRevrrj`|)MSGizH<>nYt;Mq*)7aZXuPT47m6RZ&J+US)n}hOUK)v8lPKiJ_sHfw_gb fxrM2bnW?3Lk&&5&krX!Xm3bg^E0kHuJYY3X$n(hG-0tf>dA_^d!SeEL!9x?UwLQy+DyS)JQ6i%c0Bj5ol z7YY?HS7~;4VQ@8WZBbNfXH9K6WldRj5<&_?%RisWzhzR^mtP0zwP@~d(mr(F5X7dKvH}_~3JM6T)#kIM(8v4= z5+Vv9De9b)PyrncA}c;x9CzDA5B!3E_0>TWP0tyNU&$r>f{^I!e1QHMm z4lr+4d2w=MIb<+3H)S#!j{$IHZgp*9a$zxcc6nxSba`krb2N7}V_|AxHZV75HFtM# zYd14DYxbPWoR-vWHxYjcX4KPY-Dj{ zHh*nscW7jKWq507Wq3IiL3p(cbf^nAT-lbkLm?Y_Ju z)t*UiJTVjMW{lCaR5ymdkY(EUL)9j#R$g1z&|b?=Z#4nyf-f5?3<&48*~J48u!Mu1 z0y+s}Xkl({Wo#`l5;h3KwEDLj5+H4MYGHM3a&l~OY;b3Ib#rZLd2MWOb#iugV=Xu{ TFg6+t3JM7R?9Q@`tlZxP;ROpx diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_77.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_77.json index 6816be7a41..e492104e5a 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_77.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_77.json @@ -1,55 +1,51 @@ { "actions": [ { - "positionClose": { - "positionId": { - "inner": "0TnfxI7CGKn5gfgQ0JXS3JZpFlV5bzgl7/x3UFCsSJs=" + "ibcRelayAction": { + "rawAction": { + "typeUrl": "/ibc.core.channel.v1.MsgRecvPacket", + "value": "CrIBCIbCtEsSC2RlZmF1bHRQb3J0GgljaGFubmVsLTAiC2RlZmF1bHRQb3J0KgljaGFubmVsLTAyZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6CwjK/r9iEJi06r4CQOiJsrvJu7aIGBICCgAaCwjK/r9iEJi06r4CIo8BcGVudW1icmExcGhuZDR0cW10dDZqYXZ4MzVqd3ZleHlwdWh1cHUzcHdycGp4NGV1OHFsZ2Q3Z3hlM3EwYTl5dDg1NTNqMnBldmo2ZTJyeWVjbTJqcXlmMm04NHc4NGxoc2ozcTZhOGgwazVla2xoNXZkcHQ0Zm5zZnZ4MHdmcjRqd2N1N2cyMmV6dHY3eWU=" } } }, { - "delegatorVote": { - "proposal": "219774875", - "vote": { - "vote": "VOTE_ABSTAIN" - }, - "stakedNote": { - "value": { - "amount": { - "lo": "48413405796385235" - }, - "assetId": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - } + "actionDutchAuctionEnd": { + "auctionId": { + "inner": "sRxMsUvvHGiShxUteMJF1TEEbpucHAK5NRgnXmCLndI=" + } + } + }, + { + "positionWithdraw": { + "reserves": { + "r1": { + "lo": "966399753330479476" }, - "rseed": "4o634/VgVEcnBb8npFHlZ4xxjn3s0K9kVyIANOukvN0=", - "address": { - "inner": "BImkeWiAY2DTqTGtuzT/wgxukmKACkIJr5Zb06tPcP2ATTU5KKIV2LO3zDOEhbnzEbKz79x574YVDtF/St00msjaO9F++Tvy4DcyVj2U8sk=" + "r2": { + "lo": "763606050867868230" } }, - "unbondedAmount": { - "lo": "144640427210658826" + "positionId": { + "inner": "X5hUCkVTYN9tyKDkj3uAz4SE+AtNg8nY43p6W6BFAkA=" + }, + "pair": { + "asset1": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + }, + "asset2": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } }, - "randomizer": "FpZS2fYJpfAHHJGpOODkDBgoDs6g8rpZSl3oV0cgbQA=", - "proofBlindingR": "zYlMbjO2q1Mr7rDoMvwqdXk3xWvwsOsrA/P2M1Sg1Qs=", - "proofBlindingS": "jL/R9f247Ou26VsDj2uVIbJp/MavTSNr8ujVtXluDA4=" - } - }, - { - "ibcRelayAction": { - "rawAction": { - "typeUrl": "/ibc.core.channel.v1.MsgRecvPacket", - "value": "CrMBCJPpp84CEgtkZWZhdWx0UG9ydBoJY2hhbm5lbC0wIgtkZWZhdWx0UG9ydCoJY2hhbm5lbC0wMmQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOgsI1s35nwMQ0ubaDUCI0qjLr7XqgRgSAgoAGgsI1s35nwMQ0ubaDSKPAXBlbnVtYnJhMXhndGhoZDd3bHVsZWhldThsY2p4cDNteHl3NTJtY3RmaDB6c3JjbmY5djg4YXpneXc2MGh0OGcyOXY3NTg2ZGNxcmQ4bWpyOWVuOWtxNXY0eWdrMmpsaGpzZm01ZTk2eXVwYWg0eXkyenkzOW43aG5maGRrcWR0MjBlbWVocjJ4OGE0Y3Rt" - } + "sequence": "1" } } ], "transactionParameters": { - "expiryHeight": "56065610", - "chainId": "hsqij-607766745030415793088514", + "expiryHeight": "6703689706", + "chainId": "qsxey-672714308923798838238291", "fee": { "amount": { - "lo": "106546346302802358" + "lo": "24921229179695470" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_77.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_77.proto index 4406308476963e7138ceed985ba4971bc34d0f70..ac4e357afb2375c67fbfde5176d815bd89872290 100644 GIT binary patch delta 395 zcmbQj_Jf6stBtvfv5A@MKhxxRMpdpGOkA57Iob|w@t)kzIJ5rLzx_!9Gq$|i$K>#$ zbJOmVySH^n2r+RnNO5x@q?Gy@3sUn+bCZe^4GS{zQcOw;b4yChvJ%TGj7_u3%Tg;U z3raIe3rdX(%8LrJDoj#KEedneQ_RyVQjH4@5-lrBEKE&}vy2K-%d*T;jfyH$lXH!- z3M)OKo_mR_ zkFklVi;+u$i;LsSqUDE9zPq}GSBQ(_*ps7^TEA*-Kf@&iG$npU2$ySc!u{M63!d~> zH=J*2`N8emeDcQQs;cM(u1pS69$XW>R3>^Un=3F18FRe4f8vjXkX&JLMQWw4nYod< kp^349g{6_Pxuu1Lv4s&3SsF@lb8&LKd-P|?-0h2W07-F`Pyhe` delta 594 zcmV-Y0A?9i`dS0Vs3>!iHh8d3^S1c{`1XnJ(Tjv zG71QasI{QHwtx440y-cTmQvaF38nA{9FeIw;N%P#C=Sk`^14|{UFcUwAZ-9bAkB$P zZZo#4Q!DPU=ra5&b$K_%Yw)n^D+BZPGgP3}3rZl2ztQ#mxa{k;>01MjYn36gY5c~o zO(Sda=+(7(ZVV0zhXaZMg98eH0}3K9X<}n8V{dY0E|C@)3)un+vjGT`>8H*DkvW-v z*3J2!0}#^Y+6_R6(x}U?wd#Qw5&{YU8Vd;4&H0}L5Ypz_4I+;LaAj_FZDMj^F?eTm zXlP_NcWiZRWoTt}IBa8TcyKdqczJgab8=&DW;u2^IAMBcd3QE2XmmJd zGC6iPH8?h8V{vk1IBjZjIc07+YjHJgb~JfsYcgtVXliq2Z8c>%HhFb$VQ4gYc`|x= zGdXTIXl`a`WNUF`bTTkyZDnY3GI%&)G-Gsa5;F+O{M{N79%yrMX=*JtFgG_gHa9di gFf%YTF*P?iGcY(fH8C_A3Px# diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_78.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_78.json index 5cabaf168b..2e0320c7d7 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_78.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_78.json @@ -1,58 +1,50 @@ { "actions": [ { - "positionWithdraw": { - "reserves": { - "r1": { - "lo": "2998218174805594" - }, - "r2": { - "lo": "845753515854215497" - } - }, - "positionId": { - "inner": "8SwMXaaQfgZY1TqjWVvmoyiTBf1feslEQnON5w0MXU0=" - }, - "pair": { - "asset1": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - }, - "asset2": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - } + "proposalDepositClaim": { + "proposal": "473766891", + "depositAmount": { + "lo": "297957986956764967" }, - "sequence": "1" + "outcome": { + "passed": {} + } } }, { - "undelegateClaim": { - "validatorIdentity": { - "ik": "Jju1bsKrn1c3KZ5zTDkwVUV3Kv17d38XILrahr96DBE=" - }, - "penalty": { - "inner": "AAAAAAAAAAAAAAAAAAAAAP8uSOinHeaa1Cw8nuy/sVw=" - }, - "unbondingAmount": { - "lo": "759098308161705917" + "communityPoolOutput": { + "value": { + "amount": { + "lo": "424215752283475438" + }, + "assetId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } }, - "balanceBlinding": "QiSS6nxQhaoO/ftU9SGxw8+ayxH4oVmPAXm7Hrm2kgA=", - "proofBlindingR": "hqzYh0tnWa2FeKak2C2wLuoLbHpZnAhjSQ8rWeSeSQ4=", - "proofBlindingS": "C+Ja+Ck10/HhIonYhk9fQeMp3Fi8XS812VqXMHyDeAI=", - "unbondingStartHeight": "96027" + "address": { + "inner": "aSij68KSXafDXmgTHZGpIX/zs44rB56aBAnoaynqSijGgSABDcZP25+TwHNp8wKBv3a6CddpWe1l2m6+PreYbYlO2nglVP4kx2S7F5L8vZc=" + } } }, { - "proposalWithdraw": { - "proposal": "987713522" + "communityPoolSpend": { + "value": { + "amount": { + "lo": "243485784561771789" + }, + "assetId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } + } } } ], "transactionParameters": { - "expiryHeight": "1539522175", - "chainId": "xrzalo-7580521163329717690", + "expiryHeight": "2886812000", + "chainId": "oeipxhgcudkphtmxjwacqy-8106", "fee": { "amount": { - "lo": "4513131285468227" + "lo": "254426681358060609" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_78.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_78.proto index 344b8db0d0e23688e8f168930a60bda1bb724245..cabd04fc8ae204ea786b384250d09241556dd4f7 100644 GIT binary patch delta 215 zcmV;|04V>F1CjzT3K_Bi76|LN^x**#3J9mpv6SBCqmcv}0tx^MiUFDfh5-sN3JM7B zo9(x%zsKg6KX(*%X!jfI5!(M0;9g(RafAh1BD+ivM1PSPCDe6in#(^LK z4aQH~pOe6IY4ZYszjnF_*J)YpW!i4OKDU@{iB8&hB~<<-$7H(~lKj1w3N?}gG72yX z3J8tLrG@{X!mtC8Y9uofF$my-#o!7O8*gQ4aCm5EV|8R}aA{jykZ|qgHYFUt-saf_2LSN;t^B=s$oC_|MfgxESG&Y>xz!eyf^zd z#%OVI>|KB1&#ph)j&K<%IH^o}RTI#T%*od^ lH?=S@H8M0bGd4D|G&eLivow(628Q0@6%ScwY?<1`0RXkchDHDY diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_79.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_79.json index 472d2a88c7..e4fcb060f5 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_79.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_79.json @@ -1,51 +1,34 @@ { "actions": [ { - "spend": { - "note": { - "value": { - "amount": { - "lo": "741942250909992008" - }, - "assetId": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - } - }, - "rseed": "MKC79HQuMnIG69WPEVcxsc2SNdhJCxpSfwaPe8XmDtg=", - "address": { - "inner": "r7ae/+8Q9d3QdaAs66/GAAbYBo/Am59nYWeIBU7REchE3LYtFPa1EHW2Lo1KZcRWuXzO/cM54CLSFnv2iArQnxjrlJnTB4nGnuLdFtCY9vc=" - } - }, - "position": "3153097213350", - "randomizer": "TluySK6eCnjgXHZcQqXwAhHa8ThZlhUKvlt3iq5vCgQ=", - "valueBlinding": "ydxiq5VRBvEsAtv4ZF6qolgd16z799IB5QgUHQ0wJwE=", - "proofBlindingR": "MFrM2W9DP5ale25K9Pshq9Wg3wsP1/u2zDjs4dtXLhA=", - "proofBlindingS": "OkfgIGXDx18gPSwX8+HE2bYrJFyLOyDZWf1eKb03Rws=" + "proposalWithdraw": { + "proposal": "143473475" } }, { - "validatorDefinition": { - "validator": { - "identityKey": { - "ik": "0Lltz3Ro1wrqNPAk+yNfRZrnm7Nopf9qtH/DEvN5jgk=" - }, - "consensusKey": "bbJnyuqiepIKj5/QX7K38q7+A4Pe4sSIdCkNTcMm6kE=", - "name": "test validator", - "enabled": true, - "governanceKey": { - "gk": "0Lltz3Ro1wrqNPAk+yNfRZrnm7Nopf9qtH/DEvN5jgk=" - } + "undelegateClaim": { + "validatorIdentity": { + "ik": "BrvfJm59aRbU93ppCpq78eJbMH6KGpCsF93ymLInL2w=" + }, + "penalty": { + "inner": "AAAAAAAAAAAAAAAAAAAAAP5CWu5jH4oJAt4A0bcXWOM=" + }, + "unbondingAmount": { + "lo": "770780859579777782" }, - "authSig": "cAniQrp2/FNRKNJ6FyoStqePVpCW1OdZ1vMd/ZVW8gI+pp2Evp0i2bHvnnbmMVZHskBc3gyE5abVgPrWJiJfAw==" + "balanceBlinding": "tj5u+kokyvdJ+voQ9vlE7xynkDeEYFMwbV+dqAh8JAA=", + "proofBlindingR": "azSoQt/V7lYceQL3tkmJBCk/779lSgvPL1VCGG9tsAY=", + "proofBlindingS": "97EkAyM9e4/TP3TlpwW60fA5GfAmQPdXU/5L4L5ykBI=", + "unbondingStartHeight": "70975" } } ], "transactionParameters": { - "expiryHeight": "5317316281", - "chainId": "nxrebnjwsecknwqbgo-5583319941", + "expiryHeight": "2841314202", + "chainId": "joswvrkohbpzjiukfzfikhelu-89430285379435867711", "fee": { "amount": { - "lo": "860494276525678602" + "lo": "779937915757833540" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_79.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_79.proto index 139ca0bbb7c7cdb941319fd95bbaa91bce8963df..4670939b2ed1635c8b416cc7b655215d0340aaa9 100644 GIT binary patch literal 277 zcmd<$n8nD-aroO77p_B$mzef3aw%~su#mC*EG0jvIeZTf{^$K*U(p01kNvAygj_gg zwZA#VC8U>?UtC^Rl%1cER8Wbn;RNR T@o;f*9J%%C&$~4{UvdEeSQTw} literal 572 zcmd-Y`f9&mxZ%dLlT2@Ta!Uo(v-MXWea3e~Du^p! z{kD1k-wS-bd!clJ&g=EZ7}##G^&gl$KRq$MgVpb%;0c#I+jK>~Z51fprq}D0dL(RT z&AGpaEgvXd6082!!F6H2#OoCh*o7J2z6&ht{yOtfw3LEh^d^sW^SCM= z#FWK2E&aeGc+-o+loU?hNm@NMknN)m)9oKAajOy^m| zmEX$ouCt!c-kh=Yf7X`z!$O}c`#6OZayO-)dbOx(5?BBH3-Oz_e_HpCx%u9sBON80 zyuOFkUO7tfm82GzD3m4UWTqsRAb)YQkuf_ld*anZlo1bT4XNUz((Gkc*+_o(g z_O%dowl0lIWyDswe9ryDIp8AF7JK%H3ecYz>y(+(2Z_d>;@uX|nD+M&@YRy?`^6?2 zAb(2W*E+Tdp+fkB+JonLl{ON9w96GdMVa<~D%6#xgaaZV?Sx{8A<>!`wAo++62?oe zWtvDLNWlb&-?KckfJ>|aDj<$B(dsHh>gu*Afod3{H2R*}%#^v8m!O%f%k%C!rvx$} znsYF&+h?$Zfh%!hFx22dl0*CR77|n~U`M@tO_B(y3=%#FufY17BoZifW_n?IYIkKV wH#amgGBGtYH8(OdIX5#fH8D0hI50FbI5RmhGBz<93a~Y5wRg4SmtJXnup#~Nl!KZL^`EAFT>3@eo*Y*nV-r&s zBbNjh7stPcJJ(%U(fN~2h>PRw@xEC->-Ie75CR%v_QSM(-kphWFD7Ngr|z6_enX!! z=Vg8-#h}9)DsnY%45d6kR%yPPqiE*2*a~|*9$_#W+@0=IMPfWaVj|pUqLQBt!C(4D9P7jvP%hC@Qy{)wE zQjxas%(<)Vzg*v4rbkr=buxD`wlZ@yF>@*DXC@`Lq6+=H;d4=#?4j`4*=K zr6!jJBqnF4mI&Qu;@ZN&A7&x$l+?7u(wvfj{Gt*mPN)`L10`f}ErhsH3IiR0 z6%WVDiL2)@3T$89dXmZELD$u`Ia^;fN(eD=F-W1vDfKfJq~?|8CKV+bmKT~;q?wkN zC6=Y-8mDJl6jx=Z6lA4a79>{WrKFhVRVJtAWLp*)=M|)7SDBfnBqkS?7?l@WRGOER zm?vkaRA%HB6k3>96q^~B8)c^&n3a|$o1|1#rB#+B=2+&KmX}vplxADxmK0W0W*1nR zB$|}vRb^*on;KPS=T%vnXO-lZr4|awa$MQ{W|@i*d$z8zxq+pj6b~@nK3Fs7?(>Gm G9UK6-g$AAg diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_80.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_80.json index 204b22706f..8287147ebb 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_80.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_80.json @@ -1,80 +1,83 @@ { "actions": [ { - "output": { - "value": { - "amount": { - "lo": "872353388605936813" - }, - "assetId": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - } + "actionDutchAuctionEnd": { + "auctionId": { + "inner": "pCgKnOZbMORged5W70auyE17JH7DA5gbmORha8muKoc=" + } + } + }, + { + "undelegate": { + "validatorIdentity": { + "ik": "7OHCsFEeEmP8iKu/3DDla3ROTLs714PnPI7e0kVkom4=" + }, + "unbondedAmount": { + "lo": "447142506212449079" }, - "destAddress": { - "inner": "N7GNC86a6prrIXkn5AlbDKF9zujjlk/tLZRMSwM/KeVOpukSgvZOD4cTsCzDuyqWNyr6DtsjYmOEhfxvQEyaPTQhuohDn0oaVpo2SKCF2R0=" + "delegationAmount": { + "lo": "77350670252463581" }, - "rseed": "9lsCRdtWMmN+SqxBSsnCeFWZ3l+uUv6MxI2uhLxDx60=", - "valueBlinding": "qvTC66uqZnmGi/BdUK7UIVU3Og2Avoz3DX9xpAj/LAA=", - "proofBlindingR": "sq5+HW+orNM6UpfYl1dLgSVN4CEyZcLYVQ/j5b2nKgc=", - "proofBlindingS": "5BKKn/W42UqnFE6ocG7t16C2qxG+iIek3dl9CaygvAM=" + "fromEpoch": { + "index": "9386", + "startHeight": "9386" + } } }, { - "communityPoolOutput": { - "value": { - "amount": { - "lo": "9042568700646019" - }, - "assetId": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - } + "undelegateClaim": { + "validatorIdentity": { + "ik": "HF895md5tVV1ZxKva+s/AQKVCF0PaHTcUnywylHU1rs=" }, - "address": { - "inner": "50rlXWNqMjjdb5B8YJgEiasgRlQMVVK9JLQNLR1F0ZnC5RUp44LFVIi1lHP5I6keBup/n+KhPuC4xzo+Gu/faF4yJG1DJ/3eMCUd3E3bZe8=" - } + "penalty": { + "inner": "AAAAAAAAAAAAAAAAAAAAAP7FbVz6rNnoPkJa7mMfigo=" + }, + "unbondingAmount": { + "lo": "813031490948101521" + }, + "balanceBlinding": "mniP++R9tytyudOh5+dPvDuyUt90SX/butNhCX1ryQM=", + "proofBlindingR": "K/3vpEdSQ1F6Chf7dP6vYox6uMy+GSECanBhrdBSjgc=", + "proofBlindingS": "dKGrB6juQAbxGBmzwJ1Hz7iPFXCYSkmB9vTlgVVsAg8=", + "unbondingStartHeight": "98966" } }, { - "spend": { - "note": { - "value": { - "amount": { - "lo": "467729617406261529" + "swap": { + "swapPlaintext": { + "tradingPair": { + "asset1": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" }, - "assetId": { + "asset2": { "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" } }, - "rseed": "lNj3yZ16Z21Abf2jaLwTBUqfTVc1gxtICYewyUi3CFA=", - "address": { - "inner": "r7ae/+8Q9d3QdaAs66/GAAbYBo/Am59nYWeIBU7REchE3LYtFPa1EHW2Lo1KZcRWuXzO/cM54CLSFnv2iArQnxjrlJnTB4nGnuLdFtCY9vc=" - } - }, - "position": "149646304680516", - "randomizer": "eLB08pfPU9pekgtj83Jhb5EcoqmDMxWCladOH82fCgE=", - "valueBlinding": "j6SWICpcJg9WyODRnVF3kSPhClcWMzafe9jl0HMB8AE=", - "proofBlindingR": "RqFNwTNoxM9tZm55DIDYLozBU9djKexySVcKy6cAAQI=", - "proofBlindingS": "JhzzraSCeOGfcI/K6wM9Co0SGT+9EbcD6qtWHdRGcQM=" - } - }, - { - "proposalDepositClaim": { - "proposal": "135253180", - "depositAmount": { - "lo": "906710236242005452" + "delta1I": { + "lo": "234348767237035264" + }, + "delta2I": { + "lo": "407405854945919965" + }, + "claimFee": { + "amount": {} + }, + "claimAddress": { + "inner": "I4rSSghbaTxx/moafji7HUfgwEj9Y9b5e210/k6ervBcezAWMByaeQQ50bx9EY4lMaHnQw+tFjDHFnJEm6ZhO8CYl+v8l1qAwwGRSUK5CeQ=" + }, + "rseed": "RL1vn7/pJ2DA0oTA5/JSb2t3Gu3SyTN5uj+yW2J47X0=" }, - "outcome": { - "slashed": {} - } + "feeBlinding": "LT0Jx8X/3qlL5YF8xiCNP8y80zvaAlwGlk1xj8kfdgM=", + "proofBlindingR": "6BReJHtJbNyedguIVDt5o6m+Qm4ncAD2Xmkza09knw0=", + "proofBlindingS": "CEXS0uqJ4+9oSueAfCyDlvpjaA61bSgdQny0QvHGZA8=" } } ], "transactionParameters": { - "expiryHeight": "2630276573", - "chainId": "mfhcbnrradbbkmfnvntozpuxjvqyenb-0", + "expiryHeight": "5741302660", + "chainId": "k-679633", "fee": { "amount": { - "lo": "301746821577816735" + "lo": "488890524685258398" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_80.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_80.proto index 4949e8229dea7837eb7058471975c8d4dc29e24e..4d1bd51f303c85d2ffc0448248107ea1b3ff6b9b 100644 GIT binary patch delta 620 zcmV-y0+ao;2BHOj3MaAyBnl!5AfzY?oaS3Fu5@Y;`tH0bZXiV7+U z2$Acn$<_Luqzf`2ns|@<`QjP~gAatRt2dM5q2Jsjfv%sB4&$y2jaF|L- zf%f#}fmLh*4@j1U1`5am8pQ$%+yM$m3X>@TB$FutB!3DBfU4Vt<=&*A0~!hl-G|-# z_O98}1tJ0p04h=nP$P=cN(ftNJaPVN8h$vt9Y^56Nd05h`Fm}2{!X5*@LYQ^7BC!| zc?3DpynPXlB{8ArLl3PMFvk{hM4P5zJHVKi>-?8mfWrZiNkX{^Fkt=_g>o z(uBb0@_$lqYj+y$(#bPvM%Tn3g+ zagWI#b^{t9=oDTgdr55Eo^}g}R6BX2slGyPCvX7vUTHIHPh_7BA|MDw($eaQVZXb!b)C>=t4v_kR5WDgP^2!yBAu^AN-2x~1iH#s&lGa3vE3J9K^tmhk3 zFk_YHq>qzL~k04gA|u6`YFsI1dEQkU45S4)8< zP2eFiWy081598&%rz!_BAmkE?pY^!eN~aV~sBmuW*Pynm5x$6rq}|zl39O*J0}6=& zngfLa3NH!?2!o}Gy0L|b5E3E^ASvpcFEerWq=)C}lXU?We^Lri=St;WV`?%u-EWY5 zV3-7ns~|>H3{_ISB(x1J9YxWZ!sQhym| zUNR(YLnr;-FeM$_P1|Mf3cdmgy8;TR0SYh*3J96YOh#arUH# z=jmJ|a6$B=lY0RWe;}0D_sN}lXKg@j{iA5S69r12O;Dd-4@W8_V*CPwAA*agCZIre|WHT@|Vw3+Fp_iWAk!h zZ;>3Lse>~Wf|aLEAI+Z%0U{ueq?RBmTqX}z$l%ePQFoCe;R;t4Gd7=l*yYf30q_AT zAV#50!82&Y&uwOIc?^KqE{wrb*JCN{a!FST%clSV0x}>b9P_QDf_UMdaF5FC13e0j z5*a_e5w`>CTB}wa)JAaw3K+5h6$reUzd#ZS2+W(Q%l?GY$_yF;8UPYE2;Hlj<_QuZ yZDwd=Vs3JBVPs-rYi(w3c5ZZUdT@1kYIbpXWo}|EFd7UB3J9O|{(-BcftUmx(pgae diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_81.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_81.json index 5f38e0182d..7cc6b4ba8b 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_81.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_81.json @@ -1,84 +1,75 @@ { "actions": [ { - "actionDutchAuctionSchedule": { - "description": { - "input": { - "amount": { - "lo": "866057145206772136" - }, - "assetId": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - } - }, - "outputId": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - }, - "maxOutput": { - "lo": "728264069192255875" - }, - "minOutput": { - "lo": "352889948047822001" - }, - "startHeight": "207150342", - "endHeight": "207150343", - "stepCount": "233025820", - "nonce": "dloXm1hu1p/ExePex2v+Knavrbm60wEEk8MLc9rk0LU=" - } - } - }, - { - "proposalSubmit": { - "proposal": { - "title": "theut-162893241955770259991974836794", - "description": "nvxo-57672545158305695", - "signaling": {} + "delegate": { + "validatorIdentity": { + "ik": "NcpmU7NIys/8kSmkqy4MgaHGvfx5z6CDzsvKqx8TmJc=" }, - "depositAmount": { - "lo": "761417310908880861" + "epochIndex": "9048", + "unbondedAmount": { + "lo": "54833717284945011" + }, + "delegationAmount": { + "lo": "303586493067683645" } } }, { - "delegatorVote": { - "proposal": "490562726", - "vote": { - "vote": "VOTE_NO" - }, - "stakedNote": { - "value": { - "amount": { - "lo": "446527137531743521" + "positionOpen": { + "position": { + "phi": { + "component": { + "p": { + "lo": "675170173331687906" + }, + "q": { + "lo": "939236481142618207" + } }, - "assetId": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + "pair": { + "asset1": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + }, + "asset2": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } } }, - "rseed": "IeVKOa1EJcUIRXkQxylHKKOkPS5mcIacrz6uP1GSv7Y=", - "address": { - "inner": "UPHTLAIgBgEez2HJMN0XIEvdCyUp/BtfwCfvAnQ8c3v4OZcL7rLVvZTwe/klOp9dvFKz/mczUMizgZ2fGZnYd2AdY11us+xtA1YeHVS0Fi0=" - } - }, - "unbondedAmount": { - "lo": "611088850376005686" - }, - "randomizer": "VRiJtS60c0/hKtKkGQA2B+Aroq6nkr08oiOK+16/lAM=", - "proofBlindingR": "pR94MukURg6EGO1wNDFfiBVvGkliCZB+oCdq4gDKZAU=", - "proofBlindingS": "WVNuh1Q90f2PO6yEVahvvYGaqnOcfwOKsVYKx2uUSgg=" + "nonce": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "state": { + "state": "POSITION_STATE_ENUM_OPENED" + }, + "reserves": { + "r1": { + "lo": "502668342247473787" + }, + "r2": { + "lo": "463873293727350536" + } + }, + "closeOnFill": true + } } }, { - "proposalWithdraw": { - "proposal": "983657671" + "communityPoolSpend": { + "value": { + "amount": { + "lo": "602694808633890263" + }, + "assetId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } + } } } ], "transactionParameters": { - "expiryHeight": "5106375199", - "chainId": "rizs-1480153245754187", + "expiryHeight": "6562791567", + "chainId": "fyndyxgzguqudqlexrdjbikfoom-001716125115916962125282722", "fee": { "amount": { - "lo": "765467974827571069" + "lo": "343345086133969757" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_81.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_81.proto index 3072db705a92e27f1312aab6044671692793c517..207e439f4360e5769c4226290dda61c7438b278f 100644 GIT binary patch delta 289 zcmaFF@|!7#%kdDC9hVZ9g6XNW;LRSV&i|RHxn#8-PvgR4d;e6PU(kH+^r_YI!ZW4| z+;EfP`%{)*-rB+|66@t#YW40s{dc#l*p=B*DeS@w?^s?ODgZ{$T?e z+wpJF>l-HD!9J-;gQ4N&#dE^EXSzo=gZOGxN)b1ka=2VUP@&} zdR2O9VQETXPHII_N>);4c3OUZuC9TBp}C=%p^>Sfp{b>znWdQ#kZojPWNu_6#RD|* O?y(7*r(OK~kOcr1Y-bYy delta 519 zcmV+i0{H#=0^$T13Z?<71EK*6p8*Om3JM6QqxAWx%(j9Ik&h*jkRyK@3J8Ofir4>% z)Qt)v3J9^8$?==yz#Kq&@$7}v7cCW3u zy3+v!lfw&h+T_r+3Q>{)P6|K@By?zHb#yH;HZnLlGcq(WIW;vmH!w0aIXO8oIX5&o zGd4FlG!hnWc6e_sH8(#tH!?LeH8C|fGcYwaIW;N(8VU&Aue!9UpvK4w3abLD0jB~8 zrpfi`0U81b10tva3NQ)^2%(yrxsAe@nFf)MCVwI2N;$1WCB+Cuc@W1bM<}DDJuYT& zhMccHu0K(dzqT4u3Q$n-(<}lY1_2(=VaYJv7a&XB3neN18(+XD?*eo@b9?wXmkaK) z)xDJPd-)|gpIy9Cv;Jo@P{^}^ou3(**mqzZV_j~u>}>;99vxJ)7A-Og2)3~F=B2{H zy?+QgAXONNwJx-CPvI)kq!|D<2jDBBuBVc{Jfb6t`(D44141CBA9yn96h;n&80~O0 zF<*!kZyHHr36OrECu-sV%47vfAX!sxhg3b${f|4WgjJ|-y@8slbDVzzim_G-$7_^I z2nq?B0R{-i*@e{u5-SLwwDf`#5*2c3dLVNxF*GtG( Jw3MRX&kDzW&%*!! diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_82.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_82.json index 18a980a110..40e985c9e3 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_82.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_82.json @@ -1,148 +1,43 @@ { "actions": [ { - "positionWithdraw": { - "reserves": { - "r1": { - "lo": "762907374183046680" - }, - "r2": { - "lo": "857702320436833752" - } - }, - "positionId": { - "inner": "JmXQVbLL5/rIZdmuTL2Sm35ZE9cka2/6IEVEi4YuyDM=" - }, - "pair": { - "asset1": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - }, - "asset2": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - } - }, - "sequence": "1" - } - }, - { - "positionOpen": { - "position": { - "phi": { - "component": { - "p": { - "lo": "27814592735501" - }, - "q": { - "lo": "115285439836814651" - } - }, - "pair": { - "asset1": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - }, - "asset2": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - } - } - }, - "nonce": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", - "state": { - "state": "POSITION_STATE_ENUM_CLOSED" - }, - "reserves": { - "r1": { - "lo": "159083462327874188" - }, - "r2": { - "lo": "53019172107422243" - } - }, - "closeOnFill": true + "actionDutchAuctionEnd": { + "auctionId": { + "inner": "vSkhhYwBqwjhtXiyKySb7J+rLbJqVPkrcI5iboH4UHs=" } } }, { - "undelegateClaim": { - "validatorIdentity": { - "ik": "8tbQoH3gl1pvrbNvjT+7bgRaGLCjChVUKCUW1JHn/ZY=" - }, - "penalty": { - "inner": "AAAAAAAAAAAAAAAAAAAAAP8G9pRGc4HX2/SH/Lkjop0=" - }, - "unbondingAmount": { - "lo": "740941795037630000" + "actionDutchAuctionWithdraw": { + "auctionId": { + "inner": "2JI926sniRZCNQYePICqxtSrJ0yCH/3r/x2dmrgVEoI=" }, - "balanceBlinding": "R/VRsWoWaOxx36QenThCEdoXTB78df8+v5T2ns+4egQ=", - "proofBlindingR": "6KCDruH51rwOAJ4Fj2QU9zKtiwjWGAH3th8VOWpuxA4=", - "proofBlindingS": "VIUVn7jQ2DD0ukAVj5meBiW8dDnmhCF/h57DbfATyQU=", - "unbondingStartHeight": "74025" - } - }, - { - "swapClaim": { - "swapPlaintext": { - "tradingPair": { - "asset1": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - }, - "asset2": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - } - }, - "delta1I": { - "lo": "605370148360838263" - }, - "delta2I": { - "lo": "416969962695394141" + "seq": "798238410", + "reservesInput": { + "amount": { + "lo": "219804310184902937" }, - "claimFee": { - "amount": {} - }, - "claimAddress": { - "inner": "mZ8ppy3taHr3RWwBa4plBcyD44mQ/adDvZZ3Y8btD96Iq1Um21e1K+O/jTN+kvJaDOQ1lmbFqhvIN3kFd1o9JmKfU7AL7ma9A2i3NQ5QmSU=" - }, - "rseed": "Gq6qXposAl+ylFP0pSTqOtCwesgolFKtvZpAAio5zvo=" + "assetId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } }, - "outputData": { - "delta1": { - "lo": "1142280962" + "reservesOutput": { + "amount": { + "lo": "767034455027239074" }, - "delta2": { - "lo": "913363600" - }, - "lambda1": { - "lo": "758" - }, - "lambda2": { - "lo": "299" - }, - "unfilled1": { - "lo": "621" - }, - "unfilled2": { - "lo": "1106" - }, - "tradingPair": { - "asset1": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - }, - "asset2": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - } + "assetId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" } - }, - "epochDuration": "1000", - "proofBlindingR": "Mt/Ul9RXZ55rgMA2L2zhZA6M2Iu/6Xytos68b5cokgo=", - "proofBlindingS": "WzFw5Lz0GE9am22Xwx7z5Qnmc7YJzc6+VmgkHBz5jhE=" + } } } ], "transactionParameters": { - "expiryHeight": "6512043763", - "chainId": "zxpknzcbhubhgkrkxlgggkl-34956985878210629", + "expiryHeight": "4440323029", + "chainId": "b-915831354005118702135340", "fee": { "amount": { - "lo": "676378964118199950" + "lo": "72430506364727270" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_82.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_82.proto index f84e16bd8d577fe1d6780491c9052811324a0891..7a707ace95d9949f39a9bbc0c48fb705d0736066 100644 GIT binary patch delta 184 zcmaFF{(&)*OMMfw3YQX>!d^|q)*i;y91pivY|>Vl{bv4Z-A!2`KeY?`lJXjV1XOcP zV%){t#|Tn-W0LLd)#{yMPNr;fHVvzeU0JQ}(wU<3f_4n*bv literal 994 zcmd<;V{BsTV&szG;^LUG=knF}Z8J}E32|}UxV>`e*Kemja|>oiw{HQuw+`cK$B~SC{TKy%WY#9$Y|Gny=>Q8y9|C(*FEqj7ovym&IW}n_si} z#cErhH_};|B>*yskQxO>t~HFG7*{ZIEoJ0N;t~_$;OM=ycKgAVY*JhtyMO&X`RVB zpRQe4Q2StdRQ}q{`MvhL^H`!JHZ0~64be~)yE5_l-)TxfHRzW8XZtqAt+?^}?Jww;5I6U2_<-yHZ)tG(YZ~@OQcM-f88@$KLYa z>sTGCb~}8l_T&A%#&wfEMe#f_otAcVmGlYoO4jlyTeYP5!5g^WrR`d_6b1 z_rI)JyXf4W{OKB#fN>mcSny=e7YYBU*}2mX%YA;z`K)*w=h<`n!ZK83WPbJu3fXgf zK0AG(gpg)cML~96RdP~BX;Madc2RakPI`KJc8;#GiKVHTrG=@5xrLFTftit|6b~@D O_U+x@ck|J{jhq0c_L>U- diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_83.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_83.json index f4bddd1e89..b16d994d7a 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_83.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_83.json @@ -4,63 +4,36 @@ "communityPoolOutput": { "value": { "amount": { - "lo": "583421664133655087" + "lo": "233239121287366481" }, "assetId": { "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" } }, "address": { - "inner": "xvDem21q64twopAVCkLaAi/5Pw72xNKfFo93dpOcADJ5RUJeirWLYVX8dmd8JE0iHK1mynLhYxOqp7WZ/0jJXG8osYrLoVULg8VwhJfNNH8=" + "inner": "5pyKiG9GOmdj1R+7uUK0xogu32WZehdZSdH3oPvU7BRJSl8cxW92N1iIXWULncdtsyBmzZjps07S4CDe2r8Wl9kc9uL7Ao+0NlkzcVH/FfU=" } } }, { - "undelegate": { - "validatorIdentity": { - "ik": "rTwIr57Z+TzTvbDVJ24HUFcJ7WutMUIp4EUDhwxQt2I=" + "proposalSubmit": { + "proposal": { + "title": "slmoicbwarrjduvwlszcecqv-873603", + "description": "kcy-85204757736789404739", + "signaling": {} }, - "unbondedAmount": { - "lo": "882852371013310612" - }, - "delegationAmount": { - "lo": "80180876037711740" - }, - "fromEpoch": { - "index": "3632", - "startHeight": "3632" - } - } - }, - { - "validatorVote": { - "body": { - "proposal": "737482718", - "vote": { - "vote": "VOTE_YES" - }, - "identityKey": { - "ik": "U/Pc1t1cOFmWbMi9X2cUNbY9u7VMwz1ZMiBBG5498aU=" - }, - "governanceKey": { - "gk": "truCGSfNBu6Yq9pojTHH/PlRb4uML1hF5ejpUZ/fqAc=" - }, - "reason": { - "reason": "3kiGnfqhr9xVO" - } - }, - "authSig": { - "inner": "ApVDYCRHX0+YQjA/82y2kzLNdCEgyxsoyoMy3xnHZQhuvmEa01BZwhZbncFYgqCZP0m5yn6jEYQoJqBM3mHtAg==" + "depositAmount": { + "lo": "226793985111579160" } } } ], "transactionParameters": { - "expiryHeight": "475967717", - "chainId": "huuxdjbhq-3", + "expiryHeight": "6962057625", + "chainId": "ocegnwkkpqwehfpmirirsxkrnpc-0181549246346809501680805277930", "fee": { "amount": { - "lo": "449393802929298074" + "lo": "737214071928375968" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_83.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_83.proto index ffd15bb15ebaed628305b08940474f7d2f22befb..d9f1f7c0c61cbb49fcdb5ca0325878ca0af29530 100644 GIT binary patch delta 274 zcmV+t0qy>&1F!-W3W@=m1BL+#FbWC?(T=;|>$j+$1CbRdf99Nuh;K$ZXJgeLySYNN z#)vN8Wtn;xSxM3Np!?M96iG^79K~;TH&}>WWec6hZL=U|&6w%4PSW5Y-rBzwm)RWl z;`;)Rv^H5YaZ&#j^$Jds0ZR%!3LkT9ZEtB~Vs~M3a%yCCc6V%ZdShi{ads^@H#0Uc zGZGkUV|gt&bTu+CG&eOjH#0UjI5{*hG&eIjDgYV^2$-~$zS#Zlk^>S^2$`ee_Zbp9 zZ)0U=Zg*>IaB+8KXl8J2X>w_Db9ifVZg68QFflkWH8eRgG&VCdHaIXjH83$YI50Rc YH8M9hIWsUC3QpUW&DgVO9KgXM7}0A{?z|%5vdj6RM}Rng2-1TyH3` zip!x@3xmaQgqO`Ue+oy+0z?WT3LvdK2(O;m`8?CTu+=AS2T)fD?Q5+uLMh-y1BVPy zw_+L!2$Zq#f7;x!p`Z*R3JCnphtSW0w~hfS1_-bm5U?BytpTC|sR0UO2;Q&M-vSZ> z2m%@+3LsPS+}7P(I9Zl#$h}`@6g9RzyR}TiJy|j!K^vYu@uean3Lv(-f*B{x2JV=v z+Gve2$Nc$GZ;OmCSViUN=~18Gs0S(!3Jo)BX-95mZgFUGIe1o25<&_<0+mBxBu8IQ zm_jf=^K7=0GR<@$Aj=yl%7ZfB8OLP^ZoXj}(@0}ZL2;H)kskhd*mkAmI5&#N9!U8`EA_^cZ;_@($ zwChpb?}_s_Ms^>2#XV~K3D^u7eI|1g&j&15%`l$aT|Q+jt98d3^SueP55?-2Ff&~>0J>#xQD z2G|CVz?+|EVP}X1PSFv_MBKJ56!x_cb+#^zN@c`WxqQz3!#Ut0(iVI6hzii380(ao z(+7#hp5omW(3tl35T~n&(Z{788X$k;ava8*&M-s78ErDW-)U;f_6S*Sx&J`fa2aJf z!=eBpAoIbfa*}gdJ*!zTu6A_-r^3Ol9ejVs#Sq-322S&J04g9mp?Al|R=}~oTYWcL z=Z!?G<$orlpWQ_jkt_oH%Vi5PAV;3VIyK%>6QtfAP>GbL=c-$bd^MXhQ!dr~u z^92$=2=U;)$s!UdV|Zh2YHNCRc4TH_ZFz5NZDDI~Vs2z&ZE|*IWGy%~GB7bSF*P?e SG#U&F3JCI|z3`!i{mBKnee+=e delta 373 zcmV-*0gC>q1djw03N@kwG72yX3J9Wzz2oq}viS;;z9b9^mjfb{0}9*$3P=i(za){r zB!3DBy`9*Rp1{1w2^tCr^!vEp@UQQY1R??o04h=nP_FuVygQWYh-kGc4=-cIXO5qF*7+bFgQ0eF*7hU TIT{QK3J8XY?*`iD=Hc%Mlx>|{ diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_85.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_85.json index 35989b3fd4..96e7d90c03 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_85.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_85.json @@ -1,91 +1,46 @@ { "actions": [ { - "spend": { - "note": { - "value": { - "amount": { - "lo": "203301810526886454" - }, - "assetId": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - } - }, - "rseed": "3BWggX7qSmlBVBYK8+nlsRKU7G2tE0aPkhGelDMM9Sk=", - "address": { - "inner": "r7ae/+8Q9d3QdaAs66/GAAbYBo/Am59nYWeIBU7REchE3LYtFPa1EHW2Lo1KZcRWuXzO/cM54CLSFnv2iArQnxjrlJnTB4nGnuLdFtCY9vc=" - } - }, - "position": "72255383410988", - "randomizer": "bUZ9uB6tW1z08EFheIHB0PSNPydWR8VopA/K/j3ILgA=", - "valueBlinding": "ZzBa2nPi1fiPoJ37X4QR3eieFVJ0sZm/ki8zIEZ6qwE=", - "proofBlindingR": "pyr+IoLU7zT6QN3lMsi58xncRIgEviLCpcM0UAdfggE=", - "proofBlindingS": "eQcuOPjAzk1dkHIfTDdRDbl1n26S/sJoMfQYZ0dTuwo=" - } - }, - { - "proposalSubmit": { - "proposal": { - "title": "hjbjqygjl-98", - "description": "juz-348394101143295059179118292876", - "signaling": {} - }, - "depositAmount": { - "lo": "152837047373892485" + "ibcRelayAction": { + "rawAction": { + "typeUrl": "/ibc.core.channel.v1.MsgRecvPacket", + "value": "CrMBCMLhwcICEgtkZWZhdWx0UG9ydBoJY2hhbm5lbC0wIgtkZWZhdWx0UG9ydCoJY2hhbm5lbC0wMmQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOgsIivjdMBCjuKysAUCwrdWHy7u2iBgSAgoAGgsIivjdMBCjuKysASKPAXBlbnVtYnJhMTVkM2Nxc2toenFobHN2c2wyNHhjdGQwZm5yZzhud2NqY3k3dmt4N2plcXM0MGx0bXYzNzhoN2xudDR5d2U5cG5xbXp6aHZxdDh5MDN0ajN5djh3N213MGFmN244Y3Y1Mjd1NHAycnJrdXc0NWcwbmU4bjBoZ2E5OHA1M2x0ZTVrdWF0ZjJh" } } }, { - "undelegate": { - "validatorIdentity": { - "ik": "EX8kLxnOoTFua2tHaqS6uRhQJrTAmdNHsmzXmSpNDU4=" - }, - "unbondedAmount": { - "lo": "113615227989028917" - }, - "delegationAmount": { - "lo": "250470485827666799" - }, - "fromEpoch": { - "index": "5805", - "startHeight": "5805" + "actionDutchAuctionEnd": { + "auctionId": { + "inner": "OpAFH87m9VIRibODOoCnWC6KbofaAYUHTmMq6VuGFUo=" } } }, { - "actionDutchAuctionSchedule": { - "description": { - "input": { - "amount": { - "lo": "997497672153199471" - }, - "assetId": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - } + "output": { + "value": { + "amount": { + "lo": "969023059420658370" }, - "outputId": { + "assetId": { "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - }, - "maxOutput": { - "lo": "320075980528598439" - }, - "minOutput": { - "lo": "98952377966514135" - }, - "startHeight": "211106421", - "endHeight": "211106422", - "stepCount": "68937565", - "nonce": "GurFWrwGlCy9F7h82bg7ruRNjtkopbAeL4d8AqVDW4M=" - } + } + }, + "destAddress": { + "inner": "sFqHrX+p3N1Qwuwx9Gq1RZCTRNvzOFWkV7FZqUTJBPFnhc11WosUpgbSDflNDID9HbJ3OayE/4Z52TolHjQMUA6yZPdxRCyV0NYDEjH/mhc=" + }, + "rseed": "s46YSg3lc3tNbuafFtHcoJgXW6Uq2sGbWichcckAOtY=", + "valueBlinding": "v1bIvkRVTvJ5FaH9awKp7qdxlcUTFGmcOI8eYchZygA=", + "proofBlindingR": "aC66pyLilol0rHc0utaE0C8nfoVYRngysVoGTVgWQQg=", + "proofBlindingS": "ZWjC/hKxCIQ76q0QRo9OG6BRHK9jJNB4IBXjZDTP6Ac=" } } ], "transactionParameters": { - "expiryHeight": "1301656374", - "chainId": "eliijarvcfsfndzu-642649239388125561860212450", + "expiryHeight": "3199813193", + "chainId": "ypuzsskkznnqurexllxyjidx-90788967119211388776565688439415", "fee": { "amount": { - "lo": "387335725222733790" + "lo": "702179720312966580" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_85.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_85.proto index dbd3f55e55e6b00c8b71ce8be9a2d36ce0c1500a..393e3103e6c4df76e683087ff60751ff39bfcbad 100644 GIT binary patch literal 792 zcmd;TXYOKbX69;O=2FtnOiI>E&M!*UOU_8l%S+ACD>KydElv+gO)d*aOwLX%5xU95 zwV9FQ(8Gg=n1r}fQqvMkb4mj8i%O(8p;~kel#s=>5aLED40Hfi+#Fp$?ivUz-mzv4 zqr--^SKCkT-qs-@#KgrQg)F7i&sdO}SDKqtlxS$0Vw_x9oSjisn2}RlR-9vGQjuJe zVvv?slx~q%o}86jXZep5lke6zaXONMeXlYSkYMfJ& zYMNb|SdwOx$fdrCS%pi9OTlUatNgiVUxNfYH#b`~ERWFZ%4@&H*vjsgto1UwP1K8P zB9l-b6PE!O7ssKmJLbPywQ47?5Ky1yt2z3{h2NI6KYtmcQsDSyaoEr1*KB^V+Sccd zbXH~w2nBHkY=~-KTfg$o-GD=H48LS;b)7KT<@RTb&?Vs;BUiedWcirhdbTvGTVxsA zCElODJPm(kH7p^f28UCLoE~T)!Z-y7|)8cC1 zyl3;pF5X!%Lp*w^)~$oHqtq1(Pcm3tQ&QL;c4D7PsNbhb(S?7rnO44AUO4rrut??{ zi+;Jp6OpGFv=lP*b}d(WG_A8_O}WXgYb_V_)$3X#+$xMVMzQ%uh&gf?DWql``X{uJ zqs98wS^>9yKj{U5GV7C7E>tLpK29+?|AJk}pW|fD)34k@mX!siRmH{G*;RRYg{4KQ z6*)N-m06i76}pxN<`x!~X6A;5mPUq##ugUl=4PfqXklSuY-wU>D#Zf~&@Hn+zdbyC H<$X>7J#7!- delta 615 zcmV-t0+{`n2EGLs3cdmgy8;TR0SYh*3JA8en6rX+cyL z3iIjZu@aQ*ZLJeVkCG9dlrs$VDH>7=P_MS0|L+j>-OzQQEbFhv00!6wkHDLsXJKcE z1y0cs$VA+>Efn^(5OuaLjY?(2R=Ir6{lhunBGMLn_J|75pBU?unbQY}#-8Hc7SNdX z_YkbI*rW8e5E>wVZAN{#9<5tk^zcDpc!9yt^o>6!R!7BXqz}seJ;*KqA|PilTH15s z)%cH~o%>&e5#8vX6;gDunZJ@RGayEKs{tw?rz-v;g4FLc`as>~GRV2}8QesO1im7| zrNcB(2Va5#G9Y;eE;#tW&P`pAavw}LQ4P6upKg-=!e}vn^cZJHQ@aWZMUnwR3N#7~ zXli0=ad~HIY%MuB5+Z7KdMz_FI5RmkF)%SPG&3?eH83?fF*i9eF*q_gGB`IjDgYV^ z2!)sS>A{b`j{*uu$^t|RA_^c8e}GYimbpq`J8nP$sm%nbSwIY}c78O$|;O z3JA5}@ye<%j_Jt(A_@rahUxRhvi7_KDh3FxEfB3O3Z?<71EK*6p8*Om3JM7C=Hcg% z+w|*`#sMai$N?jN8VU%f`>KSA?Z~(UA_@rCpa0UGmE*4gDE0KzWH9#h)MPl_&hH>X zAR6k$TD%67EWH=FeA&1=uH;RQ*(jy39xsP{0;NM+gAzgrw&vFC1QIM|Y-wp~VRCk3 zW^-n4WO{WiHZ(FeG&wReIWssoF)}qZHZeFhFfuVRG&L{|8Vm{w2;R@&wWIlkum#P! B35oy! diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_86.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_86.json index 039929e31c..ec9fd73b25 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_86.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_86.json @@ -1,56 +1,41 @@ { "actions": [ { - "output": { + "undelegateClaim": { + "validatorIdentity": { + "ik": "WlyEhKtayiJPKHliCRysy3IdKzD2tFVJfdXPuOZLJpI=" + }, + "penalty": { + "inner": "AAAAAAAAAAAAAAAAAAAAAP2ETQE6kqMFUyYXwb2lEZ0=" + }, + "unbondingAmount": { + "lo": "349371217470542075" + }, + "balanceBlinding": "1ePMWRVymmlwv65LxSCP/BL3fzAMqJ7n3AlXS47IpgI=", + "proofBlindingR": "Xa7B0ntn0cFql/9FOcZka1eeb2aREx/IQRpUHDPIVQk=", + "proofBlindingS": "E188/sUUNu6307+SxE3dVwYqn979RZraeeyN4Zvazwg=", + "unbondingStartHeight": "26321" + } + }, + { + "communityPoolSpend": { "value": { "amount": { - "lo": "63503066873854544" + "lo": "617081558765956174" }, "assetId": { "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" } - }, - "destAddress": { - "inner": "RT4kvZVyCaPnsRerKuGXe5RWBcgu4zddHZa8FplFtDtSX1g2+yFzaufFvyTeExsYPcvas9RpitQngnkXV8dlWG1Yh5xAFpQ1APCMZfML8uo=" - }, - "rseed": "vGTJDoZw5ndm2vverVBiGuJHgf3XH0PlFztnDXMM3uI=", - "valueBlinding": "jXqK7/vyz/KnzqnDhCUXg6sl1d0IncgYF+ti9CdUggE=", - "proofBlindingR": "oNp/pOh5I6Wb/oFZlQbxfrFf0wePNDA6DeRybB/WkgE=", - "proofBlindingS": "Yn+mu46Gp5g7eteKeKyV0qq7K3PuYNYU0ic8oFPLWhI=" - } - }, - { - "ibcRelayAction": { - "rawAction": { - "typeUrl": "/ibc.core.channel.v1.MsgRecvPacket", - "value": "CrIBCMHQ5QsSC2RlZmF1bHRQb3J0GgljaGFubmVsLTAiC2RlZmF1bHRQb3J0KgljaGFubmVsLTAyZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6CwitiY0SENGCkZcBQLCh+P2xteqBGBICCgAaCwitiY0SENGCkZcBIo8BcGVudW1icmExczd2NXpnbTJ3ZjU0czQ0NnAwZTIyNDJqNDJkdzV1bGo3ZGFkZHZtdXI3Mzc3OHlkajVjeTJmdjM3dWUycTB0OXJ2bm1nMDZtcnc4bnZlbW11aGt0dXA4ODh2cXNsbjJ0NHFtdWZ5OHI5ejByM2h5eDc2NGw1Z3hhMGs0N3BlNjI2djAwcXY=" - } - } - }, - { - "undelegate": { - "validatorIdentity": { - "ik": "9ZfCSfiVa793nkn/qbsEKgszQhz0Kadk64VNw1GC8Kk=" - }, - "unbondedAmount": { - "lo": "307994269903977320" - }, - "delegationAmount": { - "lo": "812254243148083553" - }, - "fromEpoch": { - "index": "1385", - "startHeight": "1385" } } } ], "transactionParameters": { - "expiryHeight": "7604691665", - "chainId": "ntykn-5846", + "expiryHeight": "7726265066", + "chainId": "lvujvpq-79979032831188958792722174741", "fee": { "amount": { - "lo": "370810228947071123" + "lo": "448810136792935877" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_86.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_86.proto index 8aa839b0234baf3d84a08b3477c2ac68b8c020c6..4467d628ccf4fa9089589ef9d53313a9e925add4 100644 GIT binary patch delta 286 zcmZo?+sRbVb%^m2(>_KnB`$@in3k5+QKyvrH7b)hW!9W7lGQf&wk6cF_Uic^&%D(p zDFM|mpn<DHvf)_n7!M6dHpJUJ<(uAzvu~Z}@VI!Ek;`-vvk{j8 z7Z=C58wclh^iDa!F;Q66#+u{R)2UBngj93NO0&ue3U$pbEzKM3EYC-feh$I4FIBR11@i*-eag( zb5BT!zfSt19@509rLf>u{gM}z%1dYeYmA)A_OWhb{AKoj69X&WCq+5(*CsI(^^{$FFQ!lOBtzG;s;hM-Lb(;mjr=x_p+L*f-o0z%&GjS>DXC@`Lq6+=H;d4=#?4j`4*=Kr6!jJBqnF4mI&Qo;@ZT>aqz-ZZXxcJ)U?FXoRWb2q7o@i zs198NC1i0egt$=(108@BH^tO%taxI&4_@ryja!ZTMjm^z1 zDpRsdlPitV%8boRQ;iA@N-T@Y@^aG+%yNs$E%M4zb8|~GvP((}EG#U_3X5~{j7m%j zb4$}IEs89w42q01Dl5#*Oma-qD-sQ|P0R~Y&5X>-3=9g(xZF=Mxo`nf6%)Ym`U+)adAw3_-J>_z8jNR0i_%k2mk;8 diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_87.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_87.json index 3c37ebb389..c013c1c9d9 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_87.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_87.json @@ -3,44 +3,34 @@ { "undelegateClaim": { "validatorIdentity": { - "ik": "1UJ3TgWR5T5WU1jgVGIuRE/Ty1tVk6B5tOw57flwNAE=" + "ik": "+U0BQB7ygOIsm6bPIWOlWqcpjUyAI9L6zBIjHtqyYn0=" }, "penalty": { - "inner": "AAAAAAAAAAAAAAAAAAAAAP++dsi0OVgQYk3S8an7520=" + "inner": "AAAAAAAAAAAAAAAAAAAAAP6+36Q/5ckdFOO801qFh5Q=" }, "unbondingAmount": { - "lo": "144276307645094418" + "lo": "457177636327621561" }, - "balanceBlinding": "hIt/TXK7zRXfZiRmQHqXdg3z8QrxXnSjUjEIOBkH3gM=", - "proofBlindingR": "Q8zxdl/kEzGuTFRaAPl/YA8hso0KyLCRXLZDmVvy+ww=", - "proofBlindingS": "yzUpC25/HduKA53wuw7wr5ZgEtKgZ9J9oq/WHU6mjA4=", - "unbondingStartHeight": "57780" + "balanceBlinding": "wHi1l1xFM/UxOEFdTLmNZrrZ5vc9gVB7gZaT1sKhVAE=", + "proofBlindingR": "LLv2dAUH9/hY9GFXPxXGf2fb9FLmEub2orZNKct7aAc=", + "proofBlindingS": "hnm2l27206bHDLjmUrJDIpvglUp1RGXQCtyVs4XDHAw=", + "unbondingStartHeight": "57939" } }, { - "undelegate": { - "validatorIdentity": { - "ik": "0Pkx+hCmrFGrRwlhu/QbHGET++7RbntMUikRwV8lREg=" - }, - "unbondedAmount": { - "lo": "504227133003625658" - }, - "delegationAmount": { - "lo": "799827424697324738" - }, - "fromEpoch": { - "index": "1063", - "startHeight": "1063" + "actionDutchAuctionEnd": { + "auctionId": { + "inner": "FpJ1PJuirpl9LHqb4HHxAbMVBrgGRL1k8KDYMbA8j64=" } } } ], "transactionParameters": { - "expiryHeight": "722172597", - "chainId": "jdjlnrleefdynmficfnewgzhgwfdulu-75667952557935080", + "expiryHeight": "6772438102", + "chainId": "j-4978032212083156123", "fee": { "amount": { - "lo": "921060973447831954" + "lo": "238398828707212304" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_87.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_87.proto index eba0da115437a4de7deb3224d885ceb1fd403695..538c7643bdea05a1518f6582da612f613428529a 100644 GIT binary patch literal 283 zcmd-&#CVBmA0w9%m%>k9MhCf14UcqYFFUW8yfkXLX0K0!@}*yAgp}oOZAz+D0;*v^ z1ON8jUt<6Cq^!u}J(r_e+ox!8aqMj0w`A*-zBOz{3I{5-PLFXl{%UC980)jMH*MF= zXWwlb1F9RRO}=($VF;s@g3j)5C9Ler@)2e(^-atwATNkbDz%xt zXx+?OovPUn3O_P#7G>MP=CU{C!-5-z8*KX532Ad&d$DG&q>yNqu8F0&g@Lh=k)e@+ bg|VTjnW2%f6b}~{$AlX%2azECIPwm2jBOZh#>ACn{J{=u8c|qltH| zf&cr;PHeG^5J>X9^l|0y=eb&39Fw*jo;vg5k_ILtg_iDm-=f`TMenDnq&ZYgFXR3E zk?Uhz$>JbG4hu>4d(2h}&SyTB#Xk`?T;~%K#qhH}fnRY`FV~3;6JxeH&y4=`o5xAv zw5cX{UcKz?F6Ox(cJqB$KP^G%(t`9$wTsqYll5EH!{@Q(Ff*6?DJB#_f|;pm82GzC;;uuOi3)sFLGe?BF0>YKhNV9%S>wCT`erGRrxRU_-2=f>XVpf zU0dk>W?k5GF{a%gBt;@8_0RhJUa@dVm#CIp>|_=;^SG02o~Xv+#z5 ukW^`QYFbHZPEuB0UP*3gah9&JiLtqjDh3GZOc3f!3N?}gG72yX3JBE4)vl0$>Yxb{A_^cW z>YOh#arUH#=jmJ|a6$B=R{4YL22NcoJI^vKscH}sG6?kPjN%#+9Cm1UYhh$`Wp!>X iFflhdI5#;qIWjddIX5;lH5v>G3J9CI>(<%fjp+mV>_~zD diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_89.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_89.json index 0d6f0e637f..f08065abe5 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_89.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_89.json @@ -1,34 +1,66 @@ { "actions": [ { - "communityPoolOutput": { - "value": { - "amount": { - "lo": "17038923852064189" + "actionDutchAuctionSchedule": { + "description": { + "input": { + "amount": { + "lo": "181451187935194818" + }, + "assetId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } }, - "assetId": { + "outputId": { "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - } - }, - "address": { - "inner": "RrYHHRhmkL6YB4s+DSyENibtC1VW/EA1N5RoDM0c7wjiozkzDA5cfRaPYuqJhfehwEJ8ZzpN/5QccSTcYzZ35pJy6/AuGL/aWops6nKbKGo=" + }, + "maxOutput": { + "lo": "981467343483746236" + }, + "minOutput": { + "lo": "816154240701797997" + }, + "startHeight": "838332756", + "endHeight": "838332757", + "stepCount": "79700368", + "nonce": "LxX4R1QJUcAL64eNQVtNu2mmCnm2bnzuBdVPV6UieBY=" } } }, { - "actionDutchAuctionEnd": { - "auctionId": { - "inner": "pJIFlMRi6JtlE5D1sIy287juwgB1fjq4CtLj46lgkDM=" + "actionDutchAuctionSchedule": { + "description": { + "input": { + "amount": { + "lo": "17016452041769541" + }, + "assetId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } + }, + "outputId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + }, + "maxOutput": { + "lo": "364101025380650949" + }, + "minOutput": { + "lo": "926771860551171596" + }, + "startHeight": "27854867", + "endHeight": "27854868", + "stepCount": "516191274", + "nonce": "UZpstblKi4261jzwv7WKD6GJk6W3ee92X24S2iqSEyE=" } } } ], "transactionParameters": { - "expiryHeight": "3735574029", - "chainId": "tasxpmloagnmbfxkeehe-77091684871730211047", + "expiryHeight": "6710415564", + "chainId": "ebrul-565648844622071770384975869", "fee": { "amount": { - "lo": "16809050601060191" + "lo": "896098301936349283" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_89.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_89.proto index 3cb98be1f6733cca726d3a64b77a26d79f6317fc..932e8284053e34cec4f1d942e24f0b9abf6a0b88 100644 GIT binary patch delta 272 zcmV+r0q_3x0gVF~3aA091Ec{8p#cgo3JM6q-OPv1oT;H_yqwWkSlaQnhFqDv_4LGXkk@f*XAW@oZwYf@*jk?x6@V~W+521;Z zrMG$Sc3*B1+A5M0ArdzT%%S7|7!o06VsdqCEj2bZHZ(XmG&D9cGB7tWH#aadI5aso WH8?go8Vm{w2;<=V)rJI><+lv26>@R_ delta 217 zcmV;~04D#91N8wD3W))l1BC$!FA50=z011X`I(}T!6tuF3Q$J22OSt@kiM7)i#`o3 zgf=Ga3sqM9Ks7g%XbjC9?+D_fIWr6nTzwXgV(N*7_o2W-d}lgM|CAhYB-~>*cjl6E z>+miZzuH=gZ0d5GC~68PvI8UvA_^d+k_D8+V(6P?6Oi?=jJET*?!o|demb}c(&OW) zV30EsJ_tRHtfBP{5-D_Hb9iuVY;R#_Zf#;_cxz>4Xk{%oH!wLdHaIjmH!(LeFfuVQ TFf=zB3knGc-|pFv;rHzw;Rjgc diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_9.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_9.json index 1f07458579..c21f169500 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_9.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_9.json @@ -1,55 +1,49 @@ { "actions": [ { - "ics20Withdrawal": { - "amount": { - "lo": "542159346182080193" + "communityPoolOutput": { + "value": { + "amount": { + "lo": "857233367113877618" + }, + "assetId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } }, - "denom": { - "denom": "02N19VxMIfLZRfJWoQl1252z2jezO1" - }, - "destinationChainAddress": "penumbra1qxajmpvxs9g4vq2xt23l4zlh37z7crladd8ww8tpj6dpvzjmfgrfz3l3mmdwcqjwp3am0d4ychxvgz89eh6tvzfg55gnqrupjv7rmtd57tthngzyj45gxw8hz0y2jga7p220gt", - "returnAddress": { - "inner": "x9LRu5LIGSPgYSfH1ihWXsOMK/h+jjlOb1mFKxA7YarpSecSlL/9lnqXoTKDeyc76W7nucRFGXcHZFX0+mpU7KTnKnkizP80O6dsz0h+MvM=" - }, - "timeoutHeight": { - "revisionNumber": "859569515", - "revisionHeight": "526166451" - }, - "sourceChannel": "channel-0" - } - }, - { - "positionClose": { - "positionId": { - "inner": "JWQ/XFbuHTvpxHmQDRH81rhvAHvNTYhifkzSaNWEFZY=" + "address": { + "inner": "5CS/jDGX5WiwHQXOVXLSy+l4WbvMTMdKyB27bLQinuGwgMVreKo5GDW+rHYg93PeqVBzC5Sh/Rym3JSqHsRMAalg7x703Lt/XrDsD0edGxc=" } } }, { "undelegateClaim": { "validatorIdentity": { - "ik": "MZHrX0eGX6OhrFe+K5oB23cxSszfTkgnRj1V67zqC7A=" + "ik": "E8r643GiUDmhgjxZoVJ8RrFhRebJC/QssQuDojpGvE8=" }, "penalty": { - "inner": "AAAAAAAAAAAAAAAAAAAAAP6kqMFUyYXwb2lEZzgdfcA=" + "inner": "AAAAAAAAAAAAAAAAAAAAAP8AaNuLrHEMspXp4bCJoCg=" }, "unbondingAmount": { - "lo": "555698703002225246" + "lo": "775828966889612352" }, - "balanceBlinding": "jeg7um8Bt4u0VB4uqTVFjIUDaXxyR0Le2rU+CZ2+awM=", - "proofBlindingR": "tdb8ijwM20IhE2yehs+22zYwmtDiO/JMuLNOIwybiQM=", - "proofBlindingS": "gS+7XgX24ObsqLE4QKGAfzaC/pEbPFKraFAGgi4u0gY=", - "unbondingStartHeight": "95235" + "balanceBlinding": "C0x/6wVXhGhkrK2b54UvGzp9fYfZtNg5yVAXA/t2dgA=", + "proofBlindingR": "Pz2wiVwZb47yjacmlRM5dp6cK4DsvLJpqZ7PxWi7Mgw=", + "proofBlindingS": "GyKsNT+L5zy4C0fRBrMOKL7mVsAbEDa43yBTet5CVwE=", + "unbondingStartHeight": "83616" + } + }, + { + "proposalWithdraw": { + "proposal": "743914309" } } ], "transactionParameters": { - "expiryHeight": "2908284293", - "chainId": "avpj-0209643", + "expiryHeight": "7239103807", + "chainId": "enjyyeitvwmiuvtpazieqrmqucueofje-244819555081339748962007977", "fee": { "amount": { - "lo": "1410913023824353" + "lo": "174740931029389935" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_9.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_9.proto index ae21a9750d2a9fa4d80f06af7292870013550c16..f33046201ddeaea28225b621aec305460dced79e 100644 GIT binary patch literal 433 zcmV;i0Z#r3iUFDfh5-sN3JM7FkiCP-rr`1m5+Vv9De9arGjaB$hv(^BByd6WqgMHY z>jq9;D?86JEU9V`5>g6K3CVY%uL5h$Q`?Ev?8A2uzh!msbKFO^xV6DUa;&BN1YoN3c>->0=@wX zA_^cA%KGDRqEI=Zf;?HFQhY|SVMXT23-m0p3xlFMM!ZiVA_^b?000000000000000 z000300BGBbtZ@vomFeNIiJ&Md3JAc+r_bApli~_8APY=?>jhVYXk@Ido9Bfu8#;Y` zhuO5)Imu8L1N(M%06HK)J+O&f8E=mAji)A+6FGLCoGXCrys~Mjp3lW-yD|(yAR8jA zH9w2zJh%%-(FU^)D8A-az#9-YxZfaCdfq};0Z5>Y1qun80R{-g_T1tE5>g1i>hJp+ z5@jXZE1CObZ}vMX=QP8ZElFfcbcH#Zs#3JM7Cr0I>fzO%Lhh|;s{ literal 581 zcmdyovS)o^#%#&gioi56A0Y?`JX#Y`*;I7o!ztazec)Q%t>&$&W4|O-&(ARrjac@ups$oC_|CX#c7;>`p zLw=@9x`k}*0WB_$dsFUDdA*?jHoK8R?+fc)`Hb7Uw}i;)tu%G*X=To=DROtZcWbL1 z=iGhS%vK6pul?z=;koUkD4a8|?fkaeW(Kn^JhJ}evtzTLGSBQzW+#P4{oQe_-yS@B zvtpx#!@`Dov!;I&rEP*%X9Tb{>FHf!^Jsp-Dx}EKdiwDzE+L-8vVtsK10w@VGZSMe RZZ1xahl?Ma`Sa`m69DtN>rDUv diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_90.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_90.json index 03ec1433bf..bd54030a7a 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_90.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_90.json @@ -1,75 +1,55 @@ { "actions": [ { - "undelegateClaim": { - "validatorIdentity": { - "ik": "1SxwXceuOifRE5KAsd6OgLJpHfKQ/3TnzWhsHG9EaNc=" - }, - "penalty": { - "inner": "AAAAAAAAAAAAAAAAAAAAAP+xW1c+qzZ6D5CWu5jH4oM=" - }, - "unbondingAmount": { - "lo": "70364462190344251" - }, - "balanceBlinding": "GnWs/cVK2n9m3ugLv9xkQlqijcegJqOfcutOkSJZ1AE=", - "proofBlindingR": "+Wo8H7Pu57YZum8gZsJfavgpqbss1bghUzj1/w2efxA=", - "proofBlindingS": "ZWykfuI2cwg4FMTiy7QpHYQJV0Zd1ClrjIeYmmyLtgM=", - "unbondingStartHeight": "89848" + "communityPoolDeposit": { + "value": { + "amount": { + "lo": "580433248217557752" + }, + "assetId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } + } } }, { "validatorDefinition": { "validator": { "identityKey": { - "ik": "CvQ03fHCGa0dJze8GFOSyJyTj21XeYVe3VSGSbIi5wk=" + "ik": "drk6GBXxw0KK3gUd9YerKCWvfIDShHlWJYgvyqcRYxE=" }, - "consensusKey": "38NcxKogRnpzzkwzVBiwJNjEegA9gXPBjSHJkiHDiMI=", + "consensusKey": "L1b+vbeLToFuNQ0S83RQ1x46M3lHjIJv33P+p5NI9yY=", "name": "test validator", "enabled": true, "governanceKey": { - "gk": "CvQ03fHCGa0dJze8GFOSyJyTj21XeYVe3VSGSbIi5wk=" + "gk": "drk6GBXxw0KK3gUd9YerKCWvfIDShHlWJYgvyqcRYxE=" } }, - "authSig": "Rgr+XDoJAlXgHHmQpCacaOON4yGDRAfwr6nAYV8C+wj4ctI02M9z+eKmCLTSoE2nZDlxH9mhBo9Q9XWamyNTAw==" + "authSig": "5imuUiqee0BI+r7e0Te55UpLjKs+GyhPNpPuNB3OKQVOEN+K2kj1RrZc2MA1OmLMkPXS7h3I1UchwjQU3hVjAw==" } }, { - "swap": { - "swapPlaintext": { - "tradingPair": { - "asset1": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - }, - "asset2": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - } + "communityPoolOutput": { + "value": { + "amount": { + "lo": "603275095482739504" }, - "delta1I": { - "lo": "60364190216338014" - }, - "delta2I": { - "lo": "386173577488735542" - }, - "claimFee": { - "amount": {} - }, - "claimAddress": { - "inner": "ufQay7dE0tBy74gCi8N3VGqinPAImg0nzJQJKycqdHGzyDxx8gqSgzVjdIrBQPvsHvqpvH7RxPygdoGPcbnlEP6bxCLTXEDG0JfGq5Y5maA=" - }, - "rseed": "CIyqxG2CT24+7KyfyVa61vqA/YtVerCi8u0iIp8y1x0=" + "assetId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } }, - "feeBlinding": "OyGAX0juQcBNUZOqDYNQCDn0FBqTpFmBGLD5foAPfAM=", - "proofBlindingR": "IbkpPNoh6oQBwq8CpMEydyYQ0zvpy+IJES1xENH0bg0=", - "proofBlindingS": "jcOumkI608u4oNIn5I0YDd8CFKDbOBSOkb+A05s+sws=" + "address": { + "inner": "LMc7iyEA/ZOUQAQKsqZab+eNxVK5gjPCW6FLQa9v7YHUaeMId98KpsU3MCL4LjTUMEaVZ1etW6GlbZryg3n5+Md0Nbwp/OxOt/yIcawviHE=" + } } } ], "transactionParameters": { - "expiryHeight": "1474226410", - "chainId": "vnpvkgcisbiyvsntpx-0281959327941632", + "expiryHeight": "8826348862", + "chainId": "rlrgvbbxzyksy-60", "fee": { "amount": { - "lo": "920089507490309354" + "lo": "704036978167257025" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_90.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_90.proto index 5a5c24682787ae92a452d9763195670350bd2104..54218e0129fb8b59ed89af17ec8a853eafaf0686 100644 GIT binary patch delta 378 zcmbQhwwYO&%XAU55tjiM7srpQSNFY{*WS)Cc^9KfJ=YP&CdLDdTs2%uTnc47tt3Q0 z9(L-w$13}^eYJ+_`kIDIEtO%a9r~x13nmK+Dd>m&+q=EnuQAV*SLky|z;!t*<4X6Q zru_TG|CUeo_^u|!SCU#>qEMEYlbMoOl3(P&=!MtZSg64c&otKsY0ay4@c6aw-bM4B zPrbZ*R@+Hy_?u0BXCiw}lhse)e%CFJuWs97ZX7VRN;)&)>!o+HC$73H9x@TRCz{O6 z)x|iAxs4I*!wuJN9q9RRVLix)s?|YU0XoO6yA>J!PM+ex!nJ8xRQ~hcqd_~Hj1NUG z^mbgI|F-c;=3|cX`&`S8nj0wn&@;JW;5Icqd~Ni?rMa^{HCO)palFKIkLI5@e%t?a z6t2>Z>N delta 731 zcmdnYJb|sA>mcJLroD_@N?Zz8bqZpSud`CWC_JfQY9#n*Y}rDM*#B`FqssR(;yN7u@^r zq&P(_>OHoD@=Xmef5mE9S5eIr8ZA7ERd}&TzNbE1KCo?K5WObZ=w!__3Fj>j+~L;{isl z8jv@*zL?zoct~=sth)IgiQq{m=1lI-4X3cr;x(^!!buzDY#V?pYy3V z4w2ZPa^px9gKcB+!Cu9alN1kk9FpQINi8l>C`-)AOi3)sFLGe?BF10`H?Ds%R-8hfQ;-8O}acsG?z;}6yrBtE(&4q0J z0bfgJ%~lR(<~q(Kb%crQHY1k@*JKe!6%elHx_y1#t!J{33OFyUV2uMejS9x(}C!WG$NWfnyf0`k5)5+Ui;*g_}><6n^5G)NGnu z(sj_`_ZzuiEBDl0Jo0BjSz~|U&Zh$ZW*F)KhV81q_N(D zl-TgIu7SUXSxP~1r>4y<#aAtiht@MKIcQX_CUDvM<>^P9g1UtQ7r*53Dk=0HUN_6h z>hkFw3ofZY>6PHU&m^+owuMOF#QhDIXWMP&7P91cb@BH;R%0RMvb=(_?DXW!;-t*V qvf{jwf(l&&BMU=IQ%hqbb4wFLGh-tu9xg79S0`uuX`Z;{5f1=NTR|}Z diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_91.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_91.json index aeb8853f78..82b43a8e23 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_91.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_91.json @@ -1,39 +1,51 @@ { "actions": [ { - "communityPoolOutput": { - "value": { - "amount": { - "lo": "344149540286551252" - }, - "assetId": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - } + "undelegateClaim": { + "validatorIdentity": { + "ik": "uk1EubuiVO8HErcV9Cwx1NIJoNDKykDcDp1h9rKTvyQ=" }, - "address": { - "inner": "yiuRnUOYo12VWa07n9TUTadalVq9iksf1+ZRAdl1CwcNxz6L8XBLYEDDrpajNT6soeDvBPdKuBu5k6OHmC/N4bDu5+XGU3fcjnuclKUgh6w=" - } + "penalty": { + "inner": "AAAAAAAAAAAAAAAAAAAAAP3tKIznA6+36Q/5ckdFOPA=" + }, + "unbondingAmount": { + "lo": "566130237451411183" + }, + "balanceBlinding": "7EjDdDuVksC36yOn496WhkKU6uUphW0uWovhQxU60wE=", + "proofBlindingR": "Sn7xoQ/S6r5w+OgT9cCUp9yA8uixuArfqwIfwoIrzwM=", + "proofBlindingS": "UrSt+S/GDqLLi+x3EYCGUZlR6OdfelfDmV7LvZ8EFw8=", + "unbondingStartHeight": "44906" } }, { - "communityPoolSpend": { - "value": { - "amount": { - "lo": "573188836335646955" + "validatorVote": { + "body": { + "proposal": "932822108", + "vote": { + "vote": "VOTE_NO" + }, + "identityKey": { + "ik": "hbRZ7/dh2ysPtVWgJAKjBE6t2GkYYkup7nq2w6o2pxk=" }, - "assetId": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + "governanceKey": { + "gk": "3oAg9HlS9OVBjhalc7sW3ConWcGOUNSnjpBY4jth2xA=" + }, + "reason": { + "reason": "n1mwbHttLwjh7" } + }, + "authSig": { + "inner": "1qcWLaa5EgGKAbozXsbhpnxGNAwdvQ7JtoF/dtiOdQz2U6DhAGX9AIKep6G8I8h9joA+e7p54Vy5eQTs2Yk7AQ==" } } } ], "transactionParameters": { - "expiryHeight": "3510866232", - "chainId": "fqzcqyjouribnsokfj-56868", + "expiryHeight": "9667223034", + "chainId": "zmhaofblvkwdszzeuxinx-3315295692925964928907401", "fee": { "amount": { - "lo": "372654856776073496" + "lo": "177412773365136471" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_91.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_91.proto index 55fa6bc80b5d2c79b35938b4c4343b797269f893..d054f9f23ffd42c3872bacc435b1746f3bcc8d5d 100644 GIT binary patch literal 444 zcmV;t0Ym-@!U56(z5xm%3Lv^oM7g`7RPP58w-xj(G1SrtpwP<7K->`23O zJC%~ax9cOPb`LJ=o9t8l&9Q)^60U+ z3g4>&AHsqw&jUgrQnao4FUAg{%Zu!H5rBqKnNjHHUwT)=nO@7ip9B{VNb24K3atU6 z0jU8BV+h>%=DY(E0tf>dA_^ddv{~=>VcRPYwN;=b0;2>@t=MT8VoRy+dbY!=Hm4aP zA_^ehfFSgFQuO6PjuxeJyB6FkCt1OcP}HZ6kXYh7VcQTY4+;%#F>QBZNOW{ecWP)i z5<&_<)~6ONrnwRUiUGPaUdG|3d`2`39lZ|8wt;_k*p77!_EVtY0A>9Ef}W?Lyd%hc zj(|RUx_RMTxp@Ta*@-&=5=995yV!vw5-)mfXkl+=Vr+J6cVu&VdS!KZX>NEeGcz$Y mGC4IiIWjpiH90mkIWjmoFgG+XF&YdC3JBNuuDGNBlDh)ufxd$P literal 244 zcmd<;Vw}a?#>i#B#l>-D<>brnkFI*mBBaEnp!sT!zH#BVCGF2&#;6oHepwv$v-vff zU#zzEc_W>bSpq^qTmh%FC(d=Au{d^WL#ZLz7{nuQPEvwZj3A-!|*;`SN(XCH2O_x$Ox;PN|t)pMpSRcK$sWjcx3 z2<(*CA6sYKZkzFoohYa1aqL*s*TpL&kycohTv(ZvUs{xzlvkXeotC9*YGz?(A;kmq P-i)T3=O2CkJ(U#zeI#tO diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_92.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_92.json index f05a2e3ec4..8bbd5a142b 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_92.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_92.json @@ -1,92 +1,36 @@ { "actions": [ { - "delegate": { - "validatorIdentity": { - "ik": "zeN4fnAZUwDcmSH5MEDUEodTdox6ImsTv4Kncu1HIaM=" - }, - "epochIndex": "4025", - "unbondedAmount": { - "lo": "259983052045005131" - }, - "delegationAmount": { - "lo": "506316354659774132" + "positionClose": { + "positionId": { + "inner": "dIkWbPwTffJ+aQ1gfF+10NCIYwzy0/0hDY2Tc5TEsic=" } } }, { - "swap": { - "swapPlaintext": { - "tradingPair": { - "asset1": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - }, - "asset2": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - } - }, - "delta1I": { - "lo": "233241339257563753" - }, - "delta2I": { - "lo": "921872352026946725" - }, - "claimFee": { - "amount": {} - }, - "claimAddress": { - "inner": "01rGo4wIA7Yzu/dt0g3x6lbTIXSZIAz86yAeTnxpMNjKLkpL2Q9H8RGIGYNulemhEFzSw2yNqBoMmGMbuGqdU0yFrtVqdnyIz/w50X0VOnI=" - }, - "rseed": "XxtTceCUNYjRgWK9lG+ak4iGGD8oBzYWKjzBK5rWvZ8=" - }, - "feeBlinding": "ID8U5Nji/K32hDzxMU7GoBQDJ8hjLEqLROonPkkXVwA=", - "proofBlindingR": "x6c2onQ898zSMnlJGXFTsAm9fgg4asOqtCRhPO2gywo=", - "proofBlindingS": "duzgMHfFjSw762soJ2aRhOzEgyOk/GX2PLUgZLLs+go=" - } - }, - { - "positionWithdraw": { - "reserves": { - "r1": { - "lo": "548038638173775620" - }, - "r2": { - "lo": "815921088375465963" - } + "undelegate": { + "validatorIdentity": { + "ik": "tIFWGcVz07Xmvw+gCGXFoWWu8y45GBX4RWvmqUmK9FQ=" }, - "positionId": { - "inner": "BFaW3Y58DiMiU1aG6usjsvT/stdewfJXyJuWeRoztJA=" + "unbondedAmount": { + "lo": "675995424489524486" }, - "pair": { - "asset1": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - }, - "asset2": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - } + "delegationAmount": { + "lo": "882404331737823102" }, - "sequence": "1" - } - }, - { - "communityPoolSpend": { - "value": { - "amount": { - "lo": "387074746918755207" - }, - "assetId": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" - } + "fromEpoch": { + "index": "3181", + "startHeight": "3181" } } } ], "transactionParameters": { - "expiryHeight": "7695331102", - "chainId": "khuntstwspfnarorzefpx-8494903827030500391", + "expiryHeight": "8782804295", + "chainId": "n-037710", "fee": { "amount": { - "lo": "77078032554932289" + "lo": "220097666912544663" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_92.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_92.proto index 08ea84d28bb15408bd62c7ecc3b77b60acee74d2..1648010906c7537ba7c305b38a773777d6d3393d 100644 GIT binary patch literal 146 zcmV;D0B!#YC;9;-3L*+1bcq&h{1biherXM0d|$QD(1>FU^3(kx4ULm?l*F}2_gyz z{_g&(h{C&{3@Qc)?HCa47!n=`$LjmrAQA{}Eif}TH!(083cnprNpIh_HjjBfn+elotcV14IHirwFj5=R4HW(?{8XO^wwQ*vA|AwDK3uF zkNS>XUH0-Uvl17_mb-UO1I#zG`v0@%G(AuRpk8itp;N(*tB_=Kgtst&| z%TdP`_i!+8Gv56@_Y&{NS7DbGOJ*wY{CTY)=U0llD%@pEbFo zO~PJ--Aqi&=AibhYkTJlDJa;BJh}1c&)RP-HXjZBjx7*jRzH!f97B@Tx5;i8gN+oaRzeD0}n3p!{gBj`izo4fV8% zEpLuAD=+zz`pssmLdvE$zqq*i7@L^77`Y_4xHwwQE&X%$_`$R6LR=iL&;NSW^mpA# zZcyN{giX8KSHq{Q6dcy}>b3HwFaI}Pk30A&{KV{Ol~TrACP+~&8Wb40OeZlLaTx%e z)4u)tp66#zt!E`F{_HvC-P?LqMo2R|qcpFixTL(eAT2MkD8HyGHLajR*TTfo#L~dn e!pPjf*ud1lz}V7IiU(-P!4Dfg|2z1#gAo90kRVF{ diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_93.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_93.json index 61367e153d..09b2b2a108 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_93.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_93.json @@ -1,49 +1,85 @@ { "actions": [ { - "proposalSubmit": { - "proposal": { - "title": "rhygnyiczdqcbnda-5050340999020270975392418403", - "description": "gklivzakngkcklcppk-310781295561841255380289", - "signaling": {} + "validatorVote": { + "body": { + "proposal": "765858924", + "vote": { + "vote": "VOTE_YES" + }, + "identityKey": { + "ik": "rFNpwSJHt05brcFqvAZlZ+OvUm8xRZX5Q0RzzqYzT/s=" + }, + "governanceKey": { + "gk": "Bo4OIu4ZvG+HZ6UDIFi9dO5f0ZYZ9/VWRCFTJKHgmgw=" + }, + "reason": { + "reason": "l4U2jztj6ZGnUgIMLfm742mzuwK3AN" + } }, - "depositAmount": { - "lo": "663865989312057847" + "authSig": { + "inner": "ZkefLCT58us4l7cpe937ll8bCLRdlUI/6EnuMr6wbgCsusB3FrTYMJav30IvasOucDDpKmAoBsPc4KklkNM9BA==" } } }, { - "delegate": { - "validatorIdentity": { - "ik": "+jV4F2dh+4xOGQJMVvPTP1Ae8TLT9ulG2GVp/eJn6iI=" + "spend": { + "note": { + "value": { + "amount": { + "lo": "960533809739726251" + }, + "assetId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } + }, + "rseed": "ddFlnaCdzWP4e7SKD/D/27l8mR68VOwipQoEYYX6vnw=", + "address": { + "inner": "r7ae/+8Q9d3QdaAs66/GAAbYBo/Am59nYWeIBU7REchE3LYtFPa1EHW2Lo1KZcRWuXzO/cM54CLSFnv2iArQnxjrlJnTB4nGnuLdFtCY9vc=" + } }, - "epochIndex": "2291", - "unbondedAmount": { - "lo": "512115687902232302" - }, - "delegationAmount": { - "lo": "121829272433526855" - } + "position": "132705081840158", + "randomizer": "/fyWQgs59oNRZkpf26tIiMV2MnsS1o/KhKsNx0IiMwA=", + "valueBlinding": "nA2Z5Cm6aV7fhs0a1NEIqAsbQe/YDCPh8O4DAR4qsgE=", + "proofBlindingR": "vggZ/oMd6r9ey8k5d2az017vh7aHrX8UmmlJAezSbgI=", + "proofBlindingS": "38ER74SA3MeHySSbT1+nQ3o1hheM57Rsx671GHgbRQI=" } }, { - "proposalDepositClaim": { - "proposal": "101301980", - "depositAmount": { - "lo": "290471330133274347" + "validatorDefinition": { + "validator": { + "identityKey": { + "ik": "xAnJopmqZ0T9MNKnUTUHuE53aa9c81yDmSZLm4vGARA=" + }, + "consensusKey": "rXz7sRXoWz+I6JwQ6khDo9V9K4bKvu4y9+zY8SAI3as=", + "name": "test validator", + "enabled": true, + "governanceKey": { + "gk": "xAnJopmqZ0T9MNKnUTUHuE53aa9c81yDmSZLm4vGARA=" + } }, - "outcome": { - "passed": {} + "authSig": "auIWXRYfwgx0PFYfIP9MWzU8Syf8LXxWV3ccBiqOHRK1MdHEWrAx+ULnq3UAwZNSA+HDz8Q9v9jjfKERQN4VBA==" + } + }, + { + "communityPoolSpend": { + "value": { + "amount": { + "lo": "129688593083476566" + }, + "assetId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } } } } ], "transactionParameters": { - "expiryHeight": "5120304822", - "chainId": "hfjzzucwtsprnz-16320333674509", + "expiryHeight": "3725707715", + "chainId": "kxgsxqtb-81164169820318145405320067", "fee": { "amount": { - "lo": "298679504801144213" + "lo": "749655901267719827" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_93.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_93.proto index e4724fa3f4fb924897fc4adb5bf87db1935e9f18..d50bd94b2ec5942f7d3cb4172b6a32a6890c948c 100644 GIT binary patch literal 827 zcmdaWF|KaVe|`&OE5(zTGc+?ZK=)Y^mvw*9YYrx=#J+ z>{5JgnX&(GC7>F%K0c*)l6&&o)0Z+UMC>hj7k_b@Dx7{@BW?^FU_$f zcB+&83(t2(`!?h;tl4#-Tx`n?gK6vUJLzW~URPl7QY%4&?eLukD^(|4wq@bk$HcXp ziE9NTmjM?S$Lin9A5H3Au!>g*=s?X^bM%c1zb$Eh{xU|T!12rCu%FGZ+5BR)tP9=k@wy3~V>p`VY*WpPrcB!RmKW@Px~qZMq`gwhEMP)9dw0JrcIF=G@=ImJgIJ ziB*5=;JPqh;`Nl7m)Sdy&3klL?81z1-v#C^>HRflnw*rv-#^owxGldm2c~(&-(Ky} zakR{+TIgE;sg~8e$DNdn8I%;}@Xmaqxhpg7e%o28D;GIda7#PBzrmyY@WVT1Mmeob zj9Lo&I3)iy%f8wlclxAddD`a7aqru=wXdxgnU(3u_~ud`laa#xgM#l{8txo#KdCa? zKYqD$m1&!J&+{!g$Jc$8sE~GL;yS|E#CU*_tA-00WJfqpE}FS2-Q};rrR9O9>^uC* zGuOv_j%l8$<~_Un7$Y#q*4F&qDEcDWzT?Flfma^Ri?7ydx1HMe&glD_8y^)o?yi>N zD@iRbQ7B8y$xKNs$uDwX^diPwhpb0pv10OvcuH)-< zF%p#qEIAHOKK_AMNIAPAy||*VBuUr8(9q1p(9F`p$iUdp!qCLj#K6?p$iTqNT#5&n P#3sMJIc-7HmCalLlU!>M literal 260 zcmV+f0sH<6Z;}CQ3SJ5=a%g#HZh2{AdSr29Vs2z%Ej2JTFf%kTIXO8nGB7eXFgZ6h zGdVIeF*r0ZGZHIjYiwzDdSPpBXKQ0?Y-4b6Yb`S|FgG|cGC4IhHZeFfF)}qZGdM6Z zI5{c+8VU&aqoTW+)1jLQ3PQpHKMEoWAo?|U7iVGnj7}K>Ojh&LKTsa=GSl|yM%ZO( z{o-fpA`tTt8VU&R{lw~%(AkX#A_@q{kd)QF;-HZw9XGcz+bH#9XcIT{QK3J8_E K^2*ii$C3oU*I=Mg&8;`Hm^4+}CNbyIk^Kb6;|Q(GB- zgoY)-ZyC)P7>zbK&^?h|g$#KR3W@=m1BL+#FbWC?_0gc5d#@*rPq(ftDn1zpGnG@S5bm6R@mH-N`0>TWd0tyNU|AN8CrJdg21`;0%9a>9z zWM@@HN@X)=Z&_?}SvNFEQ!syFS5anqF*i*bj{$IHZgp*9a$zxQcWq%ZYc+9UYBOVa zW??dAI5RgiHE=XCc5r28FfuT3d0};UHEwY@bYp0GbapT}dNMb3a%ebhIdpA$ICFDs zXLC7dW@>eGb8B^Ga5iRhaX2!1HaT^4baHWHbb4iTcywbkaB?|kGG>1^Gz}()v;Z=WEGKv$V3GP4VJ5BRZOmb0lWn{Ykx!>$kOpY`&f%J9y6sP6H|n z2*}~MF%Yi7+Uo*331cv5VQy|^Y%MSnCJ2k0nfW6U5O6IwH8e6aHZ(CbIWsdbI2sHJ O3JAo`t%$y|kE9J(kTvK4 delta 954 zcmV;r14aCR2lEIN3XuX5jsglW3JM6#+}WqUfUTqlkuN2GQVLLtW|PXr1Qp)=yP1Y4 z&4hngis%u++BV42Xe`aFbdyM1yB7VEzeKBMMd;ARmrd-Xg0SZV8kuW5YFeHBp2(OLcfydh2rVSbj2!!p&jmP!txeX!$3IHln3Q)4hiq!C` zP2NRa-XT>$$qX=WcFLh*Qr=8A~!Ce^)aiC4f2`o)4r^FQPgM|5@Vb%(g23#sYPk zh@4e=2pVk)1_-a%^{59D1_+7&r1b?F0tjXz0|=u7Dgy|)4Kf1=)B{3D3Xw1*kuW2F zAm|4wAP47Dm!sf?aCcQ!-{qP+Kq@p=f9LGiLGM6bngR)O5HcXd+c)!guMyZ`^p1_} zk1a)ORO$m=1-YTDi$YTLTkVFqK3()52G58V;swC#Wu^+BPZraPJ@KN?aBP;8Ut^(U4)lkjG8 zqpEh%8#Fvrpo?8GP)ZxH$WqTfZw^86e4wo-M3mfFKfJEP-P38m8JJ3wy}Sm|vTS)` zo`sRECxu`okT~LrjN)ginlcIq%-iRm;+M;Rl?gf^wc505BJa(5d~HWqO>a9o@vf?f z?)sfy-+m{Sf|c@XO!QMgwMeIqzpLyBjuMVU}XzU{qSc$YsFA#WCmj>xWZb_B`a8Y{;lmFQj0_ zcQZpGJ;JZrxG0k4N!rHgklWB-6exM~V)vr7 z&F4H_mmjN|_&iJMTX-sSs7X1OpTGUepX{m%YQjra-D8@Y*UE*uln(*(P(L?os1Hn5f{gkLye6~FV%NmIuH}>eHSh0d>JKFU4n82Ke%Ry18tLnV-2^*`p8p7`+s> zJlLzRWL^FL#qtxSM!Q1dKYbG}4*9G2veTIR?q_>F4z9gST)UXKpn>rC!}T}QZtU%2 zvq3V1*Zv+)-NDMF?QQp`v2FidobXBPX75h94B}EeRpVY z-Qor3wwBD@?{A>19cDIhBOBLx#!rl^89{-R!X+WZ#WB70YG>oYJG0oNxH#4vTr{_L z>EUhcLLOWb4OD>0SAl^50H!-8B?(}n>w0th>EHh^r?UbL-P63}!--jwzH(?Va-Cq3 zI?BX#hmi|vrds`}-J7@c{Ji{@7ii_qi{}qL?Rr0-QHhC*K?@iICv!sHy!ST_`Vf5T zTz+cjrNHNN)unU9)|*dCbNitCKTFeU&pg$dla>!x&ljvKJmD+T{n7J}`=3?%?+$JX z7kT!6!O?l=7D_1ZHFLI*-#jle&Pd@yo1)Q??qI2|I<;+)U)7G+|H`u9EXbI7ABkGUc6&Jla#`{q_stl&KlO) zr!6xzoVNdT$VZ)3cN;d@|?tUT>}FXa|<&|O9OLDQv(YF Yb7M;rGYcsmV5shSIJxuDgRYY-0OC)$(EtDd delta 604 zcmV-i0;Bz@39$wY3Yh~UmIDgh0SZV8lTZUBlTZUDf6?Wy)9cydiwGJD2-nE8ih{D# z;{+lC3IHln3Q!?E9aGz26-ixZ8D(3iM0EnXE@2zuiw8p*6AYE}`O%-Cl^BP;adFhW zJw9J5`Q6kJ<0dXOn6?lhEsM(9cE$gby6K8>%CFq$^nsz{?RYXE*JF=_Q}Z)>Afis7 zLw=vJIj%M5W-|Cuojw8F%y$MgqZ)1s1_=Jk%%uVn1_+OvvHAlV0|>YYA_EBJ2`U2! z#0)Y62!shjND7ls10<7B10#PR=m#nw^a0?mfA`3T1ZWu?ZMmQW+c{ltmJ}ADL*kER zv3ws8G9XnZDL+7cYbH?j5Lbfc_{qW#eK}8yqIu7wHkR856$A<=vI8UvA_^dcOp=Xq z%|@`kZ);81vMoXk3a+nhbZY`Sf`w-?=5JIAiUFDfh5-sN3JM6=x48zg=KI3q43kd- zC4W*1P$A${lpl_yF$i^+VP6@Es%h-A--4@}w?K>}P+5}I+n=Ozk_{3aGc8aunQU%= zTDncJ#yYc1PkKlia%n2bWb~+W+uk1p$vs`=Frg(4*9wjSf&z*G3K$9s2*B0V(u|<# zh6EA{2->!~yvK@@jtmka3Lw~$J+#@fnjAd@Z^IR(An)fT=++bBQbcw7o$%YcnnSA^ zND7ls10<7B10zr%0TN6IneCgJ5E3?QYj0*{d2@1ccx+~AYhr73dSP^Qb8B-gI59Uh qH#spdF)=bVH#9gjF*rCeI5{*iGc+|hF&YdC3JBl0{Jem=p79I6O7rOe diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_96.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_96.json index f44fd22378..5b73e3f9a4 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_96.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_96.json @@ -1,73 +1,139 @@ { "actions": [ { - "delegate": { - "validatorIdentity": { - "ik": "jzrCl0UMjbiFaQ2rv0A7kGIM/I3eGn8TLz+3YuL1BLs=" - }, - "epochIndex": "8151", - "unbondedAmount": { - "lo": "864682147450177591" + "swap": { + "swapPlaintext": { + "tradingPair": { + "asset1": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + }, + "asset2": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } + }, + "delta1I": { + "lo": "455467980574546047" + }, + "delta2I": { + "lo": "298052434489923302" + }, + "claimFee": { + "amount": {} + }, + "claimAddress": { + "inner": "QYOSHoGdoRG+h7w1U4XRhHdetggsWVLaHXwd2+isWGl2CTr1L1/U+qVvMsS3VTMYTlijn3bA/6esTwJ1E/ay32igra20cimH9r6UYlgxePM=" + }, + "rseed": "NveNd7HYfKvN0/bLuRSCdpxzGQUWlXCq1Ti4/8cdKk8=" }, - "delegationAmount": { - "lo": "326833752259186567" - } + "feeBlinding": "fUml5lAo484c/yG0oAbk8/ThH6NIDrNIMK42XLw0+gA=", + "proofBlindingR": "XDX4sWb85HUDr44FBS0vH8zPh3/H62e5iCciKitl4gM=", + "proofBlindingS": "VTrHsoS+cdjQnWTANQ7yJtNnueT1nKhySiZ4NI9WSw4=" } }, { - "delegatorVote": { - "proposal": "313081682", - "vote": { - "vote": "VOTE_ABSTAIN" - }, - "stakedNote": { - "value": { - "amount": { - "lo": "814032502443382975" + "swapClaim": { + "swapPlaintext": { + "tradingPair": { + "asset1": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" }, - "assetId": { + "asset2": { "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" } }, - "rseed": "agwVxvFbxa/kYfn1cZzrkO+BK+XsBYj6R2Mf3P5iiZE=", - "address": { - "inner": "9dFPlUBFnXw9PRN9CUmvfw/OTgRdhwrnz84uSW88mI8C0963CVa1VC5yqnDHAcSaLJADHP7W8Z1SmLCDyozyhyEuGfNxbV2/gkjp/CyuNt8=" - } + "delta1I": { + "lo": "973625171337344855" + }, + "delta2I": { + "lo": "712991887835954768" + }, + "claimFee": { + "amount": {} + }, + "claimAddress": { + "inner": "fXRfqgfZkGW7ZIw0CXe9oior2VvwSjvdIAJX8DAhM7oGZQ+rH1+sqiNxVrJCyUbUNcHqKRmHiSPkkaJ7VkRmqbUmMkF+0kP1qp53tTX2r+g=" + }, + "rseed": "OvSKLoKaPnPm0sVTlYxzfQs432Bp000o5tZWT9D/Vng=" }, - "unbondedAmount": { - "lo": "65012729502538182" + "outputData": { + "delta1": { + "lo": "93897255" + }, + "delta2": { + "lo": "560216406" + }, + "lambda1": { + "lo": "898" + }, + "lambda2": { + "lo": "1905" + }, + "unfilled1": { + "lo": "1675" + }, + "unfilled2": { + "lo": "1103" + }, + "tradingPair": { + "asset1": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + }, + "asset2": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } + } }, - "randomizer": "JEhULXyp9tPUW5vc5vegEjm6IdlzzUJFMQbkDQuOCwA=", - "proofBlindingR": "mO02PPy4B/nqOpLk0NvxAWw/0yVU1GJtZPt03p/mGwU=", - "proofBlindingS": "HLptWJR/YXKiNUUDWwivDAAZGyOsvr0Y5A+joPnkdRI=" + "epochDuration": "1000", + "proofBlindingR": "0QjA4NqVeJahfiR2KsbD+HU92Q1Xf+eqs96Tn+4g/ww=", + "proofBlindingS": "1/pUKXhaSmTxCk+9/spsIhxqHJIhKhQpiZMEwzKpiQc=" } }, { - "output": { + "communityPoolSpend": { "value": { "amount": { - "lo": "506559940712297023" + "lo": "32229005768571624" }, "assetId": { "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" } - }, - "destAddress": { - "inner": "GdmgwXY7KcDvkjZoJEpOk48bTP3J+WMhpTg6ElgEoJ+IvGsEydySYzqrC60ZHUehY/vhPRCWH9TiLHxWpP5Jk0JoVs0p/Y1A6S7gvAtH1QY=" - }, - "rseed": "czQrZfDtFVI9tJKJ9ccSkPbdaK14LYEoOcppmd5R6Bo=", - "valueBlinding": "oN1Hj+6i2PccWKvkuGv4YImW5WUFSlSCUijdYAsg8QM=", - "proofBlindingR": "xDwAFQhuqYIoVYS2pemWfVIO8QBtee0sahvSoEObrQ0=", - "proofBlindingS": "6YUpkqBO0obU7xn9XC0ktUXm5P3izVzzb7BtwQLZkAg=" + } + } + }, + { + "actionDutchAuctionSchedule": { + "description": { + "input": { + "amount": { + "lo": "103503964230418719" + }, + "assetId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } + }, + "outputId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + }, + "maxOutput": { + "lo": "939055371762680766" + }, + "minOutput": { + "lo": "118975699124532138" + }, + "startHeight": "16956915", + "endHeight": "16956916", + "stepCount": "523613978", + "nonce": "eHTOEhcxJEZ0YHAa5XK+oF+rS1wfW1+YnpA29BvWXwM=" + } } } ], "transactionParameters": { - "expiryHeight": "6858984278", - "chainId": "lquzghuvfjy-185036916095830232703681131466", + "expiryHeight": "7483626574", + "chainId": "rpzmsxitizfwpviqhkujkzyfvgrvzok-115393425831867", "fee": { "amount": { - "lo": "348178734158911993" + "lo": "569290083750729549" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_96.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_96.proto index f0628c001bfbfebe844a606efb857b5c7b876741..c7e302cdf2600e583b773803b7858761e436cfbc 100644 GIT binary patch delta 755 zcmV-CxrSZ0jsRkMf2)kvzH!*lon*i@ z4)P|`XSw9{oTze2CU`WDR!a^Fm;)k}0}2J)0SZV8k!K{4XC!|L2-ohzkM-Ta!3`P; z2+;h=(Spmv@(CgW3IHln3Q&D?U#bV$kY&4Mj5G;%y`m~B*<0{RJKZ1xSMV?)Gr9(4 z533(vtg0h%RM0qAi6i8ZqI*_EW~sF%GC_XQL-nejceOS4ujn!$I`oPz zf|@>a=F-Jem5e%beG53>U}@7$DCX8yPtgBXcp7aA1qi2v<17*e2-fnDivk)02!aP9 z0|@aBDgy|M4Kf1=&j>51;Q0g+}Uk!K@+8VU%$huM;< zyo`hmA_@qq=i=GP_^ZHG?$-GMLLhi_&Jq_fBt~>#a2n-uzMx;L zOI#mYUznbdHuM|TUjq_F2+pXy@EZ~@a&UTWb9iZVX?kXNaCT{NXlr$9YkGNRc4u;S ldT(njF)=kWIWsgeH8?X8F*r6i8Vm{w2+gkbfQrhY^9NqVM^69% delta 657 zcmV;C0&e|{2*(9x3PQpHKMEoWAdfo2mqiSXxP@sAtG_@ykYWt{jouo66E8ovV&e4# zyAanu8VU%vkdKqk`u+b4A_@qHpOL_hvdP2*3aSFC0j2^7(*C5C0U81b0V1dY3NQ)^ z2*0t4{`bd$rVEiTC4V4l3>C)lTg9*BVfpoOoa>P9fh*lZ8MKK2C4GWG7074*`?KV98xCi;_I+Enj+wlQxKhq^t)M9O9`*hx) z<{Je{ARM}FSd@QZa-uaw16v5M3;-D$Bdor?7~~J5p!wu=5(<$55{?22FbWC?zvSiI z(6Z`-2NEI*Adxd6e^Lri8QGx0b~`D+?~*oXBuY+`j~h(=$@ya;r8qhgSOlP-h`ehA z$=s4-I;#t<868KVWBcJf5SAa*;w*etr2a{hLTFaaDgBK==`P^B3rE!k8X$8tD`oKQ z6;eI4l8N=l5|H-YXsviHfhal3X_?+p=o%s*pxsB0?xNWDe;in=J2mU<)Ae11ccIJOC94ZmEJORfM*s>6U#`4)FkOdF?D}8`7Xdo2?BpAnAoElAun~ zhScvF{ah_1wMFLS{o>7B^KY zfOI;KtDD4iv&M+=cTEa*3XuW21C0R+A_^cmmbFeWUY;F5f6|NLOYHm*0kzh=${-A> zh#ozN>^f2q64&OLumKt`3JD1Jf|aZ8t-BzR_9PA>FbWC?iQLHc&DPP53z7CEF)#@4 x?EQxk5*lY{c6WJaX=QC^dTeE5Z7nr7H#jskFgYj+~L;{isl8ZIR+1-HyiIYD=It}xA+D(uFycR`u+3zb=UmMhpUMVFuC zzt13~U?8$D;m69m$1|9MkGi#%xM`$X@^(Gbz4Guh4Ktdy^1PW_-Vd`%><;x(r+=n52#}aou6$^5B~IPX&nTxj5eJe6)9U zf8S4LDK3uZ%RW3=`r%VAs}d6zgH{k%K!9?l`XAFNw#Bc!KHfO%yExnGcB@nU4)KGs z<^R2WC#G%}$a{Zm-LA~(^X;5u)^M^iD@mt%{?{qo$tvQ;e)IYEos~~NuYPy?QD0=y z=Zh9sLX8wYwEL{k)%9Ea%Xg;jfsp#BEr;&-O6&~mTsN;+Z+_{q%XUHv;+q}LR)u*+ zzj`+3DgS;I16$3Ye{uSo7I^Y)dd-p?&m^S~sK>S+I~yK4eY+Ve9bVp)D)chnyH(Utwo^!s|FCGt-;M6?9KA)Z_q}YC-u?I8Q(&-s`FZE-o%6pI^D1$1 z%-Hc_*{Z!On|ZX@IL`YDocHBY-^8o}N*Ip}r4p{>cD{&tFv%kFqjGA(9-ec3HnZ55 z@2Hr)mF>=YAqS41CqAE+7Sc*htjx(xEKW%)*3&gHGc-3aFf}(ZG&40fGdDCdv@o$S dG%z$bu{1L?FqY!s;^J8NWkdU>2R}Y=0013|6*~X` diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_98.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_98.json index de712f88df..c5c3e3c5f9 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_98.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_98.json @@ -1,65 +1,114 @@ { "actions": [ + { + "undelegateClaim": { + "validatorIdentity": { + "ik": "fz9B7xgj5Z3X5mdQJjJRgoMaGZfU8wr6Te2rlFBZxyU=" + }, + "penalty": { + "inner": "AAAAAAAAAAAAAAAAAAAAAP3gDRtxdY4hllK9PDYRNAU=" + }, + "unbondingAmount": { + "lo": "179846695860816524" + }, + "balanceBlinding": "EFPv1IdsURMuP/I3bWRp0nBGizpRiP4Go7QLRKgekwI=", + "proofBlindingR": "cag6jlwShj0TAiTnRtDmeHkrXMNwpJ4giTSCI07xPgQ=", + "proofBlindingS": "C6VhBayojlaEq06DAPpmNXSb14MTNWjXrCLY+v9U5wU=", + "unbondingStartHeight": "88894" + } + }, { "validatorDefinition": { "validator": { "identityKey": { - "ik": "+olAHcynlkX3v3Q6yhGtDNBs/UOl4pQYXpxe2uVqVAQ=" + "ik": "MBswZYBSVBoh45Pliyh8midVJVLZF4D39fjOtgJ72Qs=" }, - "consensusKey": "u0iQiSGIiN2imbqiW4ryRNuUS73TnsYBlLF9b4e6bbw=", + "consensusKey": "krKm4kke00qErgZvexoFpAgzYWIX8EAfUWZXT5lc6eY=", "name": "test validator", "enabled": true, "governanceKey": { - "gk": "+olAHcynlkX3v3Q6yhGtDNBs/UOl4pQYXpxe2uVqVAQ=" + "gk": "MBswZYBSVBoh45Pliyh8midVJVLZF4D39fjOtgJ72Qs=" } }, - "authSig": "CDhiaPSIK2MDWOE246Ls1dQgRy69fv60r/x6dPi8sAHupT9aIdVTlHQMUF7OPdGbY39MdDNr38KbZN0B5o5fAA==" + "authSig": "gH464cwZKxrboM0sKC+V0jMXwWXp5A8vTAE4eK/T6Qb9gQF98c+z9U/7aXehcPrQGjH35F4hEkydgKxb5yJeAA==" } }, { - "proposalWithdraw": { - "proposal": "407059286" - } - }, - { - "communityPoolOutput": { - "value": { - "amount": { - "lo": "183483303148941898" + "swapClaim": { + "swapPlaintext": { + "tradingPair": { + "asset1": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + }, + "asset2": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } + }, + "delta1I": { + "lo": "597052914115991959" + }, + "delta2I": { + "lo": "666730935724412379" + }, + "claimFee": { + "amount": {} }, - "assetId": { - "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + "claimAddress": { + "inner": "J7elw6hPwJLfNhHZkBU9DEsWQv1HsAGaR4KYdpFpSddKUo4BA2OER95h4AnYHGKe7itiD+CrJ/dDnu3WNtmC0x9gLcqskLcPd3sUeq0xH+o=" + }, + "rseed": "IzOCeHnev8yiLqEyb/r3nQm2U98F8WcL1Xu3FCwZAFo=" + }, + "outputData": { + "delta1": { + "lo": "1550828251" + }, + "delta2": { + "lo": "204199578" + }, + "lambda1": { + "lo": "843" + }, + "lambda2": { + "lo": "976" + }, + "unfilled1": { + "lo": "972" + }, + "unfilled2": { + "lo": "605" + }, + "tradingPair": { + "asset1": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + }, + "asset2": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } } }, - "address": { - "inner": "SXvdibMLjqxm9tri5M0RPNXmse1RviBZW8C+UZDz5K/BKGSireSlAh+7fmI58/RyBgwPTw05Ad/J8wwCFMCfADFKm+9H1aKRR+yBvJe8vuw=" - } + "epochDuration": "1000", + "proofBlindingR": "3SNLBnwuqUwqjhLWVBWtAPuJg4akiyZQ0jfcPuo0qAk=", + "proofBlindingS": "+rs+MhFF121k42UW9S26GSG6x+2vvP9wWGLIEVBvdAc=" } }, { - "undelegate": { - "validatorIdentity": { - "ik": "dTLKcnzzkVKr4tPYJAKycUWh1/8r9KhJZWLQCpLUCQ8=" - }, - "unbondedAmount": { - "lo": "285060289107982186" - }, - "delegationAmount": { - "lo": "893818470956678012" + "proposalDepositClaim": { + "proposal": "393907336", + "depositAmount": { + "lo": "638775907206762079" }, - "fromEpoch": { - "index": "8283", - "startHeight": "8283" + "outcome": { + "slashed": {} } } } ], "transactionParameters": { - "expiryHeight": "1566745428", - "chainId": "cgzaiweksieyipsk-83599040002049045597151361", + "expiryHeight": "380997429", + "chainId": "hstzhgxbschdejbzwnz-2251077073402109858850303184663", "fee": { "amount": { - "lo": "920577261845310446" + "lo": "71381066279392515" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_98.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_98.proto index 3dab9f4de2865fcfd650793e74ba6490e380c44f..d46d4f0e4d49035e0ff693b95530b07dbd4a894c 100644 GIT binary patch delta 787 zcmaFO+{0eab%^m2(>_KnB`$?}d&l<@%1`HBf0iDgW)#@eEG0Sp%4e=$zHe7g35Yzd zssvQSfCm0P;FT^c?NgiGQfqQ8p>zWmPVJ)luni+njnU>7H-YjgIaea-_jbHymp0j%F+s4Xugt3Y703%lo z$R7sM2B{4}AySHuCqM1hsF|f6sv2}tyy5%TALq6)Ro~F}^%e`qv*~CoG>s~>9jLgX`?)MTO zaNdwfn)gmSiT}ZB_3zH}-d;1i*>qVxLHE>}3ETP0t3|5T8p^*iQcyN-s;IoT|I8x2 zg+}?mtiI3X+!lPF^#i5e(kn15_G+uoANkS?5plBNyS~q->%>DzaS#%gkV5^2|JhMCPp!ij+w7^ zGYWBW+@I6acK99!pI+sY_poKaj-m62YNRGgfVlA4uNRi0O+t7~Lr vYG`0?ZeVU~Vqj!wU}<4$VPR@uY+!6?VPa-xEXB>m$uG~FRd?l&HB?@JUIhiSm zCHX}Tj9z%n&43#0z+sV;@ufpMnK|O2+2ciTu3k}a*V|k7Z_D~WRV6?6Y+!u1)ILh_ zYVed2o`AS>wijn7*ZY(hXWu_GJLN9pv%Yu+F3wquY#i6V^&Dd4>SCP5+{Vadz{SOJ z>dC^%KNo#J$~1WolS;i%5LbX__1(_R+kn$AEL!_yDUl07=lfR9 zTK|h#iHqaUw;em?J-xS?M~jW)wu8WJ2O&p}E62KCvkGY^r&lFrmZxSHXQozW78Gae rS{R#JS{j%b7#J8Cm;f23rk3W0riR95hEhC0U%tD3_sFr9#gBOaNiWiY diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_99.json b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_99.json index c19b7085fa..bf95c8ccfe 100644 --- a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_99.json +++ b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_99.json @@ -5,36 +5,43 @@ "note": { "value": { "amount": { - "lo": "963234966043949978" + "lo": "751448120343933306" }, "assetId": { "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" } }, - "rseed": "WdG3+QcwN4CXUod79zKlOfnwz9bJa8CoSSk8o9lYMJM=", + "rseed": "7L/FyeshJmJK7r6Nxuu8hQjRGKrFB0a4dsBwwysOTeI=", "address": { "inner": "r7ae/+8Q9d3QdaAs66/GAAbYBo/Am59nYWeIBU7REchE3LYtFPa1EHW2Lo1KZcRWuXzO/cM54CLSFnv2iArQnxjrlJnTB4nGnuLdFtCY9vc=" } }, - "position": "265376821061201", - "randomizer": "vIqQubQc9c1AUM2/7/7ZI039AjxHQkHQMCLjcA8F5QE=", - "valueBlinding": "qszei8uPOwRMd6TO95MqXH93jBnvxZG9s04KVeTAqwE=", - "proofBlindingR": "+Tpv9t8ojCim0+3cyzqfAdKOpIoH2qlBF76U/eO8ngI=", - "proofBlindingS": "yb6FHS5QZsrakAlRoE1FYIeNDM6q4j1apl6QIZoiOQA=" + "position": "243045536227121", + "randomizer": "zBErvtCVnUMTlWlfgfVv0wcUt8IbjLUosnDcKscsxQM=", + "valueBlinding": "5cq4dH+VPe22+wTob7j4vhzM0j5wdKsoAhCaf6csswA=", + "proofBlindingR": "epyCi5mlPW0FAK3FJCclkXvOjrKr7KCFZyPkJS9oKgk=", + "proofBlindingS": "vuABakiNPN9iJmam3YkX2FsIJik6dFfPX281mEoQFwg=" } }, { - "proposalWithdraw": { - "proposal": "859066776" + "communityPoolDeposit": { + "value": { + "amount": { + "lo": "201164826129915642" + }, + "assetId": { + "inner": "KeqcLzNx9qSH5+lcJHBB9KNW+YPrBk5dKzvPMiypahA=" + } + } } } ], "transactionParameters": { - "expiryHeight": "7029487225", - "chainId": "tizxgst-83617395365617999388632418", + "expiryHeight": "4505369932", + "chainId": "kvbufljmwrscjssoeyosjigztwnrmgnv-40636733089263", "fee": { "amount": { - "lo": "954799719241866939" + "lo": "605464275970447147" } } } diff --git a/crates/core/transaction/tests/signing_test_vectors/transaction_plan_99.proto b/crates/core/transaction/tests/signing_test_vectors/transaction_plan_99.proto index 6eccd4e16676dbf9a4c5a9640f39fd520a525f97..0ec876c1cbc2e12b290ddb81a0b41437b2dada98 100644 GIT binary patch delta 305 zcmV-10nYx01HS_o3cdmgy8;TR0SYh*3JCh*@WI%^>$VD!7bYO=zs1SxAtqu%4^s(HN@52S&Jdz;MGW4o%{bT~&XvzUP+5p*I>J%n>WT(3PD-6P0OSf%R|G2Nbu$ z8;rFmvT)og$1KGIA|U0;xO9J&J?*yp1n6(L_`V#>(mrr>t0)2xnt!J(vj8d}dYpob znWa5#1puwZBqt@2d(MustL&hKXCve#FK8+WG9bR-0cuE%Jl|p_W~SYV7uX|P2qq~y zbXU(`Z#9@o5ElpvHKGGD3NQ)^2>QL7mjBADaG%z+ZHa9afFgQ6fHZvLw3JM6TuA!^Z(ZaI` DC>Vnm delta 281 zcmV+!0p|X{1BL?^3cdmgy8;TR0SYh*3J99_qmq)NhOZ5g7bYNC(YN^rFgJjgQipr@ zGNn2B@XyxCYrv>UDLkXuSTK{3T~&Y4%$nJ~t2`PYyo!*yv>f%#Kv2!U@BY~%P5lBq zM?yi+Fe2k{4+Z4`A|R^F-iynRI|NL3q|Wz~DqMeej2Z96k-f7{3RUF5s{tw?`8sd* z-zbbIrqk`*%Q~L{(vGBx2imDY7rvDJ02$-YMnFA6y2>I;wml_fxbZL5cXLEEdI5RdeH#0dkGd49g fF*i9mIWssoHZw9bF*q6w3JM6jy|;*ysfeHryQq2E diff --git a/crates/proto/src/gen/penumbra.core.component.ibc.v1.rs b/crates/proto/src/gen/penumbra.core.component.ibc.v1.rs index 2eb7b4651d..995f53eef1 100644 --- a/crates/proto/src/gen/penumbra.core.component.ibc.v1.rs +++ b/crates/proto/src/gen/penumbra.core.component.ibc.v1.rs @@ -71,6 +71,7 @@ pub struct Ics20Withdrawal { pub source_channel: ::prost::alloc::string::String, /// Whether to use a "compat" (bech32, non-m) address for the return address in the withdrawal, /// for compatability with chains that expect to be able to parse the return address as bech32. + #[deprecated] #[prost(bool, tag = "8")] pub use_compat_address: bool, /// Arbitrary string data to be included in the `memo` field @@ -78,6 +79,9 @@ pub struct Ics20Withdrawal { /// Commonly used for packet forwarding support, or other protocols that may support usage of the memo field. #[prost(string, tag = "9")] pub ics20_memo: ::prost::alloc::string::String, + /// Whether to use a transparent address (bech32, 32-byte) for the return address in the withdrawal. + #[prost(bool, tag = "10")] + pub use_transparent_address: bool, } impl ::prost::Name for Ics20Withdrawal { const NAME: &'static str = "Ics20Withdrawal"; diff --git a/crates/proto/src/gen/penumbra.core.component.ibc.v1.serde.rs b/crates/proto/src/gen/penumbra.core.component.ibc.v1.serde.rs index 58fd339e65..846d45e6c9 100644 --- a/crates/proto/src/gen/penumbra.core.component.ibc.v1.serde.rs +++ b/crates/proto/src/gen/penumbra.core.component.ibc.v1.serde.rs @@ -1060,6 +1060,9 @@ impl serde::Serialize for Ics20Withdrawal { if !self.ics20_memo.is_empty() { len += 1; } + if self.use_transparent_address { + len += 1; + } let mut struct_ser = serializer.serialize_struct("penumbra.core.component.ibc.v1.Ics20Withdrawal", len)?; if let Some(v) = self.amount.as_ref() { struct_ser.serialize_field("amount", v)?; @@ -1089,6 +1092,9 @@ impl serde::Serialize for Ics20Withdrawal { if !self.ics20_memo.is_empty() { struct_ser.serialize_field("ics20Memo", &self.ics20_memo)?; } + if self.use_transparent_address { + struct_ser.serialize_field("useTransparentAddress", &self.use_transparent_address)?; + } struct_ser.end() } } @@ -1115,6 +1121,8 @@ impl<'de> serde::Deserialize<'de> for Ics20Withdrawal { "useCompatAddress", "ics20_memo", "ics20Memo", + "use_transparent_address", + "useTransparentAddress", ]; #[allow(clippy::enum_variant_names)] @@ -1128,6 +1136,7 @@ impl<'de> serde::Deserialize<'de> for Ics20Withdrawal { SourceChannel, UseCompatAddress, Ics20Memo, + UseTransparentAddress, __SkipField__, } impl<'de> serde::Deserialize<'de> for GeneratedField { @@ -1159,6 +1168,7 @@ impl<'de> serde::Deserialize<'de> for Ics20Withdrawal { "sourceChannel" | "source_channel" => Ok(GeneratedField::SourceChannel), "useCompatAddress" | "use_compat_address" => Ok(GeneratedField::UseCompatAddress), "ics20Memo" | "ics20_memo" => Ok(GeneratedField::Ics20Memo), + "useTransparentAddress" | "use_transparent_address" => Ok(GeneratedField::UseTransparentAddress), _ => Ok(GeneratedField::__SkipField__), } } @@ -1187,6 +1197,7 @@ impl<'de> serde::Deserialize<'de> for Ics20Withdrawal { let mut source_channel__ = None; let mut use_compat_address__ = None; let mut ics20_memo__ = None; + let mut use_transparent_address__ = None; while let Some(k) = map_.next_key()? { match k { GeneratedField::Amount => { @@ -1245,6 +1256,12 @@ impl<'de> serde::Deserialize<'de> for Ics20Withdrawal { } ics20_memo__ = Some(map_.next_value()?); } + GeneratedField::UseTransparentAddress => { + if use_transparent_address__.is_some() { + return Err(serde::de::Error::duplicate_field("useTransparentAddress")); + } + use_transparent_address__ = Some(map_.next_value()?); + } GeneratedField::__SkipField__ => { let _ = map_.next_value::()?; } @@ -1260,6 +1277,7 @@ impl<'de> serde::Deserialize<'de> for Ics20Withdrawal { source_channel: source_channel__.unwrap_or_default(), use_compat_address: use_compat_address__.unwrap_or_default(), ics20_memo: ics20_memo__.unwrap_or_default(), + use_transparent_address: use_transparent_address__.unwrap_or_default(), }) } } diff --git a/crates/proto/src/gen/penumbra.view.v1.rs b/crates/proto/src/gen/penumbra.view.v1.rs index 9509181335..5ec54bf491 100644 --- a/crates/proto/src/gen/penumbra.view.v1.rs +++ b/crates/proto/src/gen/penumbra.view.v1.rs @@ -1,3 +1,32 @@ +/// There's only one transparent address per wallet, so this request has no parameters; +/// the message exists to satisfy forward-compatibility properties. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TransparentAddressRequest {} +impl ::prost::Name for TransparentAddressRequest { + const NAME: &'static str = "TransparentAddressRequest"; + const PACKAGE: &'static str = "penumbra.view.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("penumbra.view.v1.{}", Self::NAME) + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TransparentAddressResponse { + /// The raw (binary) transparent address + #[prost(message, optional, tag = "1")] + pub address: ::core::option::Option, + /// The t-address encoding of the transparent address + #[prost(string, tag = "2")] + pub encoding: ::prost::alloc::string::String, +} +impl ::prost::Name for TransparentAddressResponse { + const NAME: &'static str = "TransparentAddressResponse"; + const PACKAGE: &'static str = "penumbra.view.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("penumbra.view.v1.{}", Self::NAME) + } +} /// Filters in an `AuctionsRequest` will be combined using `AND` logic -- that /// is, the more filters you add, the fewer responses you're likely to get. #[allow(clippy::derive_partial_eq_without_eq)] @@ -2117,6 +2146,34 @@ pub mod view_service_client { ); self.inner.unary(req, path, codec).await } + /// Returns the transparent address for the user's wallet. + pub async fn transparent_address( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/penumbra.view.v1.ViewService/TransparentAddress", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new("penumbra.view.v1.ViewService", "TransparentAddress"), + ); + self.inner.unary(req, path, codec).await + } /// Query for wallet id pub async fn wallet_id( &mut self, @@ -2800,6 +2857,14 @@ pub mod view_service_server { tonic::Response, tonic::Status, >; + /// Returns the transparent address for the user's wallet. + async fn transparent_address( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; /// Query for wallet id async fn wallet_id( &self, @@ -3596,6 +3661,53 @@ pub mod view_service_server { }; Box::pin(fut) } + "/penumbra.view.v1.ViewService/TransparentAddress" => { + #[allow(non_camel_case_types)] + struct TransparentAddressSvc(pub Arc); + impl< + T: ViewService, + > tonic::server::UnaryService + for TransparentAddressSvc { + type Response = super::TransparentAddressResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::transparent_address(&inner, request) + .await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = TransparentAddressSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } "/penumbra.view.v1.ViewService/WalletId" => { #[allow(non_camel_case_types)] struct WalletIdSvc(pub Arc); diff --git a/crates/proto/src/gen/penumbra.view.v1.serde.rs b/crates/proto/src/gen/penumbra.view.v1.serde.rs index 140a24f431..d5b11ff8db 100644 --- a/crates/proto/src/gen/penumbra.view.v1.serde.rs +++ b/crates/proto/src/gen/penumbra.view.v1.serde.rs @@ -8305,6 +8305,190 @@ impl<'de> serde::Deserialize<'de> for TransactionPlannerResponse { deserializer.deserialize_struct("penumbra.view.v1.TransactionPlannerResponse", FIELDS, GeneratedVisitor) } } +impl serde::Serialize for TransparentAddressRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("penumbra.view.v1.TransparentAddressRequest", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for TransparentAddressRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + __SkipField__, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Ok(GeneratedField::__SkipField__) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = TransparentAddressRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct penumbra.view.v1.TransparentAddressRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(TransparentAddressRequest { + }) + } + } + deserializer.deserialize_struct("penumbra.view.v1.TransparentAddressRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for TransparentAddressResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.address.is_some() { + len += 1; + } + if !self.encoding.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("penumbra.view.v1.TransparentAddressResponse", len)?; + if let Some(v) = self.address.as_ref() { + struct_ser.serialize_field("address", v)?; + } + if !self.encoding.is_empty() { + struct_ser.serialize_field("encoding", &self.encoding)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for TransparentAddressResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "address", + "encoding", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Address, + Encoding, + __SkipField__, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "address" => Ok(GeneratedField::Address), + "encoding" => Ok(GeneratedField::Encoding), + _ => Ok(GeneratedField::__SkipField__), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = TransparentAddressResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct penumbra.view.v1.TransparentAddressResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut address__ = None; + let mut encoding__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Address => { + if address__.is_some() { + return Err(serde::de::Error::duplicate_field("address")); + } + address__ = map_.next_value()?; + } + GeneratedField::Encoding => { + if encoding__.is_some() { + return Err(serde::de::Error::duplicate_field("encoding")); + } + encoding__ = Some(map_.next_value()?); + } + GeneratedField::__SkipField__ => { + let _ = map_.next_value::()?; + } + } + } + Ok(TransparentAddressResponse { + address: address__, + encoding: encoding__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("penumbra.view.v1.TransparentAddressResponse", FIELDS, GeneratedVisitor) + } +} impl serde::Serialize for UnbondingTokensByAddressIndexRequest { #[allow(deprecated)] fn serialize(&self, serializer: S) -> std::result::Result diff --git a/crates/proto/src/gen/proto_descriptor.bin.no_lfs b/crates/proto/src/gen/proto_descriptor.bin.no_lfs index 047ad2e205b0d73bdc1dcd235f2640ed77b5df5a..895f0f725959cf9de6b287980a762aa4d11be6ff 100644 GIT binary patch delta 16932 zcmZ{rd6-qj)$Y%(UAy}9X~qprH%&J*Q!_(D(+mR2Bq~M}aMlh`qT@|fT_r@PgRqqb6cV8S;*>~>O9a_>O<1LZ8TDR<+7O#tX)ECkV zmNk86-jegqpS%1!bLY=r+O%w0Wxh7*pP#HMBRlKpc=(ufRG~tomM@*Vc-i@Lmo_af ziWWq4Ryoxt7HcPYo|ctI$0k<)sRWz4JFbb2TvE^!mZtF$s!!F~wWlm>TE4Jp zY3=eQwX|P5xAxx*tPOps?SFRDyoC)T2G=%>7;^SS%bNz+!L#E5%|i6IZAruMB1?Wi<9QdNg4MLS2fwj*3emS#36 z)Q+s`7SsUKlj*SPNLR3DQ&)^}GUc1*t9@oDMq^k6Rl zzUhGvgy8hj4vr24-SkeK9bJ;@<8sG)x&*1?@?9KVB6MSCsDVxgWYTy>UY2IOksbVERC(42Cty@gr|~T1KP(8US!G@s1l6p%A(;X zE0qT3*iNU$Cl8zx#x7-W%_;GN4FuO52HQ9%Pu1CW)2Z=x=P_naWLtKQHNQ5^M;5fnsX`i0RHs#qsh!od{DP&6m({X}{l}$i z!4lRs>R8;C_FGna;oR?iuW7koxP%7(O*EC_KS6x4iCx`H5QH};PB^8|%QaXgOVYTi z^69lRFKAkNQLXTLvf4%S-E={v47w?%U7#z2Zc2N%YDgV)QwEGJ9OmfSuu9m+CYmur z+n_VebPhUg(3w{5W->Z$(3#eFY+;DgY0C;?`%N-~hPFlL7}F)_v_AT&r#E&^fNvwsuVO;|2^14DDbzu70Auak8nl116ie`p5?XSW*B0m9j>Ms$E;Hb!{EJ2Ktv_$g-4_>SnD+}hcW=$zcz z*^U@-a^tvQL`N7-9zUyawre$IVX!w%F>{8dFq~%GQjddD7*6XlIOwG4oHlw!VXV{X zl*VV;;Zx1%p`Fk<({u|`ozOY6dQ67UIdjUK!cUw|XIT=qOf^3m-x-}bt?hJ1XHIK7 zow0Pz=m~+LGYoSMKdEqzV<=DKdG@#?P1E>t80NM5ryPcPt^O&8Vcysy0z)|r^Cq5J zIL|S3N#h0fFGrg14(kHLg4WU51%?H!qq7S-3mBcBE2mVE#*14noo1Fr!z$2PY}y9y z3bYotb2}dXsz7UTzfpy|W2aS_#uv5>JlfnDO{hfc!q)y)qIF?we=D)}!q)y)!f_$} zy+S*VuBl$t(q+0Ss7YNTen+N)z(b}}S0%8rK7;HxtD$?1goG~8+99%L1@-Sla9(DG;5=y=NE4Dj_8)^4J~ILXKJEJ-Qd{} znI1v18$27L+KCy2XG3)C%nZV_A)2+UaEUjkI!!j&hh~^n6RV-w6q(*Zuo{|8QJa)}b78XUR86Y4*#AD>Ol+=!WlO~T^S-HpWlO{a3=ozr5i>AAShhs< z6AQOQ>iGMp4z4sP;sHwI&v_C5yjz5&!+?Melq9I=?s#u3ff-^>0!0vf8D7 zt*>1;cUkS?CAF-)bI)s9-n4YtxPn_D&m(G`drnhr(+?IcTh4;Iq;}cd<%^araBJO# zbC=E^;v?KeXD|BRqU9IWp1*Vn?JQr^w2bAnjEIiSNM9G_douDA;f}c>%H0%2t}1G# z?uIDet1yziEMhOy+alGws!sY-yL9e_gqVvK&s}=afd90J7sM^1g_lt4l0i7PMHSA6 zQj62JMLl~JCb=f4+>UHjgKJ{p@*!C;o9$_}OBVe9c8#pTh>#1Cd}xr(9$4BjgEY83 z>Rev9S-z4=%`c+dU0Y5tH+E*1*T0DJ6@`VEqNKOCMb`ev%xeJ9iQ6L8&5-~Ry)CL9 zm_ayii-rs>9OpEtyxkr%(;S1M7;}3>Bq7cKN?laqCYwMMZ;uFAk9Ud;uRH9MGtIFm z66WeVii%>~9Z^Zwz(WiIBw{_)DT3~_Q)ZbHo0WHqOt)&QyjD>8rYCQi1tLIMi&|!59ks5>l4ke!^i|se57cB^z)IZOV6Mv z9(g3{)3@*}t1TAL=+lv^sCqcID;`wU_PL6cfEPe)`uzHgE_ zJslB=%GA=Sc`nNB4bBzG=c0VA3pypU&@V&;DnsqtYfM*r!XaI1zkQ17IFl-@rOtcW zB^tmwx2`fu#nCTBV-IspB&pdK<=zfWkZkCE5fghf{YYZgqu)j9f7xH3V(Ke^)c!6i zR1~I?ZUV)GSFAbJ96sJ5I`&GWOAGA_CB7Q@SE52%ETH9Aq;nExCpgi(8mZUqPfs-? zp_kA4s)!GA^lt4qV4pkH^lhfnb?QK*2M0C^kUtO&8B;8P{y;Qte4(At=du2cNc}#F zoom6!zY*mnXro$;e>2kFM=q5T=x4mkrGROzS8aAado$|YC+NcTR;1m&1(OUh&& z=IdKgTR&Q<#j3ZW%C64cCN+PEavubD8+iT@<$Fu?q{+Hc{cfa2RP}HRnM=>-&Rf1{ z$zuDL(@f_Em!ye=A9gNF1NQRs3rIunM&xOyIX1Z8w~eQplV%#XqP(9i3_z)iO8oK) zMDhKot0Wgnm!#&yDEH4`At|2zFv|Clm`9h$fcR6S{%qek-OQ-~Qv0W^??%LDj(;4LZbW=mZ7u5#R3REkGl78L#jlE)R&R^It(c=@?T~{N>X6`Rip>GaR8$Gz|I*&_N%D8&O<+> zzKX~pWjL0IW&enDbr6;z1#Fu^SKH2S0mx$2KV%D#50+2OH&O2L*zdn&*7_Tn!Bb$B z)LI{63#w{#L#pWq=Px3oS=hAb9Q&=a%)pT@!4?U>8o3M`Sn5XxkcJM)$hgq4!M#%1 zooAV)Xo`s|m2%M%Es5(^sy_Xl#XvMyszHMbWO3B8Ca+fZgzpd^0nl8n!o~2lRu4swKv7*sM^AGl`5+Y4RKZg?3&HMwlH0#2FW3w zjD&WiE8_EJKP}op1^)dK5iD=>hun&zFH}lsbOOWsDK$&2dJ)AW!cc?7y{Vyu)xg818{<**3!R@ zBvM7AI>H3Zm^g6&I-{CpQQ&j}+-em^5WrTW(p1}`(^IH`8C43EEjpc33Sg_#IhX+A z^ky+i_KRzkx>3bdOKNAI-!yO0f<^X{`R04&RH1mS%6BMCaOQVP^;TQbWX3k+RVSL* zs6TsAWX?d5;|hI)(%EXp$p)}{HXt~@01g`J z(x$vBC#SK|0yAM2zgfJttJYnB0}Wtlw#0C10j$VoWH~FrcA1gw*i_M#*}Yv=4{=dl zUUf#T`It2Ajr7PT4?Fx|JsVZxV1<>zQwLP)R6Ckil>AqEi>?h}%F81Yf zOx1TpQ+6^cDqA&WFWaTM`oP6WK($K|{z+t+moVj*O5LMk|4Ce&@=JyKOxKc&Q|?l_ zSJfnY-Xhc6E?H=Lk3-Fc1XN^3`-tVPqR~ELxl4>bDo|m{Zu`PQGwF085L0&-P4yAW z?xLv_VCwFosU)lSD)p;YQ)RQgSJ98-9KTCh@3#vVnWHe!=dAY^4fI*-{Y3*Qfd76m zaC#ts@B#a$MP{la5Cb1jx@+*I&t4x;RdvMz2p&+xJ^s6rwWj(ZyXagq%@N4v_mGTX zi4nylvG^g?y=Soif`=5@*0f*&c#r+lxn|-SA}^`ho}!B=fMAd6TC_mYwLM~i|C*$* zk0|v-tBXYb5k=Jb%g8k#cUJmwyZXCkM{_>*dFW8-hD*@*`5OgYiUnvqsVZukizPJiq$&zhbo z4i*Y%;+dkABtxlwwrHhKohZnxq`*nETItiLXEQ7N<@vhid8H1tnkn(m^QzFbaDsED z%cAz$m(DZO8BRWB+N+4G{m1f2(_U3GtXP1Jd)0`BFnLLb$bs$2i_NiT34!DY`?$1e zl@|;5sj?!Y%(#83N48p^!UDNZ^&H9CmFN3PffMP~P`Dr%$(VoH9$IXcjF);D^Disy z^CDM38!xLqgIXJvp!j7qbXeh1KPHV7?6*6Yn2T8rK``tuju;AH*sm)3wKB+{->E17ein%(Usr`L1@c1~WW4T1sf3&-nn!b!H5d42E^1J&)3R?Nyl_CZ3*9QU!KeBC>nSqW# z=I2L62XLh*^+gA`J4Om{Ktmv4(0pwFYnd5xwpbv8=3};#S_*m7AC>G$sk5%KS z(8EG%{-V^Utv%#QO#ej{`VfIg59Qub|5fQ}RYOP??Ms^(6y?iJ74D>p#;9uy-0nV- zf>D!-1vK_o#i^kGTxF^GOsOwg8i%lg2)`YnPi5-_FM%_&--V8?F=} z|GDa)b%p}?KQDHsO=`YU>YG-638TM~&NMpyHp2h4(xdHjHF1AC@dBgqI;FHjan=q6 z=zU#mhXUI9TH5i3wh^!X%Qj!&32qkBa?XSOYCb3Ahb%)EV z|J@|<%<8x-+o_R&Vs*@(bYWlsuZivW3(fhCf#($9f9sSiQfuO}ELdpkj+WQN98r%C z3@lP>WBcKSrjf0;tDz5ffH4tO3iU&*1rZiLN>NsZuYqQLttK+;sxN!4lOB_yL z{QLp>a~nT7c;XK}8|-PXvg`B}{Mg|x>=y)MpOAKH^~dR-ij z@)>{RZCm4TCIQ4dK%d0=(YZCQ^cf3~ZfuR&8-%u9YHo~kKM%BAPU{;p=d_c-zb)$p z2v(r)1rXV7Sug6r&~B4%2yOe++!W_-4YZPG-XzXB1)sMU+FR@~KQyzO`3>nUna6=h z-jaD720478Ga?ut3a7ut?Odq?I05VSz=0U)w>WF7!Qdq?JgG&Og{x%&dE^R8I}UeIKzMh{V4m%isl3+?`LQ{EM(Prdd$SJ>l)AXG zpPL0h6z`1*Dx{m8QqvOWeiICmthGhP56>WUCo$+j`|OX+s9F5Rm=L7e6&e4=;DSz`i)# zO#)He7xRotdIY4geK8k2^Dv!*fLH926=rT{$@^c4^WE6TuzZr8MWfKo5b#bLX3j?C~QQW&v;oDA;UL0g?syf~tzs3x+KU{74j;wUUmSR8Y zflwUG)+itp2W5@gC?*S$}{iex0r4Ra}b1xu0r(DI)JozL9w|46~}l ztV8zoHD*vVzu`QTZSz1R55?iC6bR>`I9!!>OU=bPw<>VTo0E&R+d8%GCY&p^@;AvK zSb=`60V2Cn_wvW7Kv-955^uLVRHx<=om(4dO4cYISs|6yE{e6CF*Zs~tCdN>+{TrFz;?ZXvHp&E-0GZLmn* zvs|v(2IWq;Mo#J0X|++?M^7=sD#28*)8SGWC?;>vw&YYZVS=vzlrhP;XMt+M9_rf(oZ#9v!tY{$Ef&MlLh^*D&UbyB2=X0x> zhq9U1h|jNKgauvkIndt=Q|W5My)Y1~uF>2JAI>c5o|@}*?hZTQax=DbcLcB3YycZ% zW_A~gw%N-rHVe>0nsr7-Ll60Gck6Hu1fm6? zzpVixd$;cD!yF)_cWWZ4qam$L^?i231~cuPTBPpN?2i&)^-N8R&OI3BWlySFbVxIL zN@EXbgmbhQsWfHd}iCh(XFYcDxH9ly~`w(neN^uRsZ#r&K`aV)BH zPlVQb!|;ga$@bB7t+%xHsNJ>EOdZ8<+Ilow?0`rZi(}rHGGBnZIBGLie~X^U)R1X$-CAk99bCmim+ zLmfwuI=3&d)*<=4tdH{1>m~~A3p!kG);U_BALc-WU(mI_6(F=PXwDu_5?yi5i}uE= z%uHLm*_h@Rvmr>0RAqx6h~A4b=w(>+OU>_e?v-FpKO}#rLweCqta(|7TU!vF1o~@Q zAhIv(E`DGGVSQN!wy^e3PdEE@?)5<1AJP3;FZ&Dat63*O&;orYfylm^brJ~et63-e zOD7N57dM%i&HQGf9mskKl)9{!Kok#Ty&RC5H+Am!!JGj|zM1uMfSB`^4p|cjbAW!` z1tR;FZtItDAgpg`9`iLzHasxZ@912u%Z3Lc_>LbRN)JlS|LEL%p}j#={ZF7Wd|!Q#~qv-u9fuR!BQFVNM7B@>A1hq`OCA3j4;^RdqTIdpUgq9149 zd5BnaP%G~`5VSx~3qaLVHlRm%sf`dT44s(Ye0`)}cs#qIpI%0%L~?>!(`9 zbya=rAFA@@cH|b*c{as#m~y`-0a5x?_wfA(LjS1_hYG_|^LL&5N1z{uTOEpcLaN_F*RwoiB8$p9(6(wxIduj^CuPo29Y@nL5@lK+$tQJ#3#i&@{;8!S&e`3>hc87C0Q zZ*-~O#({8tBis03r%2@?TXl`;KeFDfj)yWI0i`bU5fH^g;v=ufzP%!`-@nH6LsNFR z6-gLQKr~k*;qe#{%@qlc$BuDLf>tK>rEAR8#(I|xtW3g221IjZLVP95H_*uvUA0KG zQZHNg>cmd}nc3Y8pwZPyI7I`Zx;hDmXh2j~C*crncxo<9a+d|)4M+0QB&@2##dm9y zFfu@}0{yTABD*#TPkex|u1&~zU3fhrHCH6L^?`N-qE{q&|2$@d(5}m9LC^v{EfCpt z87&anbwVp2x*;_iliXE-wE@YE2?3kT#Rg%$GU2GqJ+%Nr3-%)oi13w3csmM&_R1s- z>yfG1oaAhv9f{=TB;*1kh4yNp6}N+61$tH>vR7xUKv=Jy?rAmB)NaYXAP8Nck5hrJ zwwn({faq>X2t|&iqm8^^NC-@yxXw)L)QI4<333BuGc7m=r;TNt!6fg zGM=|3A;bZqxGf1MsX!FBC1kgKog!$voqxUQIi}GK=k3`<0HU}(3F|6QM5RUkwuBZL z%{M2inl}U7l6AHFuQwI6Eg>nzek}n)adX076w0RoLUD5vUT8N;NP4TSy@40n{1#AD zl#uk+BrHPIqIhe$_5D##a&4^ ze^L!ZahLd4X2Yn|+?nKB!mu5MN7?@mHY20|C;Q!}8e4T}j7-Mjr_BB~6P-AM=uK)4U+KNt|z-I@D>5l8t=S4$}N9DKbnE4-kS^_ozt#ryETp56Y@5e|4)z%eQ;j{`lwSs4@J8^x@3=Ktvx->ii=>7jQ zqe%#A$B0>vCE>6I1S`;=3<8mTEa~kJNr13EmT=h8emt~eQ}bk!dpe1DHov03>TCbJ z-L&g87L_N3UXD1%3jI^I-A$(9cz#3vR1z*afJi=-gkv}$ zkbE}bA?|9~77r8By>{bGWEsVR1k>h-Xx@gKuGt>`nz8a8poyPl_d9(op!T% zsna+lUrF-)-Rs_Q!nxlLyu}=G62IZxpDl+#B=={_ArQ{}GF|0%cAWg7(QAqNAn`{a zV5DD5O4=4)l-qi+P`_y(xy3v)&>`yIOu~Z{SHSdoGa&)_VUS1Q9eek!X89ngmM{BG z!b@nmr*j3!zaz8ccUc1zyl+qVg?YY7>Se&ZpJ;!J>I$Sj;TBcK_c*EkFbU_8Ao>dQ zQv>K~L-YisuOB8vPtS?}#&heP@dHbIUdQsB>4f3b-Z-)lO!ZZAXtI^;2enT zCrOo0j)1U!l8_v&6V?gDpGodgW3Rc*tQk82(Z478!OpuA#Jis->SE))3#R&W@$T6; z3n=Y=mFR9&v+O%N`OC}YJI%O3t{g!s{JS4lfET_JH$NqAlM*Dpv9IqmkJURQFyV>0 z_}LYp@J+&j^43g&f)z&hth(I3z0>rwf4kkBJ6|M)i3bWyUp5aNlZ;3EMQ#RfcUEh~^r@xLhky3T-4l`pU0CU!x@Tq`^t~cRR0U=#)_*4(e)H_^y ty2(!erD^HQZ&uY!CZsSxsWT=1g*On*O>64zH2f>!U%sX8&e97;{U1U)VjTbg delta 15980 zcmYkDd6-qjwf4`hUAwybG~=cRdH|YvZiZ$alt~~EaX>UE1PF3t;*I$d$#8F;+(u@n z070w(K|vf4QKJ~!AxcOzA}YqjSxJmBDA5qFL4v4wf2*qYIo}`sJm;-i>#bF*R#mO4 z+I`y}dvATF_p+7IO7%c|WQzJ{Uwhy3sMa2sqT98kXT>*0>b1CK_tg0MsBS<${oa*J z7A*euxBlOvr3)5adg*tUTzO^3(uSx{sl9M|Jfvmc^w`AeiF(`l30-H;`JO6o`Nzz- zPi)3Vwc{Hm+JF93SGEj3CssP@Y@24s@3oA&Ag+(*=JQI&sXj9|CCcaXv5uoOKC?8< zm*=&PRW6MusOo&Hd?FwbRGJ|KCzPcbib0iC`I%0Qs)=^`h4IDgYzM_Zx)Z%&MMQ9dtAM^mTM5)w6QvdOCyDtkP;nXP|42&rw624oIh2@ zr`+>Vhu%5824;1zpEG!fV=qbd`MC=`dkIqKm)1D;5;1mmFb{y+W(T){5S(2`-S8H?JMl@rno9CL*WvJ=K`XtOxl@mOXkKG_M5MaBcTk5`6WII zK~T;o3dcHmsutKabK~*-78K+q3Kx|03fd9!3;OoUk8|=w;Uar%ZhXd&MFn{YzeOdz zgS>>_qJI7J4Vauy^^)9WQEi2oY|j}KSEhM{mk<-3q05W8U$-kSjvG3CUA1)tlp*o; zcC{IT?(1vzUmWwNTlQa^9NnT$9&g$6adJSlB%dUEhO3*aTlO}ZyW*DThnkN|%3u8; z%9o@`F1O0q_NR1({p%R>tLTQ7?PJY8lkb+-Ca3buMEm+A)6gjPOfYSvH7Tcm6WY4z zB8avp^c|fa<8;cI9=6Y9Gpey1oyn#m=#--~xzYtTI_2n09zHWa(CM^d>e!!5HvJo0 zp)=J~1)WytOs#Ir5IR#wpO^ot(`n75vF}bc^TxGCXGX!c*67SA*w&g5pV4X0uxdciX^+l@BWLADJDoI*=h~l5H6t5Sbmp46AeEvsw|-QH(3v}VVgAQXr-Q`( z=Tps(#&tkvexaQX=*%y)(*aB8j~pKuI>0dhj5+zQJBErhUT7bfW|oYrfMH?5X%#Rm zEI6$KhJ~Zg3=9=8ES&I_{I?uKWg0KGbEcci2UWtb*mMk1l`t%>aVr%)uS93@_>1x% zE2mVI#+SGJbGo@Q8dQbW<)(GeszU4XHg3U3s|u~ldymN97dx%$G+x@WVTQRk8efgp z(n5c$(OO#QZ#C8~E%dhg!GC){1Moi0FBNoG4YJL{wcG&y{=H?0( zIsLPU&FnJP!5r(L-V)gz&1P{E0G2J0suLEeLv%}2-!FrZZixmq=FfJTRQ}w~o@2g* zV#MbA^N4lXE3%FQOWdf!!$J-uF*wI5V);$>`8j4Lilh_zrlKMXI`_mH8H9EZ-iLH)ar??a?3?I2aI%W;Eq20-OvhH9Mo+BT>YL z8*4FjXH+UPM(ar2aciUoIvNnHz@8aI_SUFZpL~rpN;R~%M*Romzu|PL-DO8#WR{GH zRD|ZPh<)5kN-Mjfs!kb1aaY9d`Y^Eq5gxfaQln~jNA|AP@f2JC6?6F{is>WezK=jS z?~cm*1`_er-BG`$48nPLG-71F$x(vtwNHP=3>p?Gan8L(W5~XMRb7LkIOpD|N6-90 zW;n*s=))}o=9=F{vjB|G!x0&X?+4BUl2-cbIRy7*P4Y<9VQ!LMT7ucFchw|gt` z>*IF9C1%ul{KlNeGp_=Xd_3yqCaVU*`FJ#XjN^<`vp>rHK5&ZR`=ipX`H>hJ$AtB7 zBlSD`^d)9+HIUlhM)~Uel)RBzY4b_jZk{<~oI~{F$w-&w+vZDrHS$kJ`LtL-%TG#g zBteO3%p8c+GxnN!W*GD`ga<^tzoU1da?rjs&-84j(sk-!qz42x3Xne-4IEW0fc{`K zc3i%V(3fKUvypl}ik&aP$UhsEN|i@Ns+ zx-cDzv|9{07)U4rTLoR|$DydTk4$Q@>QL0N#<^Rk<_}TsmEdj}>_0@M-DOMGl7H(L zBQ>d|Uxhe=+Lj=aNg+fuz549UGM| z+cUpv=FHJ<^>{g31b|W(l~g%{fmrx*R3mAbgrj*a%6$+lB+b{aMWsDtBh`rn#2bRGj@_g*nK$C4Q`}d0rH2VuHB0T zm~c4i)jPjk=4&FM@ph!%rJ;3^Z|UC)%=c+YOn*DdcL*)HAbH2NG?q%|p?8Wc`5<|x z*b)V_^p3Q2sWX*@B-KaksfFgN%|amS?2$<4gJl#*eNWXOUI)geVlPXG>^-=eU{T?^*s^Uix-;- zXv!jcBHIFiXr74by9G_zkWNILj2oOL=#$7ET5Rf?joXnv$yRG1M4v>Qu4JhMLi9k?I%K99Qjwaq9Fx~C)M z_dpO#zhd$|;<(@}ZWAx^@;sw@mjp*k)5w>OGo?H7?67Md-C3YZyH2GbW&xnD$$ z;;aj-^Z5l3rZ1u)a)BY;%csqHnNl+XRURr}MwN$ZnJOQe)k3vQHBHGNRLj(~F9oV{ zQe356QVDT6Ou&q(9Hy&O`RJg^X%IMOCa_szj1wSu*13VIRjQXOH6RGLf(n>XwSsE7 zD$k;bLn5$aHrTCTTCV!`4@|97y+Wz1^Q~b5W=xz1^@?Uy-Z3=9*^%m+Y_f4c1ooFp z5OGzTRIgM8r?-I$m{GNXYNcW|^P|Zb5?G(L%drtyaC+NRuPXSwS+#`KOrRBMVxaWDlIjN&W`EJQ+@>a|6ur!WCCrWB^NMW3fVpjumWdJ5HA zaeA{DCA+}2O0BmmFEc-^1R{K`Ds7h^?@aEH>g#R$Z5 zXF0b52M*3JaEcYFUT1&&4RZ;K98dK+rL!fBlPs`v76cquf&ClV7sW}HoK9@{H_iC- z`OSj0QH2Z>h~h?7maQwCS%KBrG^}L$Z&XafHf)aw%Z%Qr>Ib@%&8VtW-)Ogd(~KO! zZw$Io6_ziKxWL}oY~WN295giFPYjaGVY5;<*^##gPZ+k^iIsv5dtmnT4AoBhq@X86S-FWb{Lr8^enWrNzLYJ3Xf zBp}$P$mk?lG?H-KtkkV4_5 zhZs055MaPg`^tZsi5N&)fq^@V2Kqc>XVE|kFmPwlK$8F4l)9&2pzNEsDXc%+@w)@S z9rnB5GSklBBHSfHcN7iuhk!eZ2Kr;b9b({&Kmg&LO82+F|7&TbZFPkiKu_78F_hw( z;7JOcTy3vn0fyeG$XfhZDmiT3Wv{%#jU@}N)v)2A0kZgCD)msI0ZABs$sR?u1f$F3A5^+q z(D#Wu1y#iYG#*sdotld!H1VJeN5+9fi_%R60T~DidK3$sM9;=z0TeB2$k1RVnf${_ z{i<7yyt@~7` zLB#@W+^2>%g{ez6%AwXS{H~e#RUwcJe?Rxv1$nV>zbY>>%FNrZx@2nwDlCfoRo7vx zSEY=v6gZJ?P5JKyBZ>JZY}u9O+vB8OV*UxG{rScf(8d$0NB=^jlIK358VBXq`j{kP zP4!dufh)~&*G&ofr-~8d)7z(1b?*X$1pQNr+xQW|1op3|?RS=%!OR-6R=WB0|KCjs z(x+8<7Ue##eOjiSpEV_^c}A%h3gaMI;xj5=mH)f9P##Y7@9k$x%{#1MAT0cSF?!tN z2?gD=KDy@<3h1M6pp>((QZE%6klgVPitB_vt^@LrqF=OQzHhq04}$;2VkEie6AF3` z4j!NY54@ezg~0z1sM3cIG`yI5G8NgAN{}#q=#iLO5Rjl zLHJOnfCk=Fy@nPGAb3*^9}#+(PtBi|db`j=9ys)$RlWylhV)S0T=ZY8`k@&KKL`W= zqV(`U=bm3E7%{O}0RLYU*LHq{%2V@>QtuY{CH;Lz<-6oZIsS6tKVmoj&zj3@p09Ek#{SFOa)4_8Bc)|D{mA0Kmk1eAhQg9Xq}o5mHM<` zrzG4TN~AVAJ6nsLAF(6Z(b*odeGXP zyH6@^l*a`gmZek5e)Ja;4A*H8VD^jBig z2Ua=v?vRm`ccXT~x-(XTYVEDfX5lC>ycBqIfk^L+!_yHE-kmYQJliQ#d0VUo)ShMc zUtosVZ!I%5v)Z}jjAB3JKqu9)x0??@C~k{MD5S&fQ?o11{W6#)=jdG$Nj#V9_F~#@ z`{FV);(UH%*6z$KAdvFq?mNc4H?)^EX^)+E zm1&yIZ+Q2_;e7`vb#Zv#0iw7kX0`IXlA!I0yGed7ye>W46L%k$zf-Q0+sldMe*5-S z=C&q&LwtX%{DBt;@%?d~Ulf24-!Fa~?i4`}*hiL|Aw$}`bI1d+@)wLi6d#B=2YC}D z9eW_=3^Ee$akKD{tzTh=SENWi6!Q(oMLyT4feh z$PL7kacLd9qSBSAIS}Wbx5rkQz8&O>;Xqtk@7^^krE3RmztyJiV18ra!OTJ+k_Y25 zfBOrhrGqiIzv7ch71=jdm?e$Ut7nTk(yM1PcOZn$vza?8m9kf?G>b;bE$yMAj`ZkI z<_Uz*IV7I=g}mNYrRJqL_t!Y8-N8fcHKv38%^I_@gIs956qi=;+@*Du^x_qJ*;+H9 ziQllllKBgWfRxTC-M0;2eO+`UJB zzEfm?4%>6DHgktnxu`vyO*0^hhqJ{Bh~i;ctkz4sR|$OE9=_UKho+n)-i}pfoP_P$ zab*uTw$zGf+`A99a_~#dkvR8(-FA(cXwU7<+IB?N`C)KYOaI@q|9g!YJc8f!|Gmt+ zKseuv%lwoA!uej@sk7^UwV3)otFHaiT65+cAohU$ItFyrVfzH4`+l~VcjO%-&i!v# zgyc(xV=`d|VNXY~=fhZyt?k-yfgMtlbl5Z@(ak^j#?mYJGSFY*AwydT`3wLE!-sKr z2nEvChjDlatx3(l;@rofE&1HxUw&8Bx<=YM9xMM441yKt7at(9$K!5tiOMB07~118 z$8cFkYg6;@ICm=0%J&Zc&JuuHp*RTuDYc)BwtZX3If&K{zi0oP&UVZD%bv|FKnUAv1*NM-s*5TC`gf7s( z`T|{Tc=ZKh)zz9;-!lk;`qcbH=Wepo)|t^2@|np`G&{mNnXC0;(FS|NI&*Ckzj5aV z9oAtWq8oIHe@p_xxk0BL+^br>n6uHIzuruo#BZ|fjXGRj1F>zRF89eJP(*c?@vhfE zcsA+@6S*J}16XD@*_YOvvoS!H%}qrEq>W9w#IH}(qPR)?alTUoSvzNgnT4Vp3~W(R zRvD{H{1X$kBC5M}cS}jVJjQLdFK;k|QIva%%|%7IrP!>)(=@dxZq__OO5#y3)@`+; ze`-dcmgH02Sxm`&EE1;bH*@!qqwc8DECdqLU4b35I@eYq2YJ2dN$L_;STw_9|0`~lGd&_B@tk-bIN_`C-Q=`EVnYC5Ey zQ+>PLywOax%hnlv+3lK*QkIG?soAA-yTion0>dsHjv!s6wL7))@5mrp1Nt=-i0qxZ z-lrl!TDwz|icEpEfvZuStK&p?(?(Ne7u{fbH#Q)Dw{`~uu06Re)wu^kvt6mWSMzP_ zbUN8pn!V3Hc!QbJ#BUnCPlsg>h~#~`o4@Y|(&&A9&|vpa&{YCwuN}C_jGVx4#(QrT zoIrT?>T;iP0Yy~z_fKv>c=qaX^2}1k0 z4sUBc94*iXIS}E;b%SpO2<_vVYsfixvWGb2*Y?gE&3VoICIWw*MIcb>vX}>=_-l!I z35uSn`K``98SLqa=U}m$2AbvCnT;H3T>~{Jf(Bb z1lnGRK9zN|m(U)_dI^FS=z9r7_CVH4AhZXvUiOk+9<;AnddY8kc`)lGQ0lT?0#Q7e z^|E(rp3}MKgE_sCd@k!{Z!zbP4(BNl<^cV&3qJeGUOc_Ep`@&u<{KuWBw1WvS^WUVSZ_?I8RL zG;TEqy4tW}0#SWU*EIX^>7SZ6b?#50qx}(mGaKjrV$or(yz4;F0zEAd*~7ZT_ZtZ9 zVck~#EkNl3sd-E1{u)>ZAo-T&8=;{XJ3v_9*2?zUVg}3t(NCb?iGawyt-JVc17Uqz zhg*h$srj4E{XMV_MDlOqy=kxx6xMg`_AO>|6Th+aT^)``KqTMQWj^kKaK0-$udHAL z#dk+-)mAfQ7QazET2vIz9o1$2vj}QYJgT{!lP)%<<^!GkcQB?A$qzI~bNMi{QH(ie zcWpIa8pUrok7b-dB#-GbzhwjAJSJQA0H;Xhhg$Wj?Q9ni93P64JO|tLN7^p?x#>Nu(H#pu%EAbU=0`ew5e7u_Bh43KUvjO3j%)kI&&`zK zjqX@*Jlns3XdaieN)jWWlO?HYktC&2cI*?{Ua-yF-weRq6FOwoKvYlYaIFSJ^@I-B zYJ*bqiOzi*+&BoyPqO$MByK#F^%?{#(1#-s*;6`v&I5$?l;+Uuu44wL=5w9Pr?_UKxmgIA+Cp}W>u0~8)%0jxhe^Z%}}9TEwtix5UfDY3Pg5w z#tMXW^$bs|k*0P{5;71Fxk3M&^ncA@l!D|za z@seUSi9y#VYFO<6`<=F`!k)R^bZVj$a*F*X07U2dBy4p+$gfY>>g27zN$gr@*KIew zP!y}yWgP@cUDDgHb3hc=C9HFD=hq~e=mz`Vb~77AN!d0eA;kfrxFHG0L?DVA5)QmQ zog!$Xy<&&yI;zP9_QoWvtUweuCShd-im0^6|0B>MalI)~^|k%&kYC0%_N^VJnzkh; zrMT3M3J{7-3IBv8g9LrVfdEn5n)t8O zF;zb8+A0Gx!YOh~w$0AkX@)j8Dfy6VTNW-r6t^XH{uUdE;x_TG%!^^E*`DNfg#aFg za8EKY#1?htdB#G*^>ElEhrK`X#Z0K$DhKVU#qcV_MbqPkPu=UW9e-LJ0KHJj}((ZOMRiNSwiLZEXJrs z_jZXf-z@FiQFO9=83^=aK1@ll+>wnr5Y;=x$ue}qQ?onC-5Z8(IFh>)(pmR^io<2> z_Sn_8nQ2Y@hICKneITNHl3spXfspP=Mviiu>TvPzJvZKNrZn>ty?c`IiUE|Wq=!#) zfau+m@PsPHj7ZIWNp5d2W(1P=B_Wp`A-3F~gew*htU!M+2t@Y&q`SWw0m6EJ!VOFL zIA}+v=D{TQusw9U8QEbZk`D^2+-Hmw)`x7zJ519#{D$+PB;0-jk$fl#cW*#AA4=R= zU+Ga?)F!!K2TMmG`Dnriw5wz@93`at?3O#sRm1rW>AobK`+$h+NXyCzPiX^-AJzKEOynos_iBKQ9mXU}@wzd*Dv7ZSc@mX|wMfcy(GH~x?{K*7uQ;=9bVOQc@H^fJ-Fah> z{Bu&;*RhU~PQI0dLlFp8pual@BKuZS>kmahSl>!G6kRW@V@W`h+$V{>an1c_tz zoqNpw0S*aF_%vL+>k3dfmT-&w^Gtz)j}rUBy=K#;A|M1GCE-gLSKtJ=^APur6@xy` z+zY}HK<{24${#1ey+9oCvAB1FQ>F4`Vh{epj2%AK4a~_b2!XCL?8HDcPf8G8EiN2K zVwU7q*)jK-l@;TV{5&Zg=-#Bpi9KH=_7C@&S;GLB^F=l;Kt#Vt!ngn-{X)j&QJHb$ xq^B$G1^1hlp8RIvT*>#(ZXpFqohk9(ZUfO=xn}TQ!(R!1r7eT^mVIx;{{gmbY&ie` diff --git a/crates/view/src/service.rs b/crates/view/src/service.rs index 7971258eac..8e3c8ce26c 100644 --- a/crates/view/src/service.rs +++ b/crates/view/src/service.rs @@ -815,6 +815,25 @@ impl ViewService for ViewServer { address_index: fvk.address_index(&address).map(Into::into), })) } + async fn transparent_address( + &self, + _request: tonic::Request, + ) -> Result, tonic::Status> { + let fvk = + self.storage.full_viewing_key().await.map_err(|_| { + tonic::Status::failed_precondition("Error retrieving full viewing key") + })?; + + let encoding = fvk.incoming().transparent_address(); + let address: Address = encoding + .parse() + .map_err(|_| tonic::Status::internal("could not parse newly generated address"))?; + + Ok(tonic::Response::new(pb::TransparentAddressResponse { + address: Some(address.into()), + encoding, + })) + } #[instrument(skip_all, level = "trace")] async fn ephemeral_address( diff --git a/proto/penumbra/penumbra/core/component/ibc/v1/ibc.proto b/proto/penumbra/penumbra/core/component/ibc/v1/ibc.proto index de0d70d347..17f92c443e 100644 --- a/proto/penumbra/penumbra/core/component/ibc/v1/ibc.proto +++ b/proto/penumbra/penumbra/core/component/ibc/v1/ibc.proto @@ -53,12 +53,15 @@ message Ics20Withdrawal { // Whether to use a "compat" (bech32, non-m) address for the return address in the withdrawal, // for compatability with chains that expect to be able to parse the return address as bech32. - bool use_compat_address = 8; + bool use_compat_address = 8 [deprecated = true]; // Arbitrary string data to be included in the `memo` field // of the ICS-20 FungibleTokenPacketData for this withdrawal. // Commonly used for packet forwarding support, or other protocols that may support usage of the memo field. string ics20_memo = 9; + + // Whether to use a transparent address (bech32, 32-byte) for the return address in the withdrawal. + bool use_transparent_address = 10; } message ClientData { diff --git a/proto/penumbra/penumbra/view/v1/view.proto b/proto/penumbra/penumbra/view/v1/view.proto index 3a11c35f03..5f1ffb41b5 100644 --- a/proto/penumbra/penumbra/view/v1/view.proto +++ b/proto/penumbra/penumbra/view/v1/view.proto @@ -61,6 +61,9 @@ service ViewService { // Query for an address given an address index rpc AddressByIndex(AddressByIndexRequest) returns (AddressByIndexResponse); + // Returns the transparent address for the user's wallet. + rpc TransparentAddress(TransparentAddressRequest) returns (TransparentAddressResponse); + // Query for wallet id rpc WalletId(WalletIdRequest) returns (WalletIdResponse); @@ -148,6 +151,18 @@ service ViewService { rpc Auctions(AuctionsRequest) returns (stream AuctionsResponse); } +// There's only one transparent address per wallet, so this request has no parameters; +// the message exists to satisfy forward-compatibility properties. +message TransparentAddressRequest { +} + +message TransparentAddressResponse { + // The raw (binary) transparent address + core.keys.v1.Address address = 1; + // The t-address encoding of the transparent address + string encoding = 2; +} + // Filters in an `AuctionsRequest` will be combined using `AND` logic -- that // is, the more filters you add, the fewer responses you're likely to get. message AuctionsRequest { From efd525f7b116178c508393a25f7a28ce6d5c523d Mon Sep 17 00:00:00 2001 From: Erwan Or Date: Mon, 16 Dec 2024 10:37:19 -0500 Subject: [PATCH 5/9] shielded-pool(ics20): process truncated addresses in packet data (#4962) ## Describe your changes This PR makes sure that truncated addresses are encoded correctly when ICS20 withdrawals are marshaled into fungible packet data. In addition to that, it modifies pcli to (hazardously?) handcraft a return `Address` with an identity clue key and zero diversifier. To test this PR, one can performa IBC roundtrip against a testnet chain with broken bech32m handling (e.g, `grand-1`). ## Issue ticket number and link #4950 ## Checklist before requesting a review - [x] I have added guiding text to explain how a reviewer should test these changes. - [x] If this code contains consensus-breaking changes, I have added the "consensus-breaking" label. Otherwise, I declare my belief that there are not consensus-breaking changes, for the following reason: > CB release branch. (cherry picked from commit c4ab7d76a3e26e34a072432d47dc998950ae4295) --- crates/bin/pcli/src/command/tx.rs | 16 ++++++++++++---- .../shielded-pool/src/ics20_withdrawal.rs | 11 ++++++++--- crates/core/transaction/src/view.rs | 3 +++ 3 files changed, 23 insertions(+), 7 deletions(-) diff --git a/crates/bin/pcli/src/command/tx.rs b/crates/bin/pcli/src/command/tx.rs index 063ffc36b3..3b5a943941 100644 --- a/crates/bin/pcli/src/command/tx.rs +++ b/crates/bin/pcli/src/command/tx.rs @@ -1023,10 +1023,18 @@ impl TxCmd { } => { let destination_chain_address = to; - let (ephemeral_return_address, _) = app - .config - .full_viewing_key - .ephemeral_address(OsRng, AddressIndex::from(*source)); + let ephemeral_return_address = if *use_transparent_address { + let ivk = app.config.full_viewing_key.incoming(); + + ivk.transparent_address() + .parse::

() + .expect("we round-trip from a valid transparent address") + } else { + app.config + .full_viewing_key + .ephemeral_address(OsRng, AddressIndex::from(*source)) + .0 + }; let timeout_height = match timeout_height { Some(h) => h.clone(), diff --git a/crates/core/component/shielded-pool/src/ics20_withdrawal.rs b/crates/core/component/shielded-pool/src/ics20_withdrawal.rs index 922d99275f..ed95901dac 100644 --- a/crates/core/component/shielded-pool/src/ics20_withdrawal.rs +++ b/crates/core/component/shielded-pool/src/ics20_withdrawal.rs @@ -167,9 +167,14 @@ impl TryFrom for Ics20Withdrawal { impl From for pb::FungibleTokenPacketData { fn from(w: Ics20Withdrawal) -> Self { - let return_address = match w.use_compat_address { - true => w.return_address.compat_encoding(), - false => w.return_address.to_string(), + let ordinary_return_address = w.return_address.to_string(); + + let return_address = if w.use_transparent_address { + w.return_address + .encode_as_transparent_address() + .unwrap_or_else(|| ordinary_return_address) + } else { + ordinary_return_address }; pb::FungibleTokenPacketData { diff --git a/crates/core/transaction/src/view.rs b/crates/core/transaction/src/view.rs index 14cbe2c915..e4cd0f800c 100644 --- a/crates/core/transaction/src/view.rs +++ b/crates/core/transaction/src/view.rs @@ -517,11 +517,14 @@ mod test { #[cfg(test)] fn dummy_spend() -> spend::Spend { + use penumbra_shielded_pool::EncryptedBackref; + spend::Spend { body: spend::Body { balance_commitment: dummy_commitment(), nullifier: Nullifier(Fq::default()), rk: dummy_pk(), + encrypted_backref: EncryptedBackref::dummy(), }, auth_sig: dummy_sig(), proof: dummy_proof_spend(), From 6be4c4d3b00561a12dc38496273e799466ea38b3 Mon Sep 17 00:00:00 2001 From: Erwan Or Date: Mon, 16 Dec 2024 11:42:40 -0500 Subject: [PATCH 6/9] pd(migrate): trace and check state version divergence (#4964) ## Describe your changes This PR: - logs state divergences when processing `EndBlock` messages - prevents `pd` operators from migrating corrupted state unless `--force` is on ## Checklist before requesting a review - [x] I have added guiding text to explain how a reviewer should test these changes: simple control flow. - [x] If this code contains consensus-breaking changes, I have added the "consensus-breaking" label. Otherwise, I declare my belief that there are not consensus-breaking changes, for the following reason: (cherry picked from commit c9b5db8ec7fc6d8aac9860141b0a1a0fb47d2ae6) --- crates/bin/pd/src/cli.rs | 3 ++- crates/bin/pd/src/migrate.rs | 11 +++++++++++ crates/core/app/src/server/consensus.rs | 7 +++++++ 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/crates/bin/pd/src/cli.rs b/crates/bin/pd/src/cli.rs index 80e1b00500..5c2b71ddb8 100644 --- a/crates/bin/pd/src/cli.rs +++ b/crates/bin/pd/src/cli.rs @@ -133,7 +133,8 @@ pub enum RootCommand { #[clap(long, display_order = 200)] comet_home: Option, /// If set, force a migration to occur even if the chain is not halted. - /// Will not override a detected mismatch in state versions. + /// Will not override a detected mismatch in state versions, or on signs + /// of corruption. This is "expert mode" and potentially destructive. #[clap(long, display_order = 1000)] force: bool, /// If set, edit local state to permit the node to start, despite diff --git a/crates/bin/pd/src/migrate.rs b/crates/bin/pd/src/migrate.rs index 2beaaed7e3..bb61b860a5 100644 --- a/crates/bin/pd/src/migrate.rs +++ b/crates/bin/pd/src/migrate.rs @@ -83,6 +83,17 @@ impl Migration { storage.latest_snapshot().is_chain_halted().await || force, "to run a migration, the chain halt bit must be set to `true` or use the `--force` cli flag" ); + + // Assert that the local chain state version is not corrupted, see `v0.80.10` release notes. + let latest_version = storage.latest_version(); + let block_height = storage.latest_snapshot().get_block_height().await?; + ensure!( + latest_version == block_height || force, + "local chain state version is corrupted: {} != {}", + latest_version, + block_height + ); + tracing::info!("started migration"); // If this is `ReadyToStart`, we need to reset the halt bit and return early. diff --git a/crates/core/app/src/server/consensus.rs b/crates/core/app/src/server/consensus.rs index cd357ab277..5eae5010fc 100644 --- a/crates/core/app/src/server/consensus.rs +++ b/crates/core/app/src/server/consensus.rs @@ -221,6 +221,13 @@ impl Consensus { async fn end_block(&mut self, end_block: request::EndBlock) -> response::EndBlock { let latest_state_version = self.storage.latest_version(); tracing::info!(height = ?end_block.height, ?latest_state_version, "ending block"); + if latest_state_version >= end_block.height as u64 { + tracing::warn!( + %latest_state_version, + %end_block.height, + "chain state version is ahead of the block height, this is an unexpected corruption of chain state" + ); + } let events = self.app.end_block(&end_block).await; trace_events(&events); From 6877134a9ff3c6aa713264a2466952d20f14e83e Mon Sep 17 00:00:00 2001 From: Erwan Or Date: Fri, 1 Nov 2024 14:27:59 -0400 Subject: [PATCH 7/9] dex: add `DexTester` harness prop Co-authored-by: Lucas Meier (cherry picked from commit c08b2ef88f9e09bede60565c0bd9eb853240fe8a) --- crates/bin/pd/src/network/generate.rs | 25 +- crates/core/component/dex/Cargo.toml | 4 + .../src/component/router/route_and_fill.rs | 65 ++-- .../core/component/dex/src/swap_execution.rs | 2 + .../dex/tests/integration/harness.rs | 313 ++++++++++++++++++ .../component/dex/tests/integration/mod.rs | 1 + 6 files changed, 374 insertions(+), 36 deletions(-) create mode 100644 crates/core/component/dex/tests/integration/harness.rs create mode 100644 crates/core/component/dex/tests/integration/mod.rs diff --git a/crates/bin/pd/src/network/generate.rs b/crates/bin/pd/src/network/generate.rs index 437c255e3b..cefb71750c 100644 --- a/crates/bin/pd/src/network/generate.rs +++ b/crates/bin/pd/src/network/generate.rs @@ -428,8 +428,8 @@ pub fn network_generate( /// Represents initial allocations to the testnet. #[derive(Debug, Deserialize)] pub struct NetworkAllocation { - #[serde(deserialize_with = "string_u64")] - pub amount: u64, + #[serde(deserialize_with = "string_u128")] + pub amount: u128, pub denom: String, pub address: String, } @@ -670,17 +670,17 @@ impl TryFrom for shielded_pool_genesis::Allocation { } } -fn string_u64<'de, D>(deserializer: D) -> Result +fn string_u128<'de, D>(deserializer: D) -> Result where D: de::Deserializer<'de>, { - struct U64StringVisitor; + struct U128StringVisitor; - impl<'de> de::Visitor<'de> for U64StringVisitor { - type Value = u64; + impl<'de> de::Visitor<'de> for U128StringVisitor { + type Value = u128; fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter.write_str("a string containing a u64 with optional underscores") + formatter.write_str("a string containing a u128 with optional underscores") } fn visit_str(self, v: &str) -> Result @@ -688,10 +688,17 @@ where E: de::Error, { let r = v.replace('_', ""); - r.parse::().map_err(E::custom) + r.parse::().map_err(E::custom) } fn visit_u64(self, v: u64) -> Result + where + E: de::Error, + { + Ok(v as u128) + } + + fn visit_u128(self, v: u128) -> std::prelude::v1::Result where E: de::Error, { @@ -699,7 +706,7 @@ where } } - deserializer.deserialize_any(U64StringVisitor) + deserializer.deserialize_any(U128StringVisitor) } #[cfg(test)] diff --git a/crates/core/component/dex/Cargo.toml b/crates/core/component/dex/Cargo.toml index d4eb923904..4c70f895b7 100644 --- a/crates/core/component/dex/Cargo.toml +++ b/crates/core/component/dex/Cargo.toml @@ -3,6 +3,10 @@ name = "penumbra-dex" version = {workspace = true} edition = {workspace = true} +[[test]] +name = "penumbra-dex-integration-tests" +path = "tests/integration/mod.rs" + [features] component = [ "cnidarium-component", diff --git a/crates/core/component/dex/src/component/router/route_and_fill.rs b/crates/core/component/dex/src/component/router/route_and_fill.rs index f72443de6c..4d7b5476a8 100644 --- a/crates/core/component/dex/src/component/router/route_and_fill.rs +++ b/crates/core/component/dex/src/component/router/route_and_fill.rs @@ -44,11 +44,21 @@ pub trait HandleBatchSwaps: StateWrite + Sized { // executions up to the specified `execution_budget` parameter. let execution_circuit_breaker = ExecutionCircuitBreaker::new(execution_budget); + // We clamp the deltas to the maximum input for batch swaps. + let clamped_delta_1 = delta_1.min(MAX_RESERVE_AMOUNT.into()); + let clamped_delta_2 = delta_2.min(MAX_RESERVE_AMOUNT.into()); + + tracing::debug!( + ?clamped_delta_1, + ?clamped_delta_2, + "clamped deltas to maximum amount" + ); + let swap_execution_1_for_2 = self .route_and_fill( trading_pair.asset_1(), trading_pair.asset_2(), - delta_1, + clamped_delta_1, params.clone(), execution_circuit_breaker.clone(), ) @@ -58,7 +68,7 @@ pub trait HandleBatchSwaps: StateWrite + Sized { .route_and_fill( trading_pair.asset_2(), trading_pair.asset_1(), - delta_2, + clamped_delta_2, params.clone(), execution_circuit_breaker, ) @@ -67,6 +77,7 @@ pub trait HandleBatchSwaps: StateWrite + Sized { let (lambda_2, unfilled_1) = match &swap_execution_1_for_2 { Some(swap_execution) => ( swap_execution.output.amount, + // The unfilled amount of asset 1 is the trade input minus the amount consumed, plus the excess. delta_1 - swap_execution.input.amount, ), None => (0u64.into(), delta_1), @@ -148,9 +159,10 @@ pub trait RouteAndFill: StateWrite + Sized { where Self: 'static, { - tracing::debug!(?input, ?asset_1, ?asset_2, "starting route_and_fill"); + tracing::debug!(?input, ?asset_1, ?asset_2, "prepare to route and fill"); if input == Amount::zero() { + tracing::debug!("no input, short-circuit exit"); return Ok(None); } @@ -162,13 +174,12 @@ pub trait RouteAndFill: StateWrite + Sized { // An ordered list of execution traces that were used to fill the trade. let mut traces: Vec> = Vec::new(); - let max_delta_1: Amount = MAX_RESERVE_AMOUNT.into(); - // Termination conditions: // 1. We have no more `delta_1` remaining // 2. A path can no longer be found // 3. We have reached the `RoutingParams` specified price limit // 4. The execution circuit breaker has been triggered based on the number of path searches and executions + // 5. An unrecoverable error occurred during the execution of the route. loop { // Check if we have exceeded the execution circuit breaker limits. if execution_circuit_breaker.exceeded_limits() { @@ -196,21 +207,20 @@ pub trait RouteAndFill: StateWrite + Sized { break; } - // We split off the entire batch swap into smaller chunks to avoid causing - // a series of overflow in the DEX. + // We prepare the input for this execution round, which is the remaining unfilled amount of asset 1. let delta_1 = Value { - amount: total_unfilled_1.min(max_delta_1), asset_id: asset_1, + amount: total_unfilled_1, }; - tracing::debug!(?path, delta_1 = ?delta_1.amount, "found path, filling up to spill price"); + tracing::debug!(?path, ?delta_1, "found path, filling up to spill price"); - let execution = Arc::get_mut(self) + let execution_result = Arc::get_mut(self) .expect("expected state to have no other refs") .fill_route(delta_1, &path, spill_price) .await; - let execution = match execution { + let swap_execution = match execution_result { Ok(execution) => execution, Err(FillError::ExecutionOverflow(position_id)) => { // We have encountered an overflow during the execution of the route. @@ -233,24 +243,25 @@ pub trait RouteAndFill: StateWrite + Sized { // Immediately track the execution in the state. (total_output_2, total_unfilled_1) = { - let lambda_2 = execution.output; - let unfilled_1 = Value { - amount: total_unfilled_1 - .checked_sub(&execution.input.amount) - .expect("unable to subtract unfilled input from total input"), - asset_id: asset_1, - }; - tracing::debug!(input = ?delta_1.amount, output = ?lambda_2.amount, unfilled = ?unfilled_1.amount, "filled along best path"); + // The exact amount of asset 1 that was consumed in this execution round. + let consumed_input = swap_execution.input; + // The output of this execution round is the amount of asset 2 that was filled. + let produced_output = swap_execution.output; + + tracing::debug!(consumed_input = ?consumed_input.amount, output = ?produced_output.amount, "filled along best path"); - assert_eq!(lambda_2.asset_id, asset_2); - assert_eq!(unfilled_1.asset_id, asset_1); + // Sanity check that the input and output assets are correct. + assert_eq!(produced_output.asset_id, asset_2); + assert_eq!(consumed_input.asset_id, asset_1); // Append the traces from this execution to the outer traces. - traces.append(&mut execution.traces.clone()); + traces.append(&mut swap_execution.traces.clone()); ( - total_output_2 + lambda_2.amount, - total_unfilled_1 - delta_1.amount + unfilled_1.amount, + // The total output of asset 2 is the sum of all outputs. + total_output_2 + produced_output.amount, + // The total unfilled amount of asset 1 is the remaining unfilled amount minus the amount consumed. + total_unfilled_1 - consumed_input.amount, ) }; @@ -260,7 +271,7 @@ pub trait RouteAndFill: StateWrite + Sized { } // Ensure that we've actually executed, or else bail out. - let Some(accurate_max_price) = execution.max_price() else { + let Some(accurate_max_price) = swap_execution.max_price() else { tracing::debug!("no traces in execution, exiting route_and_fill"); break; }; @@ -278,8 +289,7 @@ pub trait RouteAndFill: StateWrite + Sized { } } - // If we didn't execute against any position at all, there - // are no execution records to return. + // If we didn't execute against any position at all, there are no execution records to return. if traces.is_empty() { return Ok(None); } else { @@ -287,6 +297,7 @@ pub trait RouteAndFill: StateWrite + Sized { traces, input: Value { asset_id: asset_1, + // The total amount of asset 1 that was actually consumed across rounds. amount: input - total_unfilled_1, }, output: Value { diff --git a/crates/core/component/dex/src/swap_execution.rs b/crates/core/component/dex/src/swap_execution.rs index c14daa213c..a602ce74c6 100644 --- a/crates/core/component/dex/src/swap_execution.rs +++ b/crates/core/component/dex/src/swap_execution.rs @@ -9,7 +9,9 @@ use serde::{Deserialize, Serialize}; #[serde(try_from = "pb::SwapExecution", into = "pb::SwapExecution")] pub struct SwapExecution { pub traces: Vec>, + /// The input value that was consumed. pub input: Value, + /// The output value that was produced. pub output: Value, } diff --git a/crates/core/component/dex/tests/integration/harness.rs b/crates/core/component/dex/tests/integration/harness.rs new file mode 100644 index 0000000000..a9348fd592 --- /dev/null +++ b/crates/core/component/dex/tests/integration/harness.rs @@ -0,0 +1,313 @@ +//! This module contains a testing harness which allows us to exercise common dex functionality. +//! +//! The basic flow is that you build up a `TestingStrategy` given a `TestingStrategyBuilder`, +//! and then run this strategy on an empty dex, in order to get an outcome. +//! The strategy involves setting up certain positions, and then performing a batch swap +//! with particular swap flows combined together. +//! +//! The outcome consists of the remaining reserves for each position, and the output for each swapper. +use cnidarium::{Snapshot, StateDelta, TempStorage}; +use cnidarium_component::{ActionHandler, Component}; +use penumbra_asset::asset; +use penumbra_dex::{ + component::{Dex, PositionRead, StateReadExt}, + lp::{ + position::{self, Position}, + Reserves, + }, + swap::{self, proof::SwapProof, SwapPlaintext}, + BatchSwapOutputData, DirectedTradingPair, PositionClose, PositionOpen, PositionWithdraw, Swap, + TradingPair, +}; +use penumbra_keys::test_keys; +use penumbra_num::Amount; +use penumbra_proto::core::component::dex::v1::ZkSwapProof; +use penumbra_sct::{ + component::{clock::EpochManager, source::SourceContext}, + epoch::Epoch, +}; +use rand_core::{CryptoRngCore, OsRng}; +use std::{mem, sync::Arc}; +use tendermint::abci::request::EndBlock; + +struct DexTester { + storage: TempStorage, + height: u8, + handle: Option>, +} + +impl DexTester { + async fn init() -> anyhow::Result { + let mut out = Self { + storage: TempStorage::new().await?, + height: 0, + handle: None, + }; + Dex::init_chain(out.handle(), Some(&Default::default())).await; + Ok(out) + } + + fn handle(&mut self) -> &mut StateDelta { + if let None = self.handle { + self.handle = Some(self.consume_handle()); + } + // NO-PANIC: we defined this above. + self.handle.as_mut().unwrap() + } + + fn consume_handle(&mut self) -> StateDelta { + match mem::replace(&mut self.handle, None) { + Some(x) => x, + None => { + let mut out = StateDelta::new(self.storage.latest_snapshot()); + out.put_mock_source(self.height); + out.put_block_height(self.height.into()); + out.put_epoch_by_height( + self.height.into(), + Epoch { + index: 0, + start_height: 0, + }, + ); + out + } + } + } + + async fn position_open(&mut self, tx: PositionOpen) -> anyhow::Result<()> { + let handle = self.handle(); + tx.check_and_execute(handle).await?; + Ok(()) + } + + async fn position_close(&mut self, tx: PositionClose) -> anyhow::Result<()> { + let handle = self.handle(); + tx.check_and_execute(handle).await?; + Ok(()) + } + + async fn position_withdraw(&mut self, tx: PositionWithdraw) -> anyhow::Result<()> { + let handle = self.handle(); + tx.check_and_execute(handle).await?; + Ok(()) + } + + async fn position_by_id(&mut self, id: &position::Id) -> anyhow::Result> { + let handle = self.handle(); + handle.position_by_id(id).await + } + + async fn swap(&mut self, tx: Swap) -> anyhow::Result<()> { + let handle = self.handle(); + tx.check_and_execute(handle).await?; + Ok(()) + } + + async fn end_block(&mut self) -> anyhow::Result<()> { + let handle = self.consume_handle(); + let mut temp_handle = Arc::new(handle); + Dex::end_block( + &mut temp_handle, + &EndBlock { + height: self.height.into(), + }, + ) + .await; + self.storage + .commit(Arc::into_inner(temp_handle).unwrap()) + .await?; + self.height += 1; + Ok(()) + } + + async fn previous_bsod( + &mut self, + trading_pair: TradingPair, + ) -> anyhow::Result> { + assert!( + self.height >= 1, + "did not call `end_block` before calling `previous_bsod`" + ); + let height = u64::from(self.height - 1); + let handle = self.handle(); + let bsod = handle.output_data(height, trading_pair).await?; + Ok(bsod) + } +} + +/// This allows incrementally building up a test strategy. +pub struct TestingStrategyBuilder<'rng> { + rng: &'rng mut dyn CryptoRngCore, + strategy: TestingStrategy, + asset1: asset::Id, + asset2: asset::Id, +} + +impl<'rng> TestingStrategyBuilder<'rng> { + pub fn new(rng: &'rng mut dyn CryptoRngCore, asset1: asset::Id, asset2: asset::Id) -> Self { + Self { + rng, + strategy: TestingStrategy::new(asset1, asset2), + asset1, + asset2, + } + } + + pub fn with_position(mut self, reserves1: Amount, reserves2: Amount) -> Self { + let position = Position::new( + &mut self.rng, + DirectedTradingPair::new(self.asset1, self.asset2), + 0, + 1u64.into(), + 1u64.into(), + Reserves { + r1: reserves1, + r2: reserves2, + }, + ); + self.strategy.positions.push(position); + self + } + + pub fn with_swap(mut self, amount: Amount) -> Self { + let pair = TradingPair::new(self.asset1, self.asset2); + let plaintext = SwapPlaintext::new( + &mut OsRng, + pair, + if pair.asset_1() == self.asset1 { + amount + } else { + 0u64.into() + }, + if pair.asset_2() == self.asset1 { + amount + } else { + 0u64.into() + }, + Default::default(), + test_keys::ADDRESS_0.clone(), + ); + let swap = swap::Body { + trading_pair: plaintext.trading_pair, + delta_1_i: plaintext.delta_1_i, + delta_2_i: plaintext.delta_2_i, + fee_commitment: plaintext.claim_fee.commit(Default::default()), + payload: plaintext.encrypt(test_keys::FULL_VIEWING_KEY.outgoing()), + }; + self.strategy.swaps.push(swap); + self + } + + pub fn build(self) -> TestingStrategy { + self.strategy + } +} + +pub struct TestingStrategy { + asset1: asset::Id, + asset2: asset::Id, + positions: Vec, + swaps: Vec, +} + +impl TestingStrategy { + fn new(asset1: asset::Id, asset2: asset::Id) -> Self { + Self { + asset1, + asset2, + positions: Vec::new(), + swaps: Vec::new(), + } + } + + /// Run a given strategy, producing a result. + /// + /// With the current strategy implementation, this function will: + /// - create all the positions built up here, + /// - perform a batch swap with all the flows built up here, + /// - withdraw and close all positions. + pub async fn run(self) -> anyhow::Result { + let mut dex = DexTester::init().await?; + + let mut position_ids = Vec::new(); + for position in self.positions { + position_ids.push(position.id()); + let tx = PositionOpen { position }; + dex.position_open(tx).await?; + } + dex.end_block().await?; + + for body in &self.swaps { + let swap = Swap { + proof: SwapProof::try_from(ZkSwapProof { + inner: vec![0u8; 192], + }) + .expect("should be able to create dummy proof"), + body: body.clone(), + }; + dex.swap(swap).await?; + } + dex.end_block().await?; + + let bsod = dex + .previous_bsod(TradingPair::new(self.asset1, self.asset2)) + .await?; + for position_id in position_ids.iter().copied() { + dex.position_close(PositionClose { position_id }).await?; + } + dex.end_block().await?; + + let mut position_reserves = Vec::new(); + for position_id in position_ids { + let position = dex + .position_by_id(&position_id) + .await? + .expect("position should have been created"); + + dex.position_withdraw(PositionWithdraw { + position_id, + reserves_commitment: position + .reserves + .balance(&position.phi.pair) + .commit(Default::default()), + sequence: 0, + }) + .await?; + + position_reserves.push(( + position + .reserves_for(self.asset1) + .expect("position should have reserves"), + position + .reserves_for(self.asset2) + .expect("position should have reserves"), + )); + } + dex.end_block().await?; + + let mut outputs = Vec::new(); + for swap in self.swaps { + let bsod = bsod.unwrap(); + let (a, b) = bsod.pro_rata_outputs((swap.delta_1_i, swap.delta_2_i)); + let (a, b) = if bsod.trading_pair.asset_1() == self.asset1 { + (a, b) + } else { + (b, a) + }; + outputs.push((a, b)); + } + + Ok(TestingOutcome { + position_reserves, + outputs, + }) + } +} + +#[derive(Debug, Clone, PartialEq)] +pub struct TestingOutcome { + /// The reserves of each position, in the order of the strategy. + pub position_reserves: Vec<(Amount, Amount)>, + /// The outcome of the swap. + pub outputs: Vec<(Amount, Amount)>, +} diff --git a/crates/core/component/dex/tests/integration/mod.rs b/crates/core/component/dex/tests/integration/mod.rs new file mode 100644 index 0000000000..8d7ed6d308 --- /dev/null +++ b/crates/core/component/dex/tests/integration/mod.rs @@ -0,0 +1 @@ +mod harness; From e1e8b679024e1e15f90432349f574470597eb52a Mon Sep 17 00:00:00 2001 From: Conor Schaefer Date: Wed, 18 Dec 2024 08:39:32 -0800 Subject: [PATCH 8/9] chore: release version 0.81.0 (cherry picked from commit 8df36a4247ae90acc8aecc48bfa37e55785f779f) --- Cargo.lock | 100 ++++++++++++++++++++++++++--------------------------- Cargo.toml | 2 +- 2 files changed, 51 insertions(+), 51 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 38a1904f32..89f30cbd4e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1245,7 +1245,7 @@ dependencies = [ [[package]] name = "cnidarium" -version = "0.80.11" +version = "0.81.0" dependencies = [ "anyhow", "async-trait", @@ -1281,7 +1281,7 @@ dependencies = [ [[package]] name = "cnidarium-component" -version = "0.80.11" +version = "0.81.0" dependencies = [ "anyhow", "async-trait", @@ -1319,7 +1319,7 @@ dependencies = [ [[package]] name = "cometindex" -version = "0.80.11" +version = "0.81.0" dependencies = [ "anyhow", "async-trait", @@ -1680,7 +1680,7 @@ dependencies = [ [[package]] name = "decaf377-fmd" -version = "0.80.11" +version = "0.81.0" dependencies = [ "ark-ff", "ark-serialize", @@ -1695,7 +1695,7 @@ dependencies = [ [[package]] name = "decaf377-frost" -version = "0.80.11" +version = "0.81.0" dependencies = [ "anyhow", "ark-ff", @@ -1710,7 +1710,7 @@ dependencies = [ [[package]] name = "decaf377-ka" -version = "0.80.11" +version = "0.81.0" dependencies = [ "ark-ff", "decaf377", @@ -4223,7 +4223,7 @@ dependencies = [ [[package]] name = "pcli" -version = "0.80.11" +version = "0.81.0" dependencies = [ "anyhow", "ark-ff", @@ -4304,7 +4304,7 @@ dependencies = [ [[package]] name = "pclientd" -version = "0.80.11" +version = "0.81.0" dependencies = [ "anyhow", "assert_cmd", @@ -4356,7 +4356,7 @@ dependencies = [ [[package]] name = "pd" -version = "0.80.11" +version = "0.81.0" dependencies = [ "anyhow", "ark-ff", @@ -4509,7 +4509,7 @@ dependencies = [ [[package]] name = "penumbra-app" -version = "0.80.11" +version = "0.81.0" dependencies = [ "anyhow", "ark-ff", @@ -4598,7 +4598,7 @@ dependencies = [ [[package]] name = "penumbra-asset" -version = "0.80.11" +version = "0.81.0" dependencies = [ "anyhow", "ark-ff", @@ -4638,7 +4638,7 @@ dependencies = [ [[package]] name = "penumbra-auction" -version = "0.80.11" +version = "0.81.0" dependencies = [ "anyhow", "ark-ff", @@ -4693,7 +4693,7 @@ dependencies = [ [[package]] name = "penumbra-auto-https" -version = "0.80.11" +version = "0.81.0" dependencies = [ "anyhow", "axum-server", @@ -4705,7 +4705,7 @@ dependencies = [ [[package]] name = "penumbra-bench" -version = "0.80.11" +version = "0.81.0" dependencies = [ "anyhow", "ark-bls12-377", @@ -4749,7 +4749,7 @@ dependencies = [ [[package]] name = "penumbra-community-pool" -version = "0.80.11" +version = "0.81.0" dependencies = [ "anyhow", "ark-ff", @@ -4781,7 +4781,7 @@ dependencies = [ [[package]] name = "penumbra-compact-block" -version = "0.80.11" +version = "0.81.0" dependencies = [ "anyhow", "ark-ff", @@ -4816,7 +4816,7 @@ dependencies = [ [[package]] name = "penumbra-custody" -version = "0.80.11" +version = "0.81.0" dependencies = [ "anyhow", "argon2", @@ -4852,7 +4852,7 @@ dependencies = [ [[package]] name = "penumbra-dex" -version = "0.80.11" +version = "0.81.0" dependencies = [ "anyhow", "ark-ff", @@ -4914,7 +4914,7 @@ dependencies = [ [[package]] name = "penumbra-distributions" -version = "0.80.11" +version = "0.81.0" dependencies = [ "anyhow", "async-trait", @@ -4932,7 +4932,7 @@ dependencies = [ [[package]] name = "penumbra-eddy" -version = "0.80.11" +version = "0.81.0" dependencies = [ "anyhow", "ark-ff", @@ -4950,7 +4950,7 @@ dependencies = [ [[package]] name = "penumbra-fee" -version = "0.80.11" +version = "0.81.0" dependencies = [ "anyhow", "ark-ff", @@ -4977,7 +4977,7 @@ dependencies = [ [[package]] name = "penumbra-funding" -version = "0.80.11" +version = "0.81.0" dependencies = [ "anyhow", "async-trait", @@ -5000,7 +5000,7 @@ dependencies = [ [[package]] name = "penumbra-governance" -version = "0.80.11" +version = "0.81.0" dependencies = [ "anyhow", "ark-ff", @@ -5054,7 +5054,7 @@ dependencies = [ [[package]] name = "penumbra-ibc" -version = "0.80.11" +version = "0.81.0" dependencies = [ "anyhow", "ark-ff", @@ -5091,7 +5091,7 @@ dependencies = [ [[package]] name = "penumbra-keys" -version = "0.80.11" +version = "0.81.0" dependencies = [ "aes", "anyhow", @@ -5138,7 +5138,7 @@ dependencies = [ [[package]] name = "penumbra-measure" -version = "0.80.11" +version = "0.81.0" dependencies = [ "anyhow", "bytesize", @@ -5156,7 +5156,7 @@ dependencies = [ [[package]] name = "penumbra-mock-client" -version = "0.80.11" +version = "0.81.0" dependencies = [ "anyhow", "cnidarium", @@ -5173,7 +5173,7 @@ dependencies = [ [[package]] name = "penumbra-mock-consensus" -version = "0.80.11" +version = "0.81.0" dependencies = [ "anyhow", "bytes", @@ -5193,7 +5193,7 @@ dependencies = [ [[package]] name = "penumbra-mock-tendermint-proxy" -version = "0.80.11" +version = "0.81.0" dependencies = [ "hex", "pbjson-types", @@ -5208,7 +5208,7 @@ dependencies = [ [[package]] name = "penumbra-num" -version = "0.80.11" +version = "0.81.0" dependencies = [ "anyhow", "ark-ff", @@ -5245,7 +5245,7 @@ dependencies = [ [[package]] name = "penumbra-parameter-setup" -version = "0.80.11" +version = "0.81.0" dependencies = [ "ark-groth16", "ark-serialize", @@ -5262,7 +5262,7 @@ dependencies = [ [[package]] name = "penumbra-proof-params" -version = "0.80.11" +version = "0.81.0" dependencies = [ "anyhow", "ark-ec", @@ -5290,7 +5290,7 @@ dependencies = [ [[package]] name = "penumbra-proof-setup" -version = "0.80.11" +version = "0.81.0" dependencies = [ "anyhow", "ark-ec", @@ -5317,7 +5317,7 @@ dependencies = [ [[package]] name = "penumbra-proto" -version = "0.80.11" +version = "0.81.0" dependencies = [ "anyhow", "async-trait", @@ -5351,7 +5351,7 @@ dependencies = [ [[package]] name = "penumbra-sct" -version = "0.80.11" +version = "0.81.0" dependencies = [ "anyhow", "ark-ff", @@ -5387,7 +5387,7 @@ dependencies = [ [[package]] name = "penumbra-shielded-pool" -version = "0.80.11" +version = "0.81.0" dependencies = [ "anyhow", "ark-ff", @@ -5441,7 +5441,7 @@ dependencies = [ [[package]] name = "penumbra-stake" -version = "0.80.11" +version = "0.81.0" dependencies = [ "anyhow", "ark-ff", @@ -5494,7 +5494,7 @@ dependencies = [ [[package]] name = "penumbra-tct" -version = "0.80.11" +version = "0.81.0" dependencies = [ "ark-ed-on-bls12-377", "ark-ff", @@ -5526,7 +5526,7 @@ dependencies = [ [[package]] name = "penumbra-tct-property-test" -version = "0.80.11" +version = "0.81.0" dependencies = [ "anyhow", "futures", @@ -5538,7 +5538,7 @@ dependencies = [ [[package]] name = "penumbra-tct-visualize" -version = "0.80.11" +version = "0.81.0" dependencies = [ "anyhow", "axum", @@ -5568,7 +5568,7 @@ dependencies = [ [[package]] name = "penumbra-tendermint-proxy" -version = "0.80.11" +version = "0.81.0" dependencies = [ "anyhow", "chrono", @@ -5600,7 +5600,7 @@ dependencies = [ [[package]] name = "penumbra-test-subscriber" -version = "0.80.11" +version = "0.81.0" dependencies = [ "tracing", "tracing-subscriber 0.3.18", @@ -5608,7 +5608,7 @@ dependencies = [ [[package]] name = "penumbra-tower-trace" -version = "0.80.11" +version = "0.81.0" dependencies = [ "futures", "hex", @@ -5629,7 +5629,7 @@ dependencies = [ [[package]] name = "penumbra-transaction" -version = "0.80.11" +version = "0.81.0" dependencies = [ "anyhow", "ark-ff", @@ -5684,7 +5684,7 @@ dependencies = [ [[package]] name = "penumbra-txhash" -version = "0.80.11" +version = "0.81.0" dependencies = [ "anyhow", "blake2b_simd 1.0.2", @@ -5697,7 +5697,7 @@ dependencies = [ [[package]] name = "penumbra-view" -version = "0.80.11" +version = "0.81.0" dependencies = [ "anyhow", "ark-std", @@ -5755,7 +5755,7 @@ dependencies = [ [[package]] name = "penumbra-wallet" -version = "0.80.11" +version = "0.81.0" dependencies = [ "anyhow", "ark-std", @@ -5841,7 +5841,7 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pindexer" -version = "0.80.11" +version = "0.81.0" dependencies = [ "anyhow", "chrono", @@ -5936,7 +5936,7 @@ dependencies = [ [[package]] name = "pmonitor" -version = "0.80.11" +version = "0.81.0" dependencies = [ "anyhow", "assert_cmd", @@ -7781,7 +7781,7 @@ checksum = "734676eb262c623cec13c3155096e08d1f8f29adce39ba17948b18dad1e54142" [[package]] name = "summonerd" -version = "0.80.11" +version = "0.81.0" dependencies = [ "anyhow", "ark-groth16", diff --git a/Cargo.toml b/Cargo.toml index 53c468687f..bef547916b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -105,7 +105,7 @@ push = false [workspace.package] authors = ["Penumbra Labs Date: Fri, 20 Dec 2024 14:48:27 -0500 Subject: [PATCH 9/9] dex(harness): temporarily allow dead code on module --- crates/core/component/dex/tests/integration/mod.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/crates/core/component/dex/tests/integration/mod.rs b/crates/core/component/dex/tests/integration/mod.rs index 8d7ed6d308..bbe0a6148e 100644 --- a/crates/core/component/dex/tests/integration/mod.rs +++ b/crates/core/component/dex/tests/integration/mod.rs @@ -1 +1,2 @@ +#![allow(dead_code)] mod harness;