From 93b58f1ee461166f059d45933a435d3e588988c6 Mon Sep 17 00:00:00 2001 From: Andronik Ordian <write@reusable.software> Date: Wed, 25 Aug 2021 21:42:07 +0200 Subject: [PATCH] allow some overhead in MERKLE_NODE_MAX_SIZE (#3724) * allow overhead in MERKLE_NODE_MAX_SIZE * Update node/primitives/src/lib.rs Co-authored-by: cheme <emericchevalier.pro@gmail.com> Co-authored-by: cheme <emericchevalier.pro@gmail.com> --- polkadot/node/primitives/src/lib.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/polkadot/node/primitives/src/lib.rs b/polkadot/node/primitives/src/lib.rs index ae982708c8c..6aabb93d763 100644 --- a/polkadot/node/primitives/src/lib.rs +++ b/polkadot/node/primitives/src/lib.rs @@ -52,8 +52,10 @@ pub use disputes::{ SignedDisputeStatement, UncheckedDisputeMessage, ValidDisputeVote, }; -// For a 16-ary Merkle Prefix Trie, we can expect at most 16 32-byte hashes per node. -const MERKLE_NODE_MAX_SIZE: usize = 512; +// For a 16-ary Merkle Prefix Trie, we can expect at most 16 32-byte hashes per node +// plus some overhead: +// header 1 + bitmap 2 + max partial_key 8 + children 16 * (32 + len 1) + value 32 + value len 1 +const MERKLE_NODE_MAX_SIZE: usize = 512 + 100; // 16-ary Merkle Prefix Trie for 32-bit ValidatorIndex has depth at most 8. const MERKLE_PROOF_MAX_DEPTH: usize = 8; -- GitLab