1
0
Fork 0
forked from lthn/blockchain

unit_tests: tx_signatures_packing.1 fixed

This commit is contained in:
sowle 2024-06-26 15:35:52 +02:00
parent d4d3ea1d23
commit cee6e51cbb
No known key found for this signature in database
GPG key ID: C07A24B2D89D49FC

View file

@ -1,4 +1,4 @@
// Copyright (c) 2022 Zano Project
// Copyright (c) 2022-2024 Zano Project
// Copyright (c) 2012-2014 The Boolberry developers
// Distributed under the MIT/X11 software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
@ -80,7 +80,10 @@ TEST(tx_signatures_packing, 1)
sigs.clear();
ASSERT_EQ(1, get_object_blobsize(sigs));
//
// Notation:
// v(x) = tools::get_varint_packed_size(x)
//
{
// empty NLSAG
@ -105,7 +108,7 @@ TEST(tx_signatures_packing, 1)
// 128 10-ring NLSAGs
// v(128) + 128 * (1 + v(10) + 10 * 2 * 32) = 82178
sigs.clear();
NLSAG_sig nlsag = AUTO_VAL_INIT(nlsag);
NLSAG_sig nlsag{};
nlsag.s.resize(10);
for(size_t i = 0; i < 128; ++i)
sigs.push_back(nlsag);
@ -113,37 +116,38 @@ TEST(tx_signatures_packing, 1)
ASSERT_EQ(82178, get_object_blobsize(sigs));
}
// the following tests cases should be redone
// the following tests cases should be redone, do we really need them? -- sowle
// TODO @#@#
{
// empty ZC_sig
// v(1) + (1 + 32 + 32 + (1 + 10*32) + 32) = 99
// v(1) + 1 * (1 + 32 + 32 + (1 + 32 + v(0)+0*2*32 + 32 + 32)) = 164
sigs.clear();
sigs.emplace_back(std::move(ZC_sig()));
ASSERT_EQ(99, t_serializable_object_to_blob(sigs).size());
ASSERT_EQ(99, get_object_blobsize(sigs));
ASSERT_EQ(164, t_serializable_object_to_blob(sigs).size());
ASSERT_EQ(164, get_object_blobsize(sigs));
}
{
// 128 empty ZC_sigs
// v(128) + 128 * (1 + 32 + 32 + (v(0) + 0*32) + 32) = 12546
// v(128) + 128 * (1 + 32 + 32 + (1 + 32 + v(0)+0*2*32 + 32 + 32)) = 20866
sigs.clear();
for(size_t i = 0; i < 128; ++i)
sigs.emplace_back(std::move(ZC_sig()));
ASSERT_EQ(12546, t_serializable_object_to_blob(sigs).size());
ASSERT_EQ(12546, get_object_blobsize(sigs));
ASSERT_EQ(20866, t_serializable_object_to_blob(sigs).size());
ASSERT_EQ(20866, get_object_blobsize(sigs));
}
{
// 128 10-ring ZC_sigs
// v(128) + 128 * (1 + 32 + 32 + (v(10) + 10*32) + 32) = 53506 (97 + (v(10) + 10*32))
ZC_sig zc = AUTO_VAL_INIT(zc);
//zc.clsags_gg.r.resize(10);
// v(128) + 128 * (1 + 32 + 32 + (1 + 32 + v(10)+10*2*32 + 32 + 32)) = 102786
ZC_sig zc{};
zc.clsags_ggx.r_x.resize(10);
zc.clsags_ggx.r_g.resize(10);
sigs.clear();
for(size_t i = 0; i < 128; ++i)
sigs.emplace_back(zc);
ASSERT_EQ(53506, t_serializable_object_to_blob(sigs).size());
ASSERT_EQ(53506, get_object_blobsize(sigs));
ASSERT_EQ(102786, t_serializable_object_to_blob(sigs).size());
ASSERT_EQ(102786, get_object_blobsize(sigs));
}
}