From d57af58b71a9be8052cb1e0d6c0cc4f902487d0f Mon Sep 17 00:00:00 2001 From: Casey Rodarmor Date: Tue, 10 Oct 2023 11:38:22 -0700 Subject: [PATCH] Don't encode divisibility if zero (#2510) --- src/runes.rs | 44 +++++++++++++++++++++--------------------- src/runes/runestone.rs | 5 ++++- 2 files changed, 26 insertions(+), 23 deletions(-) diff --git a/src/runes.rs b/src/runes.rs index fe265cae24..95c174b63d 100644 --- a/src/runes.rs +++ b/src/runes.rs @@ -1054,17 +1054,17 @@ mod tests { [ ( OutPoint { - txid: txid1, + txid: txid0, vout: 0 }, - vec![(id1, u128::max_value())] + vec![(id0, u128::max_value())] ), ( OutPoint { - txid: txid0, + txid: txid1, vout: 0 }, - vec![(id0, u128::max_value())] + vec![(id1, u128::max_value())] ), ] ); @@ -1225,17 +1225,17 @@ mod tests { [ ( OutPoint { - txid: txid1, + txid: txid0, vout: 0 }, - vec![(id1, u128::max_value())] + vec![(id0, u128::max_value())] ), ( OutPoint { - txid: txid0, + txid: txid1, vout: 0 }, - vec![(id0, u128::max_value())] + vec![(id1, u128::max_value())] ), ] ); @@ -1469,18 +1469,18 @@ mod tests { [ ( OutPoint { - txid: txid1, + txid: txid0, vout: 0 }, - vec![(id1, u128::max_value())] + vec![(id0, u128::max_value())] ), ( OutPoint { - txid: txid0, + txid: txid1, vout: 0 }, - vec![(id0, u128::max_value())] - ) + vec![(id1, u128::max_value())] + ), ] ); @@ -1717,17 +1717,17 @@ mod tests { [ ( OutPoint { - txid: txid1, + txid: txid0, vout: 0 }, - vec![(id1, u128::max_value())] + vec![(id0, u128::max_value())] ), ( OutPoint { - txid: txid0, + txid: txid1, vout: 0 }, - vec![(id0, u128::max_value())] + vec![(id1, u128::max_value())] ), ] ); @@ -1942,18 +1942,18 @@ mod tests { [ ( OutPoint { - txid: txid1, + txid: txid0, vout: 0 }, - vec![(id1, u128::max_value())] + vec![(id0, u128::max_value())] ), ( OutPoint { - txid: txid0, + txid: txid1, vout: 0 }, - vec![(id0, u128::max_value())] - ) + vec![(id1, u128::max_value())] + ), ] ); diff --git a/src/runes/runestone.rs b/src/runes/runestone.rs index 7ba0af5907..8e69419ab6 100644 --- a/src/runes/runestone.rs +++ b/src/runes/runestone.rs @@ -64,7 +64,10 @@ impl Runestone { if let Some(etching) = self.etching { varint::encode_to_vec(etching.rune.0, &mut payload); - varint::encode_to_vec(etching.divisibility.into(), &mut payload); + + if etching.divisibility != 0 { + varint::encode_to_vec(etching.divisibility.into(), &mut payload); + } } let mut builder = script::Builder::new()