Block size computation improvement (#1528)
This commit is contained in:
parent
52e545fa4e
commit
c8d760cd61
1 changed files with 11 additions and 5 deletions
|
@ -81,6 +81,7 @@ public:
|
|||
nano::block_hash previous;
|
||||
nano::account destination;
|
||||
nano::amount balance;
|
||||
static size_t constexpr size = sizeof (previous) + sizeof (destination) + sizeof (balance);
|
||||
};
|
||||
class send_block : public nano::block
|
||||
{
|
||||
|
@ -110,10 +111,10 @@ public:
|
|||
bool operator== (nano::block const &) const override;
|
||||
bool operator== (nano::send_block const &) const;
|
||||
bool valid_predecessor (nano::block const &) const override;
|
||||
static size_t constexpr size = sizeof (nano::account) + sizeof (nano::block_hash) + sizeof (nano::amount) + sizeof (nano::signature) + sizeof (uint64_t);
|
||||
send_hashables hashables;
|
||||
nano::signature signature;
|
||||
uint64_t work;
|
||||
static size_t constexpr size = nano::send_hashables::size + sizeof (signature) + sizeof (work);
|
||||
};
|
||||
class receive_hashables
|
||||
{
|
||||
|
@ -125,6 +126,7 @@ public:
|
|||
void hash (blake2b_state &) const;
|
||||
nano::block_hash previous;
|
||||
nano::block_hash source;
|
||||
static size_t constexpr size = sizeof (previous) + sizeof (source);
|
||||
};
|
||||
class receive_block : public nano::block
|
||||
{
|
||||
|
@ -154,10 +156,10 @@ public:
|
|||
bool operator== (nano::block const &) const override;
|
||||
bool operator== (nano::receive_block const &) const;
|
||||
bool valid_predecessor (nano::block const &) const override;
|
||||
static size_t constexpr size = sizeof (nano::block_hash) + sizeof (nano::block_hash) + sizeof (nano::signature) + sizeof (uint64_t);
|
||||
receive_hashables hashables;
|
||||
nano::signature signature;
|
||||
uint64_t work;
|
||||
static size_t constexpr size = nano::receive_hashables::size + sizeof (signature) + sizeof (work);
|
||||
};
|
||||
class open_hashables
|
||||
{
|
||||
|
@ -170,6 +172,7 @@ public:
|
|||
nano::block_hash source;
|
||||
nano::account representative;
|
||||
nano::account account;
|
||||
static size_t constexpr size = sizeof (source) + sizeof (representative) + sizeof (account);
|
||||
};
|
||||
class open_block : public nano::block
|
||||
{
|
||||
|
@ -200,10 +203,10 @@ public:
|
|||
bool operator== (nano::block const &) const override;
|
||||
bool operator== (nano::open_block const &) const;
|
||||
bool valid_predecessor (nano::block const &) const override;
|
||||
static size_t constexpr size = sizeof (nano::block_hash) + sizeof (nano::account) + sizeof (nano::account) + sizeof (nano::signature) + sizeof (uint64_t);
|
||||
nano::open_hashables hashables;
|
||||
nano::signature signature;
|
||||
uint64_t work;
|
||||
static size_t constexpr size = nano::open_hashables::size + sizeof (signature) + sizeof (work);
|
||||
};
|
||||
class change_hashables
|
||||
{
|
||||
|
@ -215,6 +218,7 @@ public:
|
|||
void hash (blake2b_state &) const;
|
||||
nano::block_hash previous;
|
||||
nano::account representative;
|
||||
static size_t constexpr size = sizeof (previous) + sizeof (representative);
|
||||
};
|
||||
class change_block : public nano::block
|
||||
{
|
||||
|
@ -244,10 +248,10 @@ public:
|
|||
bool operator== (nano::block const &) const override;
|
||||
bool operator== (nano::change_block const &) const;
|
||||
bool valid_predecessor (nano::block const &) const override;
|
||||
static size_t constexpr size = sizeof (nano::block_hash) + sizeof (nano::account) + sizeof (nano::signature) + sizeof (uint64_t);
|
||||
nano::change_hashables hashables;
|
||||
nano::signature signature;
|
||||
uint64_t work;
|
||||
static size_t constexpr size = nano::change_hashables::size + sizeof (signature) + sizeof (work);
|
||||
};
|
||||
class state_hashables
|
||||
{
|
||||
|
@ -271,6 +275,8 @@ public:
|
|||
nano::amount balance;
|
||||
// Link field contains source block_hash if receiving, destination account if sending
|
||||
nano::uint256_union link;
|
||||
// Serialized size
|
||||
static size_t constexpr size = sizeof (account) + sizeof (previous) + sizeof (representative) + sizeof (balance) + sizeof (link);
|
||||
};
|
||||
class state_block : public nano::block
|
||||
{
|
||||
|
@ -300,10 +306,10 @@ public:
|
|||
bool operator== (nano::block const &) const override;
|
||||
bool operator== (nano::state_block const &) const;
|
||||
bool valid_predecessor (nano::block const &) const override;
|
||||
static size_t constexpr size = sizeof (nano::account) + sizeof (nano::block_hash) + sizeof (nano::account) + sizeof (nano::amount) + sizeof (nano::uint256_union) + sizeof (nano::signature) + sizeof (uint64_t);
|
||||
nano::state_hashables hashables;
|
||||
nano::signature signature;
|
||||
uint64_t work;
|
||||
static size_t constexpr size = nano::state_hashables::size + sizeof (signature) + sizeof (work);
|
||||
};
|
||||
class block_visitor
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue