mirror of
https://github.com/logos-blockchain/lssa.git
synced 2026-01-04 06:13:10 +00:00
fix
This commit is contained in:
parent
2e371300d3
commit
9ff6a5bc85
@ -1,36 +1,130 @@
|
||||
use hex_literal::hex;
|
||||
|
||||
pub(crate) const DEFAULT_VALUES: [[u8; 32]; 32] = [
|
||||
hex!("0000000000000000000000000000000000000000000000000000000000000000"),
|
||||
hex!("f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b"),
|
||||
hex!("db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71"),
|
||||
hex!("c78009fdf07fc56a11f122370658a353aaa542ed63e44c4bc15ff4cd105ab33c"),
|
||||
hex!("536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c"),
|
||||
hex!("9efde052aa15429fae05bad4d0b1d7c64da64d03d7a1854a588c2cb8430c0d30"),
|
||||
hex!("d88ddfeed400a8755596b21942c1497e114c302e6118290f91e6772976041fa1"),
|
||||
hex!("87eb0ddba57e35f6d286673802a4af5975e22506c7cf4c64bb6be5ee11527f2c"),
|
||||
hex!("26846476fd5fc54a5d43385167c95144f2643f533cc85bb9d16b782f8d7db193"),
|
||||
hex!("506d86582d252405b840018792cad2bf1259f1ef5aa5f887e13cb2f0094f51e1"),
|
||||
hex!("ffff0ad7e659772f9534c195c815efc4014ef1e1daed4404c06385d11192e92b"),
|
||||
hex!("6cf04127db05441cd833107a52be852868890e4317e6a02ab47683aa75964220"),
|
||||
hex!("b7d05f875f140027ef5118a2247bbb84ce8f2f0f1123623085daf7960c329f5f"),
|
||||
hex!("df6af5f5bbdb6be9ef8aa618e4bf8073960867171e29676f8b284dea6a08a85e"),
|
||||
hex!("b58d900f5e182e3c50ef74969ea16c7726c549757cc23523c369587da7293784"),
|
||||
hex!("d49a7502ffcfb0340b1d7885688500ca308161a7f96b62df9d083b71fcc8f2bb"),
|
||||
hex!("8fe6b1689256c0d385f42f5bbe2027a22c1996e110ba97c171d3e5948de92beb"),
|
||||
hex!("8d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab"),
|
||||
hex!("95eec8b2e541cad4e91de38385f2e046619f54496c2382cb6cacd5b98c26f5a4"),
|
||||
hex!("f893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17f"),
|
||||
hex!("cddba7b592e3133393c16194fac7431abf2f5485ed711db282183c819e08ebaa"),
|
||||
hex!("8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9c"),
|
||||
hex!("feb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167"),
|
||||
hex!("e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d7"),
|
||||
hex!("31206fa80a50bb6abe29085058f16212212a60eec8f049fecb92d8c8e0a84bc0"),
|
||||
hex!("21352bfecbeddde993839f614c3dac0a3ee37543f9b412b16199dc158e23b544"),
|
||||
hex!("619e312724bb6d7c3153ed9de791d764a366b389af13c58bf8a8d90481a46765"),
|
||||
hex!("7cdd2986268250628d0c10e385c58c6191e6fbe05191bcc04f133f2cea72c1c4"),
|
||||
hex!("848930bd7ba8cac54661072113fb278869e07bb8587f91392933374d017bcbe1"),
|
||||
hex!("8869ff2c22b28cc10510d9853292803328be4fb0e80495e8bb8d271f5b889636"),
|
||||
hex!("b5fe28e79f1b850f8658246ce9b6a1e7b49fc06db7143e8fe0b4f2b0c5523a5c"),
|
||||
hex!("985e929f70af28d0bdd1a90a808f977f597c7c778c489e98d3bd8910d31ac0f7"),
|
||||
[
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0,
|
||||
],
|
||||
[
|
||||
245, 165, 253, 66, 209, 106, 32, 48, 39, 152, 239, 110, 211, 9, 151, 155, 67, 0, 61, 35,
|
||||
32, 217, 240, 232, 234, 152, 49, 169, 39, 89, 251, 75,
|
||||
],
|
||||
[
|
||||
219, 86, 17, 78, 0, 253, 212, 193, 248, 92, 137, 43, 243, 90, 201, 168, 146, 137, 170, 236,
|
||||
177, 235, 208, 169, 108, 222, 96, 106, 116, 139, 93, 113,
|
||||
],
|
||||
[
|
||||
199, 128, 9, 253, 240, 127, 197, 106, 17, 241, 34, 55, 6, 88, 163, 83, 170, 165, 66, 237,
|
||||
99, 228, 76, 75, 193, 95, 244, 205, 16, 90, 179, 60,
|
||||
],
|
||||
[
|
||||
83, 109, 152, 131, 127, 45, 209, 101, 165, 93, 94, 234, 233, 20, 133, 149, 68, 114, 213,
|
||||
111, 36, 109, 242, 86, 191, 60, 174, 25, 53, 42, 18, 60,
|
||||
],
|
||||
[
|
||||
158, 253, 224, 82, 170, 21, 66, 159, 174, 5, 186, 212, 208, 177, 215, 198, 77, 166, 77, 3,
|
||||
215, 161, 133, 74, 88, 140, 44, 184, 67, 12, 13, 48,
|
||||
],
|
||||
[
|
||||
216, 141, 223, 238, 212, 0, 168, 117, 85, 150, 178, 25, 66, 193, 73, 126, 17, 76, 48, 46,
|
||||
97, 24, 41, 15, 145, 230, 119, 41, 118, 4, 31, 161,
|
||||
],
|
||||
[
|
||||
135, 235, 13, 219, 165, 126, 53, 246, 210, 134, 103, 56, 2, 164, 175, 89, 117, 226, 37, 6,
|
||||
199, 207, 76, 100, 187, 107, 229, 238, 17, 82, 127, 44,
|
||||
],
|
||||
[
|
||||
38, 132, 100, 118, 253, 95, 197, 74, 93, 67, 56, 81, 103, 201, 81, 68, 242, 100, 63, 83,
|
||||
60, 200, 91, 185, 209, 107, 120, 47, 141, 125, 177, 147,
|
||||
],
|
||||
[
|
||||
80, 109, 134, 88, 45, 37, 36, 5, 184, 64, 1, 135, 146, 202, 210, 191, 18, 89, 241, 239, 90,
|
||||
165, 248, 135, 225, 60, 178, 240, 9, 79, 81, 225,
|
||||
],
|
||||
[
|
||||
255, 255, 10, 215, 230, 89, 119, 47, 149, 52, 193, 149, 200, 21, 239, 196, 1, 78, 241, 225,
|
||||
218, 237, 68, 4, 192, 99, 133, 209, 17, 146, 233, 43,
|
||||
],
|
||||
[
|
||||
108, 240, 65, 39, 219, 5, 68, 28, 216, 51, 16, 122, 82, 190, 133, 40, 104, 137, 14, 67, 23,
|
||||
230, 160, 42, 180, 118, 131, 170, 117, 150, 66, 32,
|
||||
],
|
||||
[
|
||||
183, 208, 95, 135, 95, 20, 0, 39, 239, 81, 24, 162, 36, 123, 187, 132, 206, 143, 47, 15,
|
||||
17, 35, 98, 48, 133, 218, 247, 150, 12, 50, 159, 95,
|
||||
],
|
||||
[
|
||||
223, 106, 245, 245, 187, 219, 107, 233, 239, 138, 166, 24, 228, 191, 128, 115, 150, 8, 103,
|
||||
23, 30, 41, 103, 111, 139, 40, 77, 234, 106, 8, 168, 94,
|
||||
],
|
||||
[
|
||||
181, 141, 144, 15, 94, 24, 46, 60, 80, 239, 116, 150, 158, 161, 108, 119, 38, 197, 73, 117,
|
||||
124, 194, 53, 35, 195, 105, 88, 125, 167, 41, 55, 132,
|
||||
],
|
||||
[
|
||||
212, 154, 117, 2, 255, 207, 176, 52, 11, 29, 120, 133, 104, 133, 0, 202, 48, 129, 97, 167,
|
||||
249, 107, 98, 223, 157, 8, 59, 113, 252, 200, 242, 187,
|
||||
],
|
||||
[
|
||||
143, 230, 177, 104, 146, 86, 192, 211, 133, 244, 47, 91, 190, 32, 39, 162, 44, 25, 150,
|
||||
225, 16, 186, 151, 193, 113, 211, 229, 148, 141, 233, 43, 235,
|
||||
],
|
||||
[
|
||||
141, 13, 99, 195, 158, 186, 222, 133, 9, 224, 174, 60, 156, 56, 118, 251, 95, 161, 18, 190,
|
||||
24, 249, 5, 236, 172, 254, 203, 146, 5, 118, 3, 171,
|
||||
],
|
||||
[
|
||||
149, 238, 200, 178, 229, 65, 202, 212, 233, 29, 227, 131, 133, 242, 224, 70, 97, 159, 84,
|
||||
73, 108, 35, 130, 203, 108, 172, 213, 185, 140, 38, 245, 164,
|
||||
],
|
||||
[
|
||||
248, 147, 233, 8, 145, 119, 117, 182, 43, 255, 35, 41, 77, 187, 227, 161, 205, 142, 108,
|
||||
193, 195, 91, 72, 1, 136, 123, 100, 106, 111, 129, 241, 127,
|
||||
],
|
||||
[
|
||||
205, 219, 167, 181, 146, 227, 19, 51, 147, 193, 97, 148, 250, 199, 67, 26, 191, 47, 84,
|
||||
133, 237, 113, 29, 178, 130, 24, 60, 129, 158, 8, 235, 170,
|
||||
],
|
||||
[
|
||||
138, 141, 127, 227, 175, 140, 170, 8, 90, 118, 57, 168, 50, 0, 20, 87, 223, 185, 18, 138,
|
||||
128, 97, 20, 42, 208, 51, 86, 41, 255, 35, 255, 156,
|
||||
],
|
||||
[
|
||||
254, 179, 195, 55, 215, 165, 26, 111, 191, 0, 185, 227, 76, 82, 225, 201, 25, 92, 150, 155,
|
||||
212, 231, 160, 191, 213, 29, 92, 91, 237, 156, 17, 103,
|
||||
],
|
||||
[
|
||||
231, 31, 10, 168, 60, 195, 46, 223, 190, 250, 159, 77, 62, 1, 116, 202, 133, 24, 46, 236,
|
||||
159, 58, 9, 246, 166, 192, 223, 99, 119, 165, 16, 215,
|
||||
],
|
||||
[
|
||||
49, 32, 111, 168, 10, 80, 187, 106, 190, 41, 8, 80, 88, 241, 98, 18, 33, 42, 96, 238, 200,
|
||||
240, 73, 254, 203, 146, 216, 200, 224, 168, 75, 192,
|
||||
],
|
||||
[
|
||||
33, 53, 43, 254, 203, 237, 221, 233, 147, 131, 159, 97, 76, 61, 172, 10, 62, 227, 117, 67,
|
||||
249, 180, 18, 177, 97, 153, 220, 21, 142, 35, 181, 68,
|
||||
],
|
||||
[
|
||||
97, 158, 49, 39, 36, 187, 109, 124, 49, 83, 237, 157, 231, 145, 215, 100, 163, 102, 179,
|
||||
137, 175, 19, 197, 139, 248, 168, 217, 4, 129, 164, 103, 101,
|
||||
],
|
||||
[
|
||||
124, 221, 41, 134, 38, 130, 80, 98, 141, 12, 16, 227, 133, 197, 140, 97, 145, 230, 251,
|
||||
224, 81, 145, 188, 192, 79, 19, 63, 44, 234, 114, 193, 196,
|
||||
],
|
||||
[
|
||||
132, 137, 48, 189, 123, 168, 202, 197, 70, 97, 7, 33, 19, 251, 39, 136, 105, 224, 123, 184,
|
||||
88, 127, 145, 57, 41, 51, 55, 77, 1, 123, 203, 225,
|
||||
],
|
||||
[
|
||||
136, 105, 255, 44, 34, 178, 140, 193, 5, 16, 217, 133, 50, 146, 128, 51, 40, 190, 79, 176,
|
||||
232, 4, 149, 232, 187, 141, 39, 31, 91, 136, 150, 54,
|
||||
],
|
||||
[
|
||||
181, 254, 40, 231, 159, 27, 133, 15, 134, 88, 36, 108, 233, 182, 161, 231, 180, 159, 192,
|
||||
109, 183, 20, 62, 143, 224, 180, 242, 176, 197, 82, 58, 92,
|
||||
],
|
||||
[
|
||||
152, 94, 146, 159, 112, 175, 40, 208, 189, 209, 169, 10, 128, 143, 151, 127, 89, 124, 124,
|
||||
119, 140, 72, 158, 152, 211, 189, 137, 16, 211, 26, 192, 247,
|
||||
],
|
||||
];
|
||||
|
||||
@ -184,12 +184,24 @@ mod tests {
|
||||
use nssa_core::account::{Account, NullifierPublicKey};
|
||||
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn test_empty_merkle_tree() {
|
||||
let tree = MerkleTree::with_capacity(4);
|
||||
let expected_root =
|
||||
hex!("0000000000000000000000000000000000000000000000000000000000000000");
|
||||
assert_eq!(tree.root(), expected_root);
|
||||
assert_eq!(tree.capacity, 4);
|
||||
assert_eq!(tree.length, 0);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_merkle_tree_0() {
|
||||
let values = [[0; 32]];
|
||||
let tree = MerkleTree::new(&values);
|
||||
let expected_root = assert_eq!(tree.length, 1);
|
||||
assert_eq!(tree.root(), hash_value(&[0; 32]));
|
||||
assert_eq!(tree.capacity, 1);
|
||||
assert_eq!(tree.length, 1);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -200,6 +212,7 @@ mod tests {
|
||||
hex!("48c73f7821a58a8d2a703e5b39c571c0aa20cf14abcd0af8f2b955bc202998de");
|
||||
assert_eq!(tree.root(), expected_root);
|
||||
assert_eq!(tree.capacity, 4);
|
||||
assert_eq!(tree.length, 4)
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -210,6 +223,7 @@ mod tests {
|
||||
hex!("c9bbb83096df85157a146e7d770455a98412dee0633187ee86fee6c8a45b831a");
|
||||
assert_eq!(tree.root(), expected_root);
|
||||
assert_eq!(tree.capacity, 4);
|
||||
assert_eq!(tree.length, 4);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -220,6 +234,7 @@ mod tests {
|
||||
hex!("c8d3d8d2b13f27ceeccdc699119871f9f32ea7ed86ff45d0ad11f77b28cd7568");
|
||||
assert_eq!(tree.root(), expected_root);
|
||||
assert_eq!(tree.capacity, 4);
|
||||
assert_eq!(tree.length, 3);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -231,6 +246,7 @@ mod tests {
|
||||
|
||||
assert_eq!(tree.root(), expected_root);
|
||||
assert_eq!(tree.capacity, 8);
|
||||
assert_eq!(tree.length, 5);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -241,9 +257,10 @@ mod tests {
|
||||
];
|
||||
let tree = MerkleTree::new(&values);
|
||||
let expected_root =
|
||||
hex!("ef418aed5aa20702d4d94c92da79a4012f2e36f1008bfdb3cd1e38749dca2499");
|
||||
hex!("3f72d2ff55921a86c48e5988ec3e19ee9d0d5aa3e23197842970a903508ed767");
|
||||
assert_eq!(tree.root(), expected_root);
|
||||
assert_eq!(tree.capacity, 8);
|
||||
assert_eq!(tree.capacity, 16);
|
||||
assert_eq!(tree.length, 11);
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user