forked from MinaProtocol/mina
-
Notifications
You must be signed in to change notification settings - Fork 0
/
mina_compile_config.ml
110 lines (63 loc) · 2.4 KB
/
mina_compile_config.ml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
[%%import "/src/config.mlh"]
(** This file consists of compile-time constants that are not in
Genesis_constants.
This file includes all of the constants defined at compile-time for both
tests and production.
*)
[%%inject "curve_size", curve_size]
[%%inject "genesis_ledger", genesis_ledger]
[%%inject "default_transaction_fee_string", default_transaction_fee]
[%%inject "default_snark_worker_fee_string", default_snark_worker_fee]
[%%inject "minimum_user_command_fee_string", minimum_user_command_fee]
[%%inject "itn_features", itn_features]
[%%ifndef compaction_interval]
let compaction_interval_ms = None
[%%else]
[%%inject "compaction_interval", compaction_interval]
let compaction_interval_ms = Some compaction_interval
[%%endif]
[%%inject "block_window_duration_ms", block_window_duration]
[%%inject "vrf_poll_interval_ms", vrf_poll_interval]
let rpc_handshake_timeout_sec = 60.0
let rpc_heartbeat_timeout_sec = 60.0
let rpc_heartbeat_send_every_sec = 10.0 (*same as the default*)
[%%inject "generate_genesis_proof", generate_genesis_proof]
(** limits on Zkapp_command.t size
10.26*np + 10.08*n2 + 9.14*n1 < 69.45
where np: number of single proof updates
n2: number of pairs of signed/no-auth update
n1: number of single signed/no-auth update
and their coefficients representing the cost
The formula was generated based on benchmarking data conducted on bare
metal i9 processor with room to include lower spec.
69.45 was the total time for a combination of updates that was considered
acceptable.
The method used to estimate the cost was linear least squares.
*)
let zkapp_proof_update_cost = 10.26
let zkapp_signed_pair_update_cost = 10.08
let zkapp_signed_single_update_cost = 9.14
let zkapp_transaction_cost_limit = 69.45
let max_event_elements = 100
let max_action_elements = 100
[%%inject "network_id", network]
[%%ifndef zkapp_cmd_limit]
let zkapp_cmd_limit = None
[%%else]
[%%inject "zkapp_cmd_limit", zkapp_cmd_limit]
let zkapp_cmd_limit = Some zkapp_cmd_limit
[%%endif]
let zkapp_cmd_limit_hardcap = 128
let zkapps_disabled = false
[%%ifndef slot_tx_end]
let slot_tx_end : int option = None
[%%else]
[%%inject "slot_tx_end", slot_tx_end]
let slot_tx_end = Some slot_tx_end
[%%endif]
[%%ifndef slot_chain_end]
let slot_chain_end : int option = None
[%%else]
[%%inject "slot_chain_end", slot_chain_end]
let slot_chain_end = Some slot_chain_end
[%%endif]