You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/transaction.rs
+19Lines changed: 19 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -1610,6 +1610,25 @@ mod tests {
1610
1610
assert!(tx.all_fees().is_empty());
1611
1611
}
1612
1612
1613
+
#[test]
1614
+
fnrangeproof_roundtrip(){
1615
+
let rangeproof_hex = "60330000000000000001767e13001e118c504995cbb072ca916332636a56419acf56071705af3203ae259860467d2020b81333c0b33c658c13573774615ec5a34d48ee0ecadaaa3f3d6d0d463102c63b4df9fef8d6ef2b291a5f5a32a435cf8a1a1826fb8b91b1ab4aa6405cd10b09dcf603b39baf2366f23438ed32107a629c7c9e2cf6f3b39bc759e8fb81cc8d664d6a334fbd43bde3e8d584fb11df9a5f7ecd87e87d377141aac4f1d568a1227359e8677cc5b1df02675e3f5ccaf2a63b6d2cae464185bb012fef1ae6fbb4abe613252cb5bd57cccebe73a20bb3fa578a9b2dfb9cae0dca2912f433c59054c25a3e5f04ed63dc15687f89fec5d4e4ed84b9f10373f3d780488d99061fcfd12be20142279ed527e2f5281c1601ad4d11337fc05ee97b36ab8b676794bf7b3255bd5630835a51c786a6c4609ed836e933de8c63effc0b23cbafd886b157953fce3c8cc55a261a575bda42e5c9faae383fec77b3740ac0c52bb99a9e41f9c49f5407dc8e5d84fad359a6c922e035e0f1a906f7c27f98ec2d450d706a41d16b7536d446733d5f0bca4313f1b7a8d01d257dd5d840d33b0080655a9b30a7803f5e63ed798184a50ecccd2141497db8085d1860b9e6466a3c6e5c11829e63162dca6554610fd2dd2ad6336150ebc1ad9bf77d960fcf49ff93063b810c86615e5255264db2708f3d2d0d5a5212f6ef6859d3c6b3f06e5852475e96316de2dbb0560060376ae6d613ed8cb3c6b02b2f83a532c2178640cd9f839acfb0783f60627fa7c05af2a8a17e826b59ff7d489b43da50bda9b51097c224840fbbe3267f6dd3487a0e990a58f7101597c0b68f6a13be8127a1fc8a90d3012fd9f820fd11d5fdbf41634606ff54bffbf1eb7996d157354709b823cbe12d7bdad59edb0227812156036f21e1b9d232d7c7f859dd9c716f7358d8c27b3a40d26dc10d1d994b967bce3794242d27ec6547e3e3e5d72cb36b924732413f63efbde4a98e6abb5d71694cca16954c0d621e1efe8203e0551add5369385c6d17f34b4e35a328817c7709a3164a27a6b707308b1cc86ebba746c43f944c31c9f0c0c82d1c179480b3415ffb6f68a9365fefda3a357aa0cece86f410ace18ff4ddfeb634432d1d507cff5f0043b7fbbe6d14118ee7c7fd9b3792a192c5910dfb7cb732673868cd81b726f5e314d59749fa9858f18d2b556d456a6a665b5f239c19ecf41b61ed7fe458b8beb074ba985e6d297e35fb5da7da7f71df15df62a1e01c09a3c0a4231f54170dde42538e854a765c11c1be6a3df8aa6d78286adb771c6832d10ecb430b2c2b9169c5a0381337188616319bc71057f2522e9fdf8b3ba29705139abc14ea9c49fec1564b5b98838be9883b777d7d620aed09de6e8c19e71e3957e16a36d4cc64f47d357302d466622f018c826d6bbf3c4517c5e3620504263d93aa148e2bccb645b82fb722ac2c27471bab0d26b9ad4a26afb0bf3e65d064b7d890f82e052076b206499bf8ec723658d2ad8f66b6f410860542d29e0f5c05c959542e7b6004528b199eb4c7744e8a8e55eb7cb7db5b1661781bd620778b3f3a8ebc3b32d30b64e54a64fd2861f2adcfe187fb0d8d7367bc908edc8dbdfcec1bcfda3b4da8a9d4997d491df34e7afa035e5dc198f63aa749c349a4349a577123a3e533b159075868afccb8fb1b2c907cfa8743a095f3e7e93280ab9a1af5c07fe3403081585d8efdf025c9a1b54e8fc52a2316effd029a94edc446f123403fd80d907c8ef30ee085544de2d5ede30ea8a0e352b11ddc5140b0350ae66df9913a3f8fa0fb8f4f3f45d307bf24ec6b0fde9d0b4563d15c1c09bba91373d7d539445f326b1ebd21489eb8c436295dfd0fe6959652d354c0eef5436301bc8abe4e405768f2ab1fcf52404ce813cb13fa17e4338a66b83ab332f3e6a6dd7a931b718cde100120449e8a5a59847b188b387b6b6694f826e6b09208d1a4871a13914f81283684c2e2147860fdcc1129cccc3bed26a5977a9c5fd726221390beb384525f25d5d95345bce0b229f8d4a4f8b6080450c22025fa50fdff8c92c24a8aea1b3434514997a7d8a364721b237be9edfbdaa4c1f93e4f93feddbe52887fd61aa84e3c858c8da7dc76e3831a3b9cb68f20a5899516b7a6fa4b6ccaa7670d8fc7b6a8bbffd938c06e1945dd435f7329b7d8456515445998f3fd52a7f0b6758a4b35759476aea7b3d9a4e2797bd02df3c30d3aaf0344af4534406e2d0cc9e16df45cf0174ebc0d58ae4af38a41dbe6eed92ec121ce5a59ab3bec47e9e8caeea802047dcd586cb672416fe7064215a8df90655e58e6ec23e29766de0cca7298cc8144dbdc09112c0073c9e14b72c95ecd34e25f4a3e9c8b17f6cd167f4a0757653e29e41f22b28d85bb25dba58e232957181c320787fbd6e6a1cd87bb9889a765f94de030246e7f21fe21d3dad04c7350e974c4ab4d43bd9b417355b1234f80fc73c8a7ecdbb15ce7284afe9b10746cc6b37aa21efa4a8042e9a8a67760147bbd99efec54a2941d50ba385c1b31df4a6be3bb711a03a1f6e1fa67a801d1555517f10be37ff77482d09dca9a8fcb596eb2b92fbd39590e12038b64bfe1e6ee014c68597f82639dc9391dd67eea1e8c65f1f1f795dc77765b04f6924d4779fdb109aeba3ec00ece0730af14c7e06f4203b27362007ab36e9a042c0c7cdcdcb8feed5befbd5b852164c4a5fa403bb6bebef58c8b8924a5de3ee1f37cb259e622570af96aa2c95d15e5af12563a30fb53a46e00ae6c673b7a71770e54165552fa251042cfe03e4fe8859e1442ae6abef39f74afb2244300c61a7ec81be04d48c6b777fb3e3dec3480710e056911f50194f0e166a70dc41d50e7077a5bed9eeacccb02cdec88246fdce2bebdd294176bd39b1688a93423cbd1e0f711e9b2902bd413235fcaa8417fe40ddf4e0d070862779100d07a054cddd128b224f683f0b00e4b7542b3ec33a428e24c13072165a8054195afa76396adc89784c62b2450c81a0fad0a3baaa91dc8fafe1e7d0f07070ce5f1d11955fa105183fdf279b697207c580533c7d15b9e38bd1cea7ec4e400d9c1f0af564cbb2e865bdd327671bfe79314faf317735944eae51dd097e79006c195f6ead2592e146918d06800f08810b7ad2b543b68941ada5bb3bf612b22db0b67526eb924774a3815597489083cfa951070ce223c1289c93bfdf0d918742887c733503553ed2619fc5aee86ca1d321c994094c65bc570123d0319d2579b047e7be60928863af177d7caf72d131ed054fdbe973b671e34975e2839baae3d351a2a8374275ed3f0e07c6dc0d9762fcfe3152d4cc519108a5d94b71ca4c5508e75f582b4a15b1dc6461e887eec23dfc6a0dc9aa6672b57612ed1ccec280555cbf06a2999619579dcc9286e16417716f758c3a26690732e49e93bf6a3f033b06eec5618313fd4eabec1fc811499e5234fa07cb229adf71a9f013fd23ae5f88e05e0f0480dcc31ecc56b882233a7d49c439f4c17f6eb64f14bbf42fd16e37dccaac07c4df9919d7520b1c9c956bdc171ed256055920513ab4efe5bcef254e9ac95299d919f84074c7b96c5dd866b4f47261317d70f2f2908db900aa03659c688fbfedc3039cf80a74f0c66bfee03e60220267d095969b6abceedb8ade7acdd66ab8dd1e15c9ca424c742c8e165ac47885dc21b72869269ca0c4bdd0ae40e3f2c9ad1ff7497de1b612569483390935eb2d91f5b94ad10e3be7b3389973c588cb3997351b1670913d6ccb77f2e6b4f6337b572754f1759edd624d5d726bd80a19fceb81ab552a797fe847455080449c1dc1e09bd167d1b0385a6e17281807d6a39d7b38d21808414ff4bdb02382e77559c94c52c9a7aed9bc16dc10fbf1da7f0d10002c07de56bb2da933c22bcfc7564c6417a467f2840d63033c6a6cdc58b7091d3f6e5381dc62b4c7097e78968162f42f3f8087c38bb9af4c61ced2030d5b9d50dc2cc3f116b0df90628369979293db2621f65bd5364bba9cc725aa474fe6c4a6bfeb598584f10bdc3e4b3cd09a828a184248d2e2d2c3eb6cf1a39139c814b5d8b68cf845273c355c8b92809032f285fdb080e1f99dbe9ac33a1d70d5b9c07a772f09fdf3ade550628f3d41e1c16a66d1639377776d8f765254cd2685a0f3b00ad0b79643fa23340f1510e21cb185a2cfb260e75316d07160707ea63fa0836b05507aafb623db7426bfe6ec6a334ad70517983b852432d0c4fbf7fc1d0f55901e028877d66a812c1e6a097e824182a56155a5cd443657937c30136c4900d909326fdddb063ee4267eafb952fe81f6d43dee5a0c753f49c8eea011bdb6c11b29e5810422ef44635bb19cdece0ee835f89082bb9a82d097cf75cf04fb8098ee5fd2fcc17e17669d3585fb5b60bcd6dac57ac338fdd8b9bbe032d0e22d7eb6be3cc425e65ffaf3b2ab60b82555913b60eb2ff22cbc17a6b8e67573f20216f526adfceb6151434e5d3e3efc1d49e97023060992f8bff99d1cb71555bbf3064a8a61cf250fd2397d836b47c2202afee72a39cdbe30b9dc570584b5696fc09d6f82d15d4dcc61a7f53321d3ecbca35be9d350c92fb4ddb2e24802b7c40e4cab46daf4a43da7976cd0365272b8df7ecaadad0ceb52802d32b6f1411a77f4cf664508ad264ef565b4fe5cf12a1db44398a6bf23215f8ee8204dc0935f2dde737d5950491420a13636632812a426938a0900c90c774a7cf8c887353c1b47e688eb131ee025c0463f7390c810ccc832d2355a7f64305dd7d9cd5286387a28b1f18ae126ff16ee86da08de77dcf0cf5b871d6b09877a30e94159b77de543cb862e24e0b2a8d844ea5aee4493b2dd12288ea47720fec24469f147681d02ae36443fa96eba2f1e5b14d0ceba32fa5c68e0b7754eb064e72b24b5d0874cf36409514083da7e893d1bbaa558309bf6db72c8b4ea950d267987474ef1363a5a62a8ae8f34e07192e6e962fb5cd8246107ced7fba0170f3b9824d0f43c5eab660940d53f1ee9528530339f7901ee3df5c57757d89bb9a444d17a56a2e76dd9264ae84f16d53152f163949c7ad238785c597f71805b8584d9cf4326ded392c4228ec657bf9126fbef27eaa08e5de09de8122014bf24871278fece05a5b106ddac1b5fddf7f2f6a760d732f972c8be7d26fae8e3929ff846f56f882bf9024382983973a5d6ff0cdbc889db9615429df1a150716e7ad4eabda5282e31b67fd6418caa984c005ca83c4dc62956b3e6ff434bbb80b380af2b990c81b6e1a93ec03f4b471845426c8afd3251c31815842898d88b7fdb526f37c60a5980391f76b5bf40a52f8b6f948eb5c5564a377b356e5967f1a44f1f3a864556ade6bc9c2bbc9749d301f1bc4f365aa845bb7c50536bc9afd4d829269f24f1ebfb762eef1b43837871f97f027e52697fa071d00da7615ef7055a5cf2c5e3e296885bfb49034c1264c3537ffdbdc1a4dec8628fe0da727b794f18e5bb0970cd49ed742ac348df47f62a07cfaadedc8916112a4f99f022b38d9af722b8c401a0604f8f18e843d959523554448eda48ddcdf78b885b7d9850bf13e28e4f9223ed028d310eb9379b7e7d441739897bbc05f09c7e3afcf398cf8f8c311f9ea8e8b203a738a56048d1292c5ac2a7e773a787472b41f3bb939b66448e4a49ecc0d358c33bb41ed2e4f7e511f9ffe1f02a41bee9e630693f1198030ab81900c539f09e106fcc6644378fc02c04312a637b8ed08d475a6920b69c4916dc26f67c7db6f0522d2c91cbc236afb0eb4bf61d2e6e67c04657275d049ff243752ff24b041b672f728f33fba16ed536c2673e929b1fee1e815891e8eee6c873183f9c335333d20595db4b27c27799054398d5dbc9e91206768fc";
1616
+
let rangeproof_bytes = Vec::<u8>::from_hex(&rangeproof_hex).unwrap();
1617
+
let rangeproof = RangeProof::from_slice(&rangeproof_bytes[..]).unwrap();
1618
+
1619
+
// serde_cbor works ok
1620
+
let bytes = serde_cbor::to_vec(&rangeproof).unwrap();
1621
+
let rangeproof_back:RangeProof = serde_cbor::from_slice(&bytes[..]).unwrap();
1622
+
let bytes_again = serde_cbor::to_vec(&rangeproof_back).unwrap();
0 commit comments