# Skip list proofs size
## Messages
En utilisant les limites de mainnet:
```ocaml
let test_inbox_max_number_of_messages_per_level () =
let* block, (account1, account2) =
context_init
~hard_gas_limit_per_block:Gas.Arith.(integral_of_int_exn 2_600_000)
~hard_gas_limit_per_operation:Gas.Arith.(integral_of_int_exn 1_040_000)
Context.T2
in
let* block, _rollup = sc_originate block account1 "unit" in
let _max_number_of_messages_per_level =
Constants.sc_rollup_max_number_of_messages_per_level
in
let* incr = Incremental.begin_construction block in
(* This just one message below the limit *)
let messages = List.repeat 400_000 "foo" in
let* op =
Op.sc_rollup_add_messages ~gas_limit:Max (I incr) account1 messages
in
let* incr = Incremental.add_operation ~check_size:false incr op in
let messages = List.repeat 395_000 "foo" in
let* op =
Op.sc_rollup_add_messages ~gas_limit:Max (I incr) account2 messages
in
let* incr = Incremental.add_operation ~check_size:false incr op in
let* _b = Incremental.finalize_block incr in
return_unit
```
L'ajout de seulement quelques messages après `795_000` fait dépasser la limite
en gas du block. On a donc au maximum ~= `800_000` messages par block, pas
loin du 1M.
(Peut être refaire les tests avec `message = "x"`, pour avoir le coût minimal de hash)
## Inbox levels
On a vu que la preuve de 800k à 1M fait ~= 7Kb.
Nombres de blocks par jour: 4 * 60 * 24 = 5760
1_000_000 / 5760 = 173
Il faut 173 jours de retard pour atteindre 1M, on peut donc dire que la condition
`taille opération tezos > preuve inbox + preuve message + preuve read_input` est
respecter tant que `preuve read_input < 32000 - (7000 + 7000); preuve read_input < 18000`