From a3c2cdda2d1c81764439db2e369b595124867e54 Mon Sep 17 00:00:00 2001 From: Gregor Date: Fri, 18 Aug 2023 02:44:43 +0200 Subject: [PATCH 01/25] simplify pickles dummy changes --- src/lib/pickles/compile.ml | 2 +- src/lib/pickles/dummy.ml | 28 ++++++++++++---------- src/lib/pickles/dummy.mli | 2 ++ src/lib/pickles/proof.ml | 31 +++++++++++------------- src/lib/pickles/step.ml | 7 +++--- src/lib/pickles/unfinalized.ml | 5 ++-- src/lib/pickles/wrap_hack.ml | 44 ++++++++++++++++------------------ 7 files changed, 59 insertions(+), 60 deletions(-) diff --git a/src/lib/pickles/compile.ml b/src/lib/pickles/compile.ml index 8a1957ddf2b..76c70e4cc26 100644 --- a/src/lib/pickles/compile.ml +++ b/src/lib/pickles/compile.ml @@ -63,7 +63,7 @@ let pad_messages_for_next_wrap_proof (messages_for_next_wrap_proofs : local_max_proofs_verifieds H1.T(Proof_.Messages_for_next_proof_over_same_field.Wrap).t ) = - let dummy_chals = Lazy.force Dummy.Ipa.Wrap.challenges in + let dummy_chals = Dummy.(!Ipa.Wrap.challenges) in let module Messages = H1.T (Proof_.Messages_for_next_proof_over_same_field.Wrap) in let module Maxes = H1.T (Nat) in diff --git a/src/lib/pickles/dummy.ml b/src/lib/pickles/dummy.ml index 6abdcc56bbf..7f8536b7eb9 100644 --- a/src/lib/pickles/dummy.ml +++ b/src/lib/pickles/dummy.ml @@ -7,6 +7,8 @@ open Lazy.Let_syntax let wrap_domains = Common.wrap_domains +let ( ! ) = Lazy.force + let evals = lazy (let open Plonk_types in @@ -23,9 +25,9 @@ let evals = { All_evals.ft_eval1 = Ro.tock (); evals = ex }) let evals_combined = - let%map evals = evals in - Plonk_types.All_evals.map evals ~f1:Fn.id - ~f2:(Array.reduce_exn ~f:Backend.Tock.Field.( + )) + lazy + (Plonk_types.All_evals.map !evals ~f1:Fn.id + ~f2:(Array.reduce_exn ~f:Backend.Tock.Field.( + )) ) module Ipa = struct module Wrap = struct @@ -36,13 +38,12 @@ module Ipa = struct { Bulletproof_challenge.prechallenge } ) ) let challenges_computed = - let%map challenges = challenges in - Vector.map challenges ~f:(fun { prechallenge } : Tock.Field.t -> - Ipa.Wrap.compute_challenge prechallenge ) + lazy + (Vector.map !challenges ~f:(fun { prechallenge } : Tock.Field.t -> + Ipa.Wrap.compute_challenge prechallenge ) ) let sg = - let%map challenges = challenges in - time "dummy wrap sg" (fun () -> Ipa.Wrap.compute_sg challenges) + lazy (time "dummy wrap sg" (fun () -> Ipa.Wrap.compute_sg !challenges)) end module Step = struct @@ -53,12 +54,13 @@ module Ipa = struct { Bulletproof_challenge.prechallenge } ) ) let challenges_computed = - let%map challenges = challenges in - Vector.map challenges ~f:(fun { prechallenge } : Tick.Field.t -> - Ipa.Step.compute_challenge prechallenge ) + lazy + (Vector.map !challenges ~f:(fun { prechallenge } : Tick.Field.t -> + Ipa.Step.compute_challenge prechallenge ) ) let sg = - let%map challenges = challenges in - time "dummy wrap sg" (fun () -> Ipa.Step.compute_sg challenges) + lazy + (time "dummy wrap sg" (fun () -> + Ipa.Step.compute_sg (Lazy.force challenges) ) ) end end diff --git a/src/lib/pickles/dummy.mli b/src/lib/pickles/dummy.mli index 66810cc9d3b..d5c5a5a6a16 100644 --- a/src/lib/pickles/dummy.mli +++ b/src/lib/pickles/dummy.mli @@ -55,3 +55,5 @@ val evals_combined : , Backend.Tock.Field.t ) Pickles_types.Plonk_types.All_evals.t lazy_t + +val ( ! ) : 'a lazy_t -> 'a diff --git a/src/lib/pickles/proof.ml b/src/lib/pickles/proof.ml index d553c9d1f73..1d79de82d21 100644 --- a/src/lib/pickles/proof.ml +++ b/src/lib/pickles/proof.ml @@ -148,7 +148,7 @@ let dummy (type w h r) (_w : w Nat.t) (h : h Nat.t) ; domain_log2 = Branch_data.Domain_log2.of_int_exn domain_log2 } - ; bulletproof_challenges = Lazy.force Dummy.Ipa.Step.challenges + ; bulletproof_challenges = Dummy.(!Ipa.Step.challenges) ; plonk = { alpha = scalar_chal () ; beta = chal () @@ -163,8 +163,7 @@ let dummy (type w h r) (_w : w Nat.t) (h : h Nat.t) ; messages_for_next_wrap_proof = { challenge_polynomial_commitment = Lazy.force Dummy.Ipa.Step.sg ; old_bulletproof_challenges = - Vector.init h ~f:(fun _ -> - Lazy.force Dummy.Ipa.Wrap.challenges ) + Vector.init h ~f:(fun _ -> Dummy.(!Ipa.Wrap.challenges)) } } ; messages_for_next_step_proof = @@ -172,7 +171,7 @@ let dummy (type w h r) (_w : w Nat.t) (h : h Nat.t) ; old_bulletproof_challenges = (* Not sure if this should be w or h honestly ...*) Vector.init most_recent_width ~f:(fun _ -> - Lazy.force Dummy.Ipa.Step.challenges ) + Dummy.(!Ipa.Step.challenges) ) (* TODO: Should this be wrap? *) ; challenge_polynomial_commitments = Vector.init most_recent_width ~f:(fun _ -> @@ -187,19 +186,17 @@ let dummy (type w h r) (_w : w Nat.t) (h : h Nat.t) ; lookup = None } ; openings = - (let evals = Lazy.force Dummy.evals in - { proof = - { lr = - Array.init (Nat.to_int Tock.Rounds.n) ~f:(fun _ -> - (g0, g0) ) - ; z_1 = Ro.tock () - ; z_2 = Ro.tock () - ; delta = g0 - ; challenge_polynomial_commitment = g0 - } - ; evals = evals.evals.evals - ; ft_eval1 = evals.ft_eval1 - } ) + { proof = + { lr = + Array.init (Nat.to_int Tock.Rounds.n) ~f:(fun _ -> (g0, g0)) + ; z_1 = Ro.tock () + ; z_2 = Ro.tock () + ; delta = g0 + ; challenge_polynomial_commitment = g0 + } + ; evals = Dummy.(!evals.evals.evals) + ; ft_eval1 = Dummy.(!evals.ft_eval1) + } } ; prev_evals = (let e = diff --git a/src/lib/pickles/step.ml b/src/lib/pickles/step.ml index aa4715d39fe..edf57b34d5f 100644 --- a/src/lib/pickles/step.ml +++ b/src/lib/pickles/step.ml @@ -407,7 +407,7 @@ struct t.statement.messages_for_next_step_proof .old_bulletproof_challenges ~f:Ipa.Step.compute_challenges ) Local_max_proofs_verified.n - (Lazy.force Dummy.Ipa.Step.challenges_computed) + Dummy.(!Ipa.Step.challenges_computed) ; wrap_proof = { opening = { t.proof.openings.proof with challenge_polynomial_commitment } @@ -721,7 +721,7 @@ struct { challenge_polynomial_commitment = Lazy.force Dummy.Ipa.Step.sg ; old_bulletproof_challenges = Vector.init Max_proofs_verified.n ~f:(fun _ -> - Lazy.force Dummy.Ipa.Wrap.challenges_computed ) + Dummy.(!Ipa.Wrap.challenges_computed) ) } in Wrap_hack.hash_messages_for_next_wrap_proof Max_proofs_verified.n t @@ -890,7 +890,8 @@ struct ; evals = { With_public_input.evals = es; public_input = x_hat } } ) ) - lte Max_proofs_verified.n (Lazy.force Dummy.evals) + lte Max_proofs_verified.n + Dummy.(!evals) } , Option.value_exn !return_value , Option.value_exn !auxiliary_value diff --git a/src/lib/pickles/unfinalized.ml b/src/lib/pickles/unfinalized.ml index 03f92b813d8..572f14d20f1 100644 --- a/src/lib/pickles/unfinalized.ml +++ b/src/lib/pickles/unfinalized.ml @@ -69,8 +69,7 @@ module Constant = struct } in let evals = - Plonk_types.Evals.to_in_circuit - (Lazy.force Dummy.evals_combined).evals.evals + Plonk_types.Evals.to_in_circuit Dummy.(!evals_combined.evals.evals) in let env = let module Env_bool = struct @@ -139,7 +138,7 @@ module Constant = struct } ; combined_inner_product = Shifted_value (tock ()) ; xi = Scalar_challenge.create one_chal - ; bulletproof_challenges = Lazy.force Dummy.Ipa.Wrap.challenges + ; bulletproof_challenges = Dummy.(!Ipa.Wrap.challenges) ; b = Shifted_value (tock ()) } ; should_finalize = false diff --git a/src/lib/pickles/wrap_hack.ml b/src/lib/pickles/wrap_hack.ml index c4c262da430..f7551001812 100644 --- a/src/lib/pickles/wrap_hack.ml +++ b/src/lib/pickles/wrap_hack.ml @@ -1,7 +1,6 @@ open Core_kernel open Backend open Pickles_types -open Lazy.Let_syntax (* The actual "accumulator" for the wrap proof contains a vector of elements, each of which is a vector of bulletproof challenges. @@ -26,21 +25,20 @@ module Padded_length = Nat.N2 (* Pad up to length 2 by preprending dummy values. *) let pad_vector (type a) ~dummy (v : (a, _) Vector.t) = - Vector.extend_front_exn v Padded_length.n (Lazy.force dummy) + Vector.extend_front_exn v Padded_length.n dummy (* Specialized padding function. *) let pad_challenges (chalss : (_ Vector.t, _) Vector.t) = - pad_vector ~dummy:Dummy.Ipa.Wrap.challenges_computed chalss + pad_vector ~dummy:Dummy.(!Ipa.Wrap.challenges_computed) chalss (* Specialized padding function. *) let pad_accumulator (xs : (Tock.Proof.Challenge_polynomial.t, _) Vector.t) = pad_vector xs ~dummy: - (let%map chals = Dummy.Ipa.Wrap.challenges_computed in - { Tock.Proof.Challenge_polynomial.commitment = - Lazy.force Dummy.Ipa.Wrap.sg - ; challenges = Vector.to_array chals - } ) + { Tock.Proof.Challenge_polynomial.commitment = + Lazy.force Dummy.Ipa.Wrap.sg + ; challenges = Vector.to_array Dummy.(!Ipa.Wrap.challenges_computed) + } |> Vector.to_list (* Hash the me only, padding first. *) @@ -74,7 +72,7 @@ let pad_proof (type mlmb) (T p : (mlmb, _) Proof.t) : pad_vector p.statement.proof_state.messages_for_next_wrap_proof .old_bulletproof_challenges - ~dummy:Dummy.Ipa.Wrap.challenges + ~dummy:Dummy.(!Ipa.Wrap.challenges) } } } @@ -84,31 +82,31 @@ module Checked = struct let pad_challenges (chalss : (_ Vector.t, _) Vector.t) = pad_vector ~dummy: - (let%map chals = Dummy.Ipa.Wrap.challenges_computed in - Vector.map ~f:Impls.Wrap.Field.constant chals ) + (Vector.map ~f:Impls.Wrap.Field.constant + Dummy.(!Ipa.Wrap.challenges_computed) ) chalss let pad_commitments (commitments : _ Vector.t) = pad_vector ~dummy: - (let%map sg = Dummy.Ipa.Wrap.sg in - Tuple_lib.Double.map ~f:Impls.Step.Field.constant sg ) + (Tuple_lib.Double.map ~f:Impls.Step.Field.constant + (Lazy.force Dummy.Ipa.Wrap.sg) ) commitments (* We precompute the sponge states that would result from absorbing 0, 1, or 2 dummy challenge vectors. This is used to speed up hashing inside the circuit. *) let dummy_messages_for_next_wrap_proof_sponge_states = - let module S = Tock_field_sponge.Field in - let full_state s = (S.state s, s.sponge_state) in - let sponge = S.create Tock_field_sponge.params in - let s0 = full_state sponge in - let%map chals = Dummy.Ipa.Wrap.challenges_computed in - Vector.iter ~f:(S.absorb sponge) chals ; - let s1 = full_state sponge in - Vector.iter ~f:(S.absorb sponge) chals ; - let s2 = full_state sponge in - [| s0; s1; s2 |] + lazy + (let module S = Tock_field_sponge.Field in + let full_state s = (S.state s, s.sponge_state) in + let sponge = S.create Tock_field_sponge.params in + let s0 = full_state sponge in + Vector.iter ~f:(S.absorb sponge) Dummy.(!Ipa.Wrap.challenges_computed) ; + let s1 = full_state sponge in + Vector.iter ~f:(S.absorb sponge) Dummy.(!Ipa.Wrap.challenges_computed) ; + let s2 = full_state sponge in + [| s0; s1; s2 |] ) let hash_constant_messages_for_next_wrap_proof = hash_messages_for_next_wrap_proof From 823abda05e7a10f43a7dd60308db629663810218 Mon Sep 17 00:00:00 2001 From: Gregor Date: Fri, 18 Aug 2023 03:00:34 +0200 Subject: [PATCH 02/25] revert changes that cause vk change --- src/lib/pickles/compile.ml | 2 +- src/lib/pickles/dummy.ml | 24 ++++++++++-------------- src/lib/pickles/dummy.mli | 2 -- src/lib/pickles/proof.ml | 6 +++--- src/lib/pickles/unfinalized.ml | 2 +- src/lib/pickles/wrap_hack.ml | 2 +- 6 files changed, 16 insertions(+), 22 deletions(-) diff --git a/src/lib/pickles/compile.ml b/src/lib/pickles/compile.ml index 76c70e4cc26..22e24272df7 100644 --- a/src/lib/pickles/compile.ml +++ b/src/lib/pickles/compile.ml @@ -63,7 +63,7 @@ let pad_messages_for_next_wrap_proof (messages_for_next_wrap_proofs : local_max_proofs_verifieds H1.T(Proof_.Messages_for_next_proof_over_same_field.Wrap).t ) = - let dummy_chals = Dummy.(!Ipa.Wrap.challenges) in + let dummy_chals = Dummy.(Ipa.Wrap.challenges) in let module Messages = H1.T (Proof_.Messages_for_next_proof_over_same_field.Wrap) in let module Maxes = H1.T (Nat) in diff --git a/src/lib/pickles/dummy.ml b/src/lib/pickles/dummy.ml index 7f8536b7eb9..3ad9342d7f8 100644 --- a/src/lib/pickles/dummy.ml +++ b/src/lib/pickles/dummy.ml @@ -32,35 +32,31 @@ let evals_combined = module Ipa = struct module Wrap = struct let challenges = - lazy - (Vector.init Tock.Rounds.n ~f:(fun _ -> - let prechallenge = Ro.scalar_chal () in - { Bulletproof_challenge.prechallenge } ) ) + Vector.init Tock.Rounds.n ~f:(fun _ -> + let prechallenge = Ro.scalar_chal () in + { Bulletproof_challenge.prechallenge } ) let challenges_computed = lazy - (Vector.map !challenges ~f:(fun { prechallenge } : Tock.Field.t -> + (Vector.map challenges ~f:(fun { prechallenge } : Tock.Field.t -> Ipa.Wrap.compute_challenge prechallenge ) ) let sg = - lazy (time "dummy wrap sg" (fun () -> Ipa.Wrap.compute_sg !challenges)) + lazy (time "dummy wrap sg" (fun () -> Ipa.Wrap.compute_sg challenges)) end module Step = struct let challenges = - lazy - (Vector.init Tick.Rounds.n ~f:(fun _ -> - let prechallenge = Ro.scalar_chal () in - { Bulletproof_challenge.prechallenge } ) ) + Vector.init Tick.Rounds.n ~f:(fun _ -> + let prechallenge = Ro.scalar_chal () in + { Bulletproof_challenge.prechallenge } ) let challenges_computed = lazy - (Vector.map !challenges ~f:(fun { prechallenge } : Tick.Field.t -> + (Vector.map challenges ~f:(fun { prechallenge } : Tick.Field.t -> Ipa.Step.compute_challenge prechallenge ) ) let sg = - lazy - (time "dummy wrap sg" (fun () -> - Ipa.Step.compute_sg (Lazy.force challenges) ) ) + lazy (time "dummy wrap sg" (fun () -> Ipa.Step.compute_sg challenges)) end end diff --git a/src/lib/pickles/dummy.mli b/src/lib/pickles/dummy.mli index d5c5a5a6a16..d80c4c90f1c 100644 --- a/src/lib/pickles/dummy.mli +++ b/src/lib/pickles/dummy.mli @@ -7,7 +7,6 @@ module Ipa : sig Composition_types.Bulletproof_challenge.t , Pickles_types.Nat.z Backend.Tock.Rounds.plus_n ) Pickles_types.Vector.t - lazy_t val challenges_computed : ( Backend.Tock.Field.t @@ -25,7 +24,6 @@ module Ipa : sig Composition_types.Bulletproof_challenge.t , Pickles_types.Nat.z Backend.Tick.Rounds.plus_n ) Pickles_types.Vector.t - lazy_t val challenges_computed : ( Backend.Tick.Field.t diff --git a/src/lib/pickles/proof.ml b/src/lib/pickles/proof.ml index 1d79de82d21..98b7ba2d815 100644 --- a/src/lib/pickles/proof.ml +++ b/src/lib/pickles/proof.ml @@ -148,7 +148,7 @@ let dummy (type w h r) (_w : w Nat.t) (h : h Nat.t) ; domain_log2 = Branch_data.Domain_log2.of_int_exn domain_log2 } - ; bulletproof_challenges = Dummy.(!Ipa.Step.challenges) + ; bulletproof_challenges = Dummy.(Ipa.Step.challenges) ; plonk = { alpha = scalar_chal () ; beta = chal () @@ -163,7 +163,7 @@ let dummy (type w h r) (_w : w Nat.t) (h : h Nat.t) ; messages_for_next_wrap_proof = { challenge_polynomial_commitment = Lazy.force Dummy.Ipa.Step.sg ; old_bulletproof_challenges = - Vector.init h ~f:(fun _ -> Dummy.(!Ipa.Wrap.challenges)) + Vector.init h ~f:(fun _ -> Dummy.(Ipa.Wrap.challenges)) } } ; messages_for_next_step_proof = @@ -171,7 +171,7 @@ let dummy (type w h r) (_w : w Nat.t) (h : h Nat.t) ; old_bulletproof_challenges = (* Not sure if this should be w or h honestly ...*) Vector.init most_recent_width ~f:(fun _ -> - Dummy.(!Ipa.Step.challenges) ) + Dummy.(Ipa.Step.challenges) ) (* TODO: Should this be wrap? *) ; challenge_polynomial_commitments = Vector.init most_recent_width ~f:(fun _ -> diff --git a/src/lib/pickles/unfinalized.ml b/src/lib/pickles/unfinalized.ml index 572f14d20f1..84a7ed6e117 100644 --- a/src/lib/pickles/unfinalized.ml +++ b/src/lib/pickles/unfinalized.ml @@ -138,7 +138,7 @@ module Constant = struct } ; combined_inner_product = Shifted_value (tock ()) ; xi = Scalar_challenge.create one_chal - ; bulletproof_challenges = Dummy.(!Ipa.Wrap.challenges) + ; bulletproof_challenges = Dummy.(Ipa.Wrap.challenges) ; b = Shifted_value (tock ()) } ; should_finalize = false diff --git a/src/lib/pickles/wrap_hack.ml b/src/lib/pickles/wrap_hack.ml index f7551001812..e671ed747d6 100644 --- a/src/lib/pickles/wrap_hack.ml +++ b/src/lib/pickles/wrap_hack.ml @@ -72,7 +72,7 @@ let pad_proof (type mlmb) (T p : (mlmb, _) Proof.t) : pad_vector p.statement.proof_state.messages_for_next_wrap_proof .old_bulletproof_challenges - ~dummy:Dummy.(!Ipa.Wrap.challenges) + ~dummy:Dummy.(Ipa.Wrap.challenges) } } } From d7d23496f3b3c3d1e07ce1474f9e3d5212e910b9 Mon Sep 17 00:00:00 2001 From: Gregor Date: Fri, 18 Aug 2023 03:10:57 +0200 Subject: [PATCH 03/25] clean up --- src/lib/pickles/compile.ml | 2 +- src/lib/pickles/proof.ml | 6 +++--- src/lib/pickles/unfinalized.ml | 2 +- src/lib/pickles/wrap_hack.ml | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/lib/pickles/compile.ml b/src/lib/pickles/compile.ml index 22e24272df7..4cf8a5968ea 100644 --- a/src/lib/pickles/compile.ml +++ b/src/lib/pickles/compile.ml @@ -63,7 +63,7 @@ let pad_messages_for_next_wrap_proof (messages_for_next_wrap_proofs : local_max_proofs_verifieds H1.T(Proof_.Messages_for_next_proof_over_same_field.Wrap).t ) = - let dummy_chals = Dummy.(Ipa.Wrap.challenges) in + let dummy_chals = Dummy.Ipa.Wrap.challenges in let module Messages = H1.T (Proof_.Messages_for_next_proof_over_same_field.Wrap) in let module Maxes = H1.T (Nat) in diff --git a/src/lib/pickles/proof.ml b/src/lib/pickles/proof.ml index 98b7ba2d815..aa1330ee481 100644 --- a/src/lib/pickles/proof.ml +++ b/src/lib/pickles/proof.ml @@ -148,7 +148,7 @@ let dummy (type w h r) (_w : w Nat.t) (h : h Nat.t) ; domain_log2 = Branch_data.Domain_log2.of_int_exn domain_log2 } - ; bulletproof_challenges = Dummy.(Ipa.Step.challenges) + ; bulletproof_challenges = Dummy.Ipa.Step.challenges ; plonk = { alpha = scalar_chal () ; beta = chal () @@ -163,7 +163,7 @@ let dummy (type w h r) (_w : w Nat.t) (h : h Nat.t) ; messages_for_next_wrap_proof = { challenge_polynomial_commitment = Lazy.force Dummy.Ipa.Step.sg ; old_bulletproof_challenges = - Vector.init h ~f:(fun _ -> Dummy.(Ipa.Wrap.challenges)) + Vector.init h ~f:(fun _ -> Dummy.Ipa.Wrap.challenges) } } ; messages_for_next_step_proof = @@ -171,7 +171,7 @@ let dummy (type w h r) (_w : w Nat.t) (h : h Nat.t) ; old_bulletproof_challenges = (* Not sure if this should be w or h honestly ...*) Vector.init most_recent_width ~f:(fun _ -> - Dummy.(Ipa.Step.challenges) ) + Dummy.Ipa.Step.challenges ) (* TODO: Should this be wrap? *) ; challenge_polynomial_commitments = Vector.init most_recent_width ~f:(fun _ -> diff --git a/src/lib/pickles/unfinalized.ml b/src/lib/pickles/unfinalized.ml index 84a7ed6e117..100afea20a8 100644 --- a/src/lib/pickles/unfinalized.ml +++ b/src/lib/pickles/unfinalized.ml @@ -138,7 +138,7 @@ module Constant = struct } ; combined_inner_product = Shifted_value (tock ()) ; xi = Scalar_challenge.create one_chal - ; bulletproof_challenges = Dummy.(Ipa.Wrap.challenges) + ; bulletproof_challenges = Dummy.Ipa.Wrap.challenges ; b = Shifted_value (tock ()) } ; should_finalize = false diff --git a/src/lib/pickles/wrap_hack.ml b/src/lib/pickles/wrap_hack.ml index e671ed747d6..d7deed87f08 100644 --- a/src/lib/pickles/wrap_hack.ml +++ b/src/lib/pickles/wrap_hack.ml @@ -72,7 +72,7 @@ let pad_proof (type mlmb) (T p : (mlmb, _) Proof.t) : pad_vector p.statement.proof_state.messages_for_next_wrap_proof .old_bulletproof_challenges - ~dummy:Dummy.(Ipa.Wrap.challenges) + ~dummy:Dummy.Ipa.Wrap.challenges } } } From 99d1a70071d26f74465f62f1d29e4a31b5e2cd8b Mon Sep 17 00:00:00 2001 From: Gregor Date: Fri, 18 Aug 2023 09:50:32 +0200 Subject: [PATCH 04/25] oops --- src/lib/mina_base/proof.ml | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/src/lib/mina_base/proof.ml b/src/lib/mina_base/proof.ml index d5a22488ee7..0e789eeee8b 100644 --- a/src/lib/mina_base/proof.ml +++ b/src/lib/mina_base/proof.ml @@ -2,15 +2,9 @@ open Core_kernel -let blockchain_dummy = - lazy - ( print_endline "blockchain_dummy" ; - Dummy_values.blockchain_proof () ) - -let transaction_dummy = - lazy - ( print_endline "transaction_dummy" ; - Dummy_values.transaction_proof () ) +let blockchain_dummy = lazy (Dummy_values.blockchain_proof ()) + +let transaction_dummy = lazy (Dummy_values.transaction_proof ()) let ( ! ) = Lazy.force From d093b48906014428b94d9f9920c76c1f52fd49c9 Mon Sep 17 00:00:00 2001 From: Gregor Date: Tue, 22 Aug 2023 20:10:00 +0200 Subject: [PATCH 05/25] Revert "faster top level integer to field conversions" This reverts commit 4e43359a90e5b30c40841e5e31ee99fbaea09834. --- src/lib/mina_numbers/nat.ml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/lib/mina_numbers/nat.ml b/src/lib/mina_numbers/nat.ml index d682107b6ff..d0129786252 100644 --- a/src/lib/mina_numbers/nat.ml +++ b/src/lib/mina_numbers/nat.ml @@ -29,7 +29,9 @@ struct Checked.map (to_bits t) ~f:(fun bits -> Random_oracle.Input.Legacy.bitstring bits ) - let constant n = Field.Var.constant (Field.of_int (N.to_int n)) + let constant n = + Field.Var.constant + (Bigint.to_field (Bigint.of_bignum_bigint (N.to_bigint n))) let () = assert (Int.(N.length_in_bits mod 16 = 0)) From 752a1fa4ded62a63c12bc604a9be11acaf37855a Mon Sep 17 00:00:00 2001 From: Gregor Date: Tue, 22 Aug 2023 20:37:04 +0200 Subject: [PATCH 06/25] address feedback - don't override ! operator in dummy.ml --- src/lib/pickles/dummy.ml | 5 +---- src/lib/pickles/dummy.mli | 2 -- src/lib/pickles/proof.ml | 41 ++++++++++++++++++---------------- src/lib/pickles/step.ml | 7 +++--- src/lib/pickles/unfinalized.ml | 3 ++- src/lib/pickles/wrap_hack.ml | 12 +++++----- 6 files changed, 35 insertions(+), 35 deletions(-) diff --git a/src/lib/pickles/dummy.ml b/src/lib/pickles/dummy.ml index 3ad9342d7f8..b1145479371 100644 --- a/src/lib/pickles/dummy.ml +++ b/src/lib/pickles/dummy.ml @@ -3,12 +3,9 @@ open Pickles_types open Backend open Composition_types open Common -open Lazy.Let_syntax let wrap_domains = Common.wrap_domains -let ( ! ) = Lazy.force - let evals = lazy (let open Plonk_types in @@ -26,7 +23,7 @@ let evals = let evals_combined = lazy - (Plonk_types.All_evals.map !evals ~f1:Fn.id + (Plonk_types.All_evals.map (Lazy.force evals) ~f1:Fn.id ~f2:(Array.reduce_exn ~f:Backend.Tock.Field.( + )) ) module Ipa = struct diff --git a/src/lib/pickles/dummy.mli b/src/lib/pickles/dummy.mli index d80c4c90f1c..710446b1026 100644 --- a/src/lib/pickles/dummy.mli +++ b/src/lib/pickles/dummy.mli @@ -53,5 +53,3 @@ val evals_combined : , Backend.Tock.Field.t ) Pickles_types.Plonk_types.All_evals.t lazy_t - -val ( ! ) : 'a lazy_t -> 'a diff --git a/src/lib/pickles/proof.ml b/src/lib/pickles/proof.ml index aa1330ee481..e3f4da96a1b 100644 --- a/src/lib/pickles/proof.ml +++ b/src/lib/pickles/proof.ml @@ -179,25 +179,28 @@ let dummy (type w h r) (_w : w Nat.t) (h : h Nat.t) } } ; proof = - { messages = - { w_comm = Vector.map lengths.w ~f:g - ; z_comm = g lengths.z - ; t_comm = g lengths.t - ; lookup = None - } - ; openings = - { proof = - { lr = - Array.init (Nat.to_int Tock.Rounds.n) ~f:(fun _ -> (g0, g0)) - ; z_1 = Ro.tock () - ; z_2 = Ro.tock () - ; delta = g0 - ; challenge_polynomial_commitment = g0 - } - ; evals = Dummy.(!evals.evals.evals) - ; ft_eval1 = Dummy.(!evals.ft_eval1) - } - } + Wrap_wire_proof.of_kimchi_proof + { messages = + { w_comm = Vector.map lengths.w ~f:g + ; z_comm = g lengths.z + ; t_comm = g lengths.t + ; lookup = None + } + ; openings = + (let evals = Lazy.force Dummy.evals in + { proof = + { lr = + Array.init (Nat.to_int Tock.Rounds.n) ~f:(fun _ -> + (g0, g0) ) + ; z_1 = Ro.tock () + ; z_2 = Ro.tock () + ; delta = g0 + ; challenge_polynomial_commitment = g0 + } + ; evals = evals.evals.evals + ; ft_eval1 = evals.ft_eval1 + } ) + } ; prev_evals = (let e = Plonk_types.Evals.map (Evaluation_lengths.create ~of_int:Fn.id) diff --git a/src/lib/pickles/step.ml b/src/lib/pickles/step.ml index edf57b34d5f..aa4715d39fe 100644 --- a/src/lib/pickles/step.ml +++ b/src/lib/pickles/step.ml @@ -407,7 +407,7 @@ struct t.statement.messages_for_next_step_proof .old_bulletproof_challenges ~f:Ipa.Step.compute_challenges ) Local_max_proofs_verified.n - Dummy.(!Ipa.Step.challenges_computed) + (Lazy.force Dummy.Ipa.Step.challenges_computed) ; wrap_proof = { opening = { t.proof.openings.proof with challenge_polynomial_commitment } @@ -721,7 +721,7 @@ struct { challenge_polynomial_commitment = Lazy.force Dummy.Ipa.Step.sg ; old_bulletproof_challenges = Vector.init Max_proofs_verified.n ~f:(fun _ -> - Dummy.(!Ipa.Wrap.challenges_computed) ) + Lazy.force Dummy.Ipa.Wrap.challenges_computed ) } in Wrap_hack.hash_messages_for_next_wrap_proof Max_proofs_verified.n t @@ -890,8 +890,7 @@ struct ; evals = { With_public_input.evals = es; public_input = x_hat } } ) ) - lte Max_proofs_verified.n - Dummy.(!evals) + lte Max_proofs_verified.n (Lazy.force Dummy.evals) } , Option.value_exn !return_value , Option.value_exn !auxiliary_value diff --git a/src/lib/pickles/unfinalized.ml b/src/lib/pickles/unfinalized.ml index 100afea20a8..583e82b6c26 100644 --- a/src/lib/pickles/unfinalized.ml +++ b/src/lib/pickles/unfinalized.ml @@ -69,7 +69,8 @@ module Constant = struct } in let evals = - Plonk_types.Evals.to_in_circuit Dummy.(!evals_combined.evals.evals) + Plonk_types.Evals.to_in_circuit + (Lazy.force Dummy.evals_combined).evals.evals in let env = let module Env_bool = struct diff --git a/src/lib/pickles/wrap_hack.ml b/src/lib/pickles/wrap_hack.ml index d7deed87f08..92d68f7384a 100644 --- a/src/lib/pickles/wrap_hack.ml +++ b/src/lib/pickles/wrap_hack.ml @@ -29,7 +29,7 @@ let pad_vector (type a) ~dummy (v : (a, _) Vector.t) = (* Specialized padding function. *) let pad_challenges (chalss : (_ Vector.t, _) Vector.t) = - pad_vector ~dummy:Dummy.(!Ipa.Wrap.challenges_computed) chalss + pad_vector ~dummy:(Lazy.force Dummy.Ipa.Wrap.challenges_computed) chalss (* Specialized padding function. *) let pad_accumulator (xs : (Tock.Proof.Challenge_polynomial.t, _) Vector.t) = @@ -37,7 +37,8 @@ let pad_accumulator (xs : (Tock.Proof.Challenge_polynomial.t, _) Vector.t) = ~dummy: { Tock.Proof.Challenge_polynomial.commitment = Lazy.force Dummy.Ipa.Wrap.sg - ; challenges = Vector.to_array Dummy.(!Ipa.Wrap.challenges_computed) + ; challenges = + Vector.to_array (Lazy.force Dummy.Ipa.Wrap.challenges_computed) } |> Vector.to_list @@ -83,7 +84,7 @@ module Checked = struct pad_vector ~dummy: (Vector.map ~f:Impls.Wrap.Field.constant - Dummy.(!Ipa.Wrap.challenges_computed) ) + (Lazy.force Dummy.Ipa.Wrap.challenges_computed) ) chalss let pad_commitments (commitments : _ Vector.t) = @@ -102,9 +103,10 @@ module Checked = struct let full_state s = (S.state s, s.sponge_state) in let sponge = S.create Tock_field_sponge.params in let s0 = full_state sponge in - Vector.iter ~f:(S.absorb sponge) Dummy.(!Ipa.Wrap.challenges_computed) ; + let chals = Lazy.force Dummy.Ipa.Wrap.challenges_computed in + Vector.iter ~f:(S.absorb sponge) chals ; let s1 = full_state sponge in - Vector.iter ~f:(S.absorb sponge) Dummy.(!Ipa.Wrap.challenges_computed) ; + Vector.iter ~f:(S.absorb sponge) chals ; let s2 = full_state sponge in [| s0; s1; s2 |] ) From c036defccc05d5b52aae22948f0516973ccc6a1b Mon Sep 17 00:00:00 2001 From: Gregor Date: Tue, 22 Aug 2023 20:55:55 +0200 Subject: [PATCH 07/25] address feedback - don't override ! operator in proof.ml --- src/app/heap_usage/values.ml | 4 ++-- src/app/replayer/replayer.ml | 2 +- src/app/test_executive/zkapps.ml | 3 ++- src/lib/ledger_proof/ledger_proof.ml | 2 +- src/lib/mina_base/proof.ml | 2 -- src/lib/mina_base/proof.mli | 2 -- src/lib/mina_block/mina_block.ml | 2 +- src/lib/mina_graphql/mina_graphql.ml | 2 +- src/lib/network_pool/batcher.ml | 2 +- src/lib/network_pool/snark_pool.ml | 2 +- src/lib/precomputed_values/gen_values/gen_values.ml | 2 +- src/lib/prover/prover.ml | 12 +++++++----- src/lib/snark_worker/debug.ml | 2 +- src/lib/snark_worker/prod.ml | 2 +- src/lib/staged_ledger/staged_ledger.ml | 2 +- src/lib/transaction/transaction_hash.ml | 4 ++-- src/lib/transaction_logic/mina_transaction_logic.ml | 2 +- .../test/multisig_account/multisig_account.ml | 3 ++- src/lib/transaction_snark/test/ring_sig.ml | 3 ++- src/lib/transaction_snark/transaction_snark.ml | 2 +- .../transition_frontier/frontier_base/breadcrumb.ml | 4 ++-- .../zkapp_command_builder/zkapp_command_builder.ml | 2 +- 22 files changed, 32 insertions(+), 31 deletions(-) diff --git a/src/app/heap_usage/values.ml b/src/app/heap_usage/values.ml index 3bd3d3156e3..04bf844668a 100644 --- a/src/app/heap_usage/values.ml +++ b/src/app/heap_usage/values.ml @@ -244,7 +244,7 @@ let scan_state_merge_node : let sok_msg : Mina_base.Sok_message.t = { fee = Currency.Fee.zero; prover = sample_pk_compressed } in - let proof = Mina_base.Proof.(!transaction_dummy) in + let proof = Lazy.force Mina_base.Proof.transaction_dummy in let statement = let without_sok = Quickcheck.random_value ~seed:(`Deterministic "no sok left") @@ -260,7 +260,7 @@ let scan_state_merge_node : { fee = Currency.Fee.zero; prover = sample_pk_compressed } in (* so the left, right proofs differ, don't want sharing *) - let proof = Mina_base.Proof.(!blockchain_dummy) in + let proof = Lazy.force Mina_base.Proof.blockchain_dummy in let statement = let without_sok = Quickcheck.random_value ~seed:(`Deterministic "no sok right") diff --git a/src/app/replayer/replayer.ml b/src/app/replayer/replayer.ml index 459f64b20a9..fce4c4f42e6 100644 --- a/src/app/replayer/replayer.ml +++ b/src/app/replayer/replayer.ml @@ -524,7 +524,7 @@ let zkapp_command_to_transaction ~logger ~pool (cmd : Sql.Zkapp_command.t) : let (authorization : Control.t) = match body.authorization_kind with | Proof _ -> - Proof Proof.(!transaction_dummy) + Proof (Lazy.force Proof.transaction_dummy) | Signature -> Signature Signature.dummy | None_given -> diff --git a/src/app/test_executive/zkapps.ml b/src/app/test_executive/zkapps.ml index 47f2f335756..5278b099cfd 100644 --- a/src/app/test_executive/zkapps.ml +++ b/src/app/test_executive/zkapps.ml @@ -362,7 +362,8 @@ module Make (Inputs : Intf.Test.Inputs_intf) = struct | Proof _ -> { other_p with authorization = - Control.Proof Mina_base.Proof.(!blockchain_dummy) + Control.Proof + (Lazy.force Mina_base.Proof.blockchain_dummy) } | _ -> other_p ) diff --git a/src/lib/ledger_proof/ledger_proof.ml b/src/lib/ledger_proof/ledger_proof.ml index 7409e9f7d60..cdc807ed22c 100644 --- a/src/lib/ledger_proof/ledger_proof.ml +++ b/src/lib/ledger_proof/ledger_proof.ml @@ -37,5 +37,5 @@ include Prod module For_tests = struct let mk_dummy_proof statement = create ~statement ~sok_digest:Sok_message.Digest.default - ~proof:Proof.(!transaction_dummy) + ~proof:(Lazy.force Proof.transaction_dummy) end diff --git a/src/lib/mina_base/proof.ml b/src/lib/mina_base/proof.ml index 0e789eeee8b..dbf7296c661 100644 --- a/src/lib/mina_base/proof.ml +++ b/src/lib/mina_base/proof.ml @@ -6,8 +6,6 @@ let blockchain_dummy = lazy (Dummy_values.blockchain_proof ()) let transaction_dummy = lazy (Dummy_values.transaction_proof ()) -let ( ! ) = Lazy.force - [%%versioned module Stable = struct module V2 = struct diff --git a/src/lib/mina_base/proof.mli b/src/lib/mina_base/proof.mli index 24d3b775b6c..813a2b1883f 100644 --- a/src/lib/mina_base/proof.mli +++ b/src/lib/mina_base/proof.mli @@ -6,8 +6,6 @@ val blockchain_dummy : t lazy_t val transaction_dummy : t lazy_t -val ( ! ) : 'a lazy_t -> 'a - [%%versioned: module Stable : sig [@@@no_toplevel_latest_type] diff --git a/src/lib/mina_block/mina_block.ml b/src/lib/mina_block/mina_block.ml index 42c8c9d7ffb..9a5bd100730 100644 --- a/src/lib/mina_block/mina_block.ml +++ b/src/lib/mina_block/mina_block.ml @@ -25,7 +25,7 @@ let genesis ~precomputed_values : Block.with_hash * Validation.fully_valid = let body = Staged_ledger_diff.Body.create Staged_ledger_diff.empty_diff in let header = Header.create ~protocol_state - ~protocol_state_proof:Proof.(!blockchain_dummy) + ~protocol_state_proof:(Lazy.force Proof.blockchain_dummy) ~delta_block_chain_proof: (Protocol_state.previous_state_hash protocol_state, []) () diff --git a/src/lib/mina_graphql/mina_graphql.ml b/src/lib/mina_graphql/mina_graphql.ml index cc5f1460f35..c5cc533c145 100644 --- a/src/lib/mina_graphql/mina_graphql.ml +++ b/src/lib/mina_graphql/mina_graphql.ml @@ -5629,7 +5629,7 @@ module Queries = struct expensive proof generation step if we don't have one available. *) - Proof.(!blockchain_dummy) ) + Lazy.force Proof.blockchain_dummy ) } ; hash } ) diff --git a/src/lib/network_pool/batcher.ml b/src/lib/network_pool/batcher.ml index d72dbf4281c..06af016fbf6 100644 --- a/src/lib/network_pool/batcher.ml +++ b/src/lib/network_pool/batcher.ml @@ -533,7 +533,7 @@ module Snark_pool = struct let message = Mina_base.Sok_message.create ~fee ~prover in ( One_or_two.map statements ~f:(fun statement -> Ledger_proof.create ~statement ~sok_digest - ~proof:Proof.(!transaction_dummy) ) + ~proof:(Lazy.force Proof.transaction_dummy) ) , message ) in Envelope.Incoming.gen data_gen diff --git a/src/lib/network_pool/snark_pool.ml b/src/lib/network_pool/snark_pool.ml index c097002bcbb..431b66bb46c 100644 --- a/src/lib/network_pool/snark_pool.ml +++ b/src/lib/network_pool/snark_pool.ml @@ -879,7 +879,7 @@ let%test_module "random set test" = , One_or_two.map work ~f:(fun statement -> Ledger_proof.create ~statement ~sok_digest:invalid_sok_digest - ~proof:Proof.(!transaction_dummy) ) + ~proof:(Lazy.force Proof.transaction_dummy) ) , fee , some_other_pk ) :: acc ) diff --git a/src/lib/precomputed_values/gen_values/gen_values.ml b/src/lib/precomputed_values/gen_values/gen_values.ml index 5658ec21616..0f75d0f78cb 100644 --- a/src/lib/precomputed_values/gen_values/gen_values.ml +++ b/src/lib/precomputed_values/gen_values/gen_values.ml @@ -84,7 +84,7 @@ module Dummy = struct let base_proof_expr = if generate_genesis_proof then - Some (Async.return [%expr Mina_base.Proof.(!blockchain_dummy)]) + Some (Async.return [%expr Lazy.force Mina_base.Proof.blockchain_dummy]) else None let compiled_values = diff --git a/src/lib/prover/prover.ml b/src/lib/prover/prover.ml index dc7e00d3fa0..fad083a17df 100644 --- a/src/lib/prover/prover.ml +++ b/src/lib/prover/prover.ml @@ -80,7 +80,7 @@ module Worker_state = struct with sok_digest = Sok_message.Digest.default } - , Proof.(!transaction_dummy) ) + , Lazy.force Proof.transaction_dummy ) let create { logger; proof_level; constraint_constants; _ } : t Deferred.t = Deferred.return @@ -175,9 +175,11 @@ module Worker_state = struct ~constraint_constants { transition = block ; prev_state = Blockchain_snark.Blockchain.state chain - ; prev_state_proof = Mina_base.Proof.(!blockchain_dummy) + ; prev_state_proof = + Lazy.force Mina_base.Proof.blockchain_dummy ; txn_snark = t - ; txn_snark_proof = Mina_base.Proof.(!transaction_dummy) + ; txn_snark_proof = + Lazy.force Mina_base.Proof.transaction_dummy } ~handler: (Consensus.Data.Prover_state.handler state_for_handler @@ -185,7 +187,7 @@ module Worker_state = struct next_state |> Or_error.map ~f:(fun () -> Blockchain_snark.Blockchain.create ~state:next_state - ~proof:Mina_base.Proof.(!blockchain_dummy) ) + ~proof:(Lazy.force Mina_base.Proof.blockchain_dummy) ) in Or_error.iter_error res ~f:(fun e -> [%log error] @@ -208,7 +210,7 @@ module Worker_state = struct Deferred.return @@ Ok (Blockchain_snark.Blockchain.create - ~proof:Mina_base.Proof.(!blockchain_dummy) + ~proof:(Lazy.force Mina_base.Proof.blockchain_dummy) ~state:next_state ) let verify _ _ = Deferred.return (Ok ()) diff --git a/src/lib/snark_worker/debug.ml b/src/lib/snark_worker/debug.ml index 25af61a8898..f1e329001bc 100644 --- a/src/lib/snark_worker/debug.ml +++ b/src/lib/snark_worker/debug.ml @@ -29,6 +29,6 @@ module Inputs = struct let sok_digest = Sok_message.digest message in Deferred.Or_error.return @@ ( Transaction_snark.create ~statement:{ stmt with sok_digest } - ~proof:Proof.(!transaction_dummy) + ~proof:(Lazy.force Proof.transaction_dummy) , Time.Span.zero ) end diff --git a/src/lib/snark_worker/prod.ml b/src/lib/snark_worker/prod.ml index f10b32980bc..e6866e0e7b3 100644 --- a/src/lib/snark_worker/prod.ml +++ b/src/lib/snark_worker/prod.ml @@ -284,6 +284,6 @@ module Inputs = struct in Deferred.Or_error.return @@ ( Transaction_snark.create ~statement:{ stmt with sok_digest } - ~proof:Proof.(!transaction_dummy) + ~proof:(Lazy.force Proof.transaction_dummy) , Time.Span.zero ) end diff --git a/src/lib/staged_ledger/staged_ledger.ml b/src/lib/staged_ledger/staged_ledger.ml index 8399d9e9832..77959a99ff0 100644 --- a/src/lib/staged_ledger/staged_ledger.ml +++ b/src/lib/staged_ledger/staged_ledger.ml @@ -2416,7 +2416,7 @@ let%test_module "staged ledger tests" = let sok_digest = Sok_message.Digest.default in One_or_two.map stmts ~f:(fun statement -> Ledger_proof.create ~statement ~sok_digest - ~proof:Proof.(!transaction_dummy) ) + ~proof:(Lazy.force Proof.transaction_dummy) ) let stmt_to_work_random_prover (stmts : Transaction_snark_work.Statement.t) : Transaction_snark_work.Checked.t option = diff --git a/src/lib/transaction/transaction_hash.ml b/src/lib/transaction/transaction_hash.ml index f2f34ee03d0..4a7c2498e53 100644 --- a/src/lib/transaction/transaction_hash.ml +++ b/src/lib/transaction/transaction_hash.ml @@ -69,7 +69,7 @@ let ( hash_signed_command_v1 let dummy_auth = match acct_update.authorization with | Control.Proof _ -> - Control.Proof Proof.(!transaction_dummy) + Control.Proof (Lazy.force Proof.transaction_dummy) | Control.Signature _ -> Control.Signature Signature.dummy | Control.None_given -> @@ -263,7 +263,7 @@ let%test_module "Transaction hashes" = * Run dune in this library's directory dune utop src/lib/transaction * Generate a zkapp transaction: - let txn = let txn = (Lazy.force Mina_base.Zkapp_command.dummy) in {txn with account_updates = Mina_base.Zkapp_command.Call_forest.map txn.account_updates ~f:(fun x -> {x with Mina_base.Account_update.authorization= Proof Mina_base.Proof.(!blockchain_dummy)})};; + let txn = let txn = (Lazy.force Mina_base.Zkapp_command.dummy) in {txn with account_updates = Mina_base.Zkapp_command.Call_forest.map txn.account_updates ~f:(fun x -> {x with Mina_base.Account_update.authorization= Proof (Lazy.force Mina_base.Proof.blockchain_dummy)})};; * Print the transaction: Core_kernel.Out_channel.with_file "txn_id" ~f:(fun file -> Out_channel.output_string file (Core_kernel.Binable.to_string (module Mina_base.User_command.Stable.V2) (Zkapp_command txn) |> Base64.encode |> (function Ok x -> x | Error _ -> "")));; * Get the hash: diff --git a/src/lib/transaction_logic/mina_transaction_logic.ml b/src/lib/transaction_logic/mina_transaction_logic.ml index c1ad19eb823..2df9780725a 100644 --- a/src/lib/transaction_logic/mina_transaction_logic.ml +++ b/src/lib/transaction_logic/mina_transaction_logic.ml @@ -2766,7 +2766,7 @@ module For_tests = struct } ; authorization = ( if use_full_commitment then Signature Signature.dummy - else Proof Mina_base.Proof.(!transaction_dummy) ) + else Proof (Lazy.force Mina_base.Proof.transaction_dummy) ) } ; { body = { public_key = receiver diff --git a/src/lib/transaction_snark/test/multisig_account/multisig_account.ml b/src/lib/transaction_snark/test/multisig_account/multisig_account.ml index 5d8142031f7..a338098d1b6 100644 --- a/src/lib/transaction_snark/test/multisig_account/multisig_account.ml +++ b/src/lib/transaction_snark/test/multisig_account/multisig_account.ml @@ -372,7 +372,8 @@ let%test_module "multisig_account" = ; may_use_token = No ; authorization_kind = Proof (With_hash.hash vk) } - ; authorization = Proof Mina_base.Proof.(!transaction_dummy) + ; authorization = + Proof (Lazy.force Mina_base.Proof.transaction_dummy) } in let memo = Signed_command_memo.empty in diff --git a/src/lib/transaction_snark/test/ring_sig.ml b/src/lib/transaction_snark/test/ring_sig.ml index 5531cdfb9fd..d9db8649554 100644 --- a/src/lib/transaction_snark/test/ring_sig.ml +++ b/src/lib/transaction_snark/test/ring_sig.ml @@ -233,7 +233,8 @@ let%test_unit "ring-signature zkapp tx with 3 zkapp_command" = ; use_full_commitment = false ; authorization_kind = Proof (With_hash.hash vk) } - ; authorization = Proof Mina_base.Proof.(!transaction_dummy) + ; authorization = + Proof (Lazy.force Mina_base.Proof.transaction_dummy) } in let protocol_state = Zkapp_precondition.Protocol_state.accept in diff --git a/src/lib/transaction_snark/transaction_snark.ml b/src/lib/transaction_snark/transaction_snark.ml index 7b2a8204f49..1460ee9a984 100644 --- a/src/lib/transaction_snark/transaction_snark.ml +++ b/src/lib/transaction_snark/transaction_snark.ml @@ -4924,7 +4924,7 @@ module Make_str (A : Wire_types.Concrete) = struct ; may_use_token = No ; authorization_kind = Proof (With_hash.hash vk) } - ; authorization = Proof Mina_base.Proof.(!transaction_dummy) + ; authorization = Proof (Lazy.force Mina_base.Proof.transaction_dummy) } in let memo = Signed_command_memo.empty in diff --git a/src/lib/transition_frontier/frontier_base/breadcrumb.ml b/src/lib/transition_frontier/frontier_base/breadcrumb.ml index 759e09634a9..c43b3b4c983 100644 --- a/src/lib/transition_frontier/frontier_base/breadcrumb.ml +++ b/src/lib/transition_frontier/frontier_base/breadcrumb.ml @@ -361,7 +361,7 @@ module For_tests = struct One_or_two.map stmts ~f:(fun statement -> Ledger_proof.create ~statement ~sok_digest:Sok_message.Digest.default - ~proof:Proof.(!transaction_dummy) ) + ~proof:(Lazy.force Proof.transaction_dummy) ) ; prover } in @@ -459,7 +459,7 @@ module For_tests = struct let next_block = let header = Mina_block.Header.create ~protocol_state - ~protocol_state_proof:Proof.(!blockchain_dummy) + ~protocol_state_proof:(Lazy.force Proof.blockchain_dummy) ~delta_block_chain_proof:(previous_state_hashes.state_hash, []) () in diff --git a/src/lib/zkapp_command_builder/zkapp_command_builder.ml b/src/lib/zkapp_command_builder/zkapp_command_builder.ml index 63f66fdd270..a6a0a178aee 100644 --- a/src/lib/zkapp_command_builder/zkapp_command_builder.ml +++ b/src/lib/zkapp_command_builder/zkapp_command_builder.ml @@ -70,7 +70,7 @@ let mk_zkapp_command ?memo ~fee ~fee_payer_pk ~fee_payer_nonce account_updates : | None_given -> Control.None_given | Proof _ -> - Control.Proof Mina_base.Proof.(!blockchain_dummy) + Control.Proof (Lazy.force Mina_base.Proof.blockchain_dummy) | Signature -> Control.Signature Signature.dummy in From a54b2790a6f4c04737a6da4553853fffb572078a Mon Sep 17 00:00:00 2001 From: Gregor Date: Wed, 23 Aug 2023 08:04:46 +0200 Subject: [PATCH 08/25] fix dune src/lib compilation --- src/lib/mina_base/test/zkapp_command_test.ml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lib/mina_base/test/zkapp_command_test.ml b/src/lib/mina_base/test/zkapp_command_test.ml index b21e243cac6..2deb78a2c70 100644 --- a/src/lib/mina_base/test/zkapp_command_test.ml +++ b/src/lib/mina_base/test/zkapp_command_test.ml @@ -119,9 +119,10 @@ end = struct let full = deriver @@ Fd.o () let json_roundtrip_dummy () = + let dummy = Lazy.force dummy in [%test_eq: t] dummy (dummy |> Fd.to_json full |> Fd.of_json full) let full_circuit () = Run_in_thread.block_on_async_exn - @@ fun () -> Fields_derivers_zkapps.Test.Loop.run full dummy + @@ fun () -> Fields_derivers_zkapps.Test.Loop.run full (Lazy.force dummy) end From 357f45d2535a00071c7e575709107f295de307b4 Mon Sep 17 00:00:00 2001 From: Gregor Date: Wed, 23 Aug 2023 08:32:43 +0200 Subject: [PATCH 09/25] fixup rebase --- src/lib/pickles/proof.ml | 43 ++++++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 22 deletions(-) diff --git a/src/lib/pickles/proof.ml b/src/lib/pickles/proof.ml index e3f4da96a1b..d7ec2f09cb8 100644 --- a/src/lib/pickles/proof.ml +++ b/src/lib/pickles/proof.ml @@ -179,28 +179,27 @@ let dummy (type w h r) (_w : w Nat.t) (h : h Nat.t) } } ; proof = - Wrap_wire_proof.of_kimchi_proof - { messages = - { w_comm = Vector.map lengths.w ~f:g - ; z_comm = g lengths.z - ; t_comm = g lengths.t - ; lookup = None - } - ; openings = - (let evals = Lazy.force Dummy.evals in - { proof = - { lr = - Array.init (Nat.to_int Tock.Rounds.n) ~f:(fun _ -> - (g0, g0) ) - ; z_1 = Ro.tock () - ; z_2 = Ro.tock () - ; delta = g0 - ; challenge_polynomial_commitment = g0 - } - ; evals = evals.evals.evals - ; ft_eval1 = evals.ft_eval1 - } ) - } + { messages = + { w_comm = Vector.map lengths.w ~f:g + ; z_comm = g lengths.z + ; t_comm = g lengths.t + ; lookup = None + } + ; openings = + (let evals = Lazy.force Dummy.evals in + { proof = + { lr = + Array.init (Nat.to_int Tock.Rounds.n) ~f:(fun _ -> + (g0, g0) ) + ; z_1 = Ro.tock () + ; z_2 = Ro.tock () + ; delta = g0 + ; challenge_polynomial_commitment = g0 + } + ; evals = evals.evals.evals + ; ft_eval1 = evals.ft_eval1 + } ) + } ; prev_evals = (let e = Plonk_types.Evals.map (Evaluation_lengths.create ~of_int:Fn.id) From e0a232de83f80cc830f709d2c53f93ae4e77173e Mon Sep 17 00:00:00 2001 From: Gregor Date: Wed, 23 Aug 2023 08:33:11 +0200 Subject: [PATCH 10/25] snarkyjs --- src/lib/snarkyjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/snarkyjs b/src/lib/snarkyjs index d3531e6de79..c4756510cbd 160000 --- a/src/lib/snarkyjs +++ b/src/lib/snarkyjs @@ -1 +1 @@ -Subproject commit d3531e6de7981f1d9d97bf9037f2ec92362417d5 +Subproject commit c4756510cbd3dacd66a3cbb8c45d106ff65bc406 From b45a0f32e1d63183d00538e526eb728e92105900 Mon Sep 17 00:00:00 2001 From: Gregor Date: Thu, 24 Aug 2023 14:01:22 +0200 Subject: [PATCH 11/25] submodules --- src/lib/snarky | 2 +- src/lib/snarkyjs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/snarky b/src/lib/snarky index 1671e9d8bbd..e72bb2246ba 160000 --- a/src/lib/snarky +++ b/src/lib/snarky @@ -1 +1 @@ -Subproject commit 1671e9d8bbdf2e0a31bd7c3c045fb73dd11dd742 +Subproject commit e72bb2246ba5ed2a15d4750ccf84dd977261c4d3 diff --git a/src/lib/snarkyjs b/src/lib/snarkyjs index c4756510cbd..db1f2cb6781 160000 --- a/src/lib/snarkyjs +++ b/src/lib/snarkyjs @@ -1 +1 @@ -Subproject commit c4756510cbd3dacd66a3cbb8c45d106ff65bc406 +Subproject commit db1f2cb6781501e94ea64d330625b2cfddc00d71 From 91c659b3ab91aac06e3c0d70792bdec69aa11f03 Mon Sep 17 00:00:00 2001 From: Gregor Date: Thu, 24 Aug 2023 17:08:44 +0200 Subject: [PATCH 12/25] remove unnecessary field parsing --- .../crypto/kimchi_backend/common/plonk_constraint_system.ml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/crypto/kimchi_backend/common/plonk_constraint_system.ml b/src/lib/crypto/kimchi_backend/common/plonk_constraint_system.ml index dbccf223ede..0e7e4b40276 100644 --- a/src/lib/crypto/kimchi_backend/common/plonk_constraint_system.ml +++ b/src/lib/crypto/kimchi_backend/common/plonk_constraint_system.ml @@ -1172,8 +1172,8 @@ end = struct let reduce_lincom sys (x : Fp.t Snarky_backendless.Cvar.t) = let constant, terms = Fp.( - Snarky_backendless.Cvar.to_constant_and_terms ~add ~mul ~zero:(of_int 0) - ~equal ~one:(of_int 1)) + Snarky_backendless.Cvar.to_constant_and_terms ~add ~mul ~zero ~equal + ~one) x in let terms = accumulate_terms terms in From b9c1eb82110e7b8bbbf4e5e222aa98f09edf8cc2 Mon Sep 17 00:00:00 2001 From: Gregor Date: Mon, 28 Aug 2023 16:13:45 +0200 Subject: [PATCH 13/25] submodules --- src/lib/snarky | 2 +- src/lib/snarkyjs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/snarky b/src/lib/snarky index e72bb2246ba..45060eeb5d4 160000 --- a/src/lib/snarky +++ b/src/lib/snarky @@ -1 +1 @@ -Subproject commit e72bb2246ba5ed2a15d4750ccf84dd977261c4d3 +Subproject commit 45060eeb5d4ed9d65ae4d0dd3be89ac5305e6f31 diff --git a/src/lib/snarkyjs b/src/lib/snarkyjs index db1f2cb6781..c50020bff3e 160000 --- a/src/lib/snarkyjs +++ b/src/lib/snarkyjs @@ -1 +1 @@ -Subproject commit db1f2cb6781501e94ea64d330625b2cfddc00d71 +Subproject commit c50020bff3e5943e2c38bb7ec63983f880adb367 From 9810247084ea51d76c366cf4cd874c9abbaba8f0 Mon Sep 17 00:00:00 2001 From: Gregor Date: Wed, 6 Sep 2023 15:37:10 +0200 Subject: [PATCH 14/25] snarkyjs --- src/lib/snarkyjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/snarkyjs b/src/lib/snarkyjs index c50020bff3e..94d71b0f737 160000 --- a/src/lib/snarkyjs +++ b/src/lib/snarkyjs @@ -1 +1 @@ -Subproject commit c50020bff3e5943e2c38bb7ec63983f880adb367 +Subproject commit 94d71b0f737aa7de0f43d9c39fe99f9bad3cb76b From 264bcacb7bb2f8a355df39ea1e057ce5cbbf989d Mon Sep 17 00:00:00 2001 From: Steven Platt <31355889+stevenplatt@users.noreply.github.com> Date: Wed, 6 Sep 2023 15:26:05 -0400 Subject: [PATCH 15/25] berkeley testnet ledger timestamp bump --- genesis_ledgers/berkeley.json | 802 +++++++++++++++++----------------- 1 file changed, 401 insertions(+), 401 deletions(-) diff --git a/genesis_ledgers/berkeley.json b/genesis_ledgers/berkeley.json index 7e5a8f1e025..8930cae2a08 100644 --- a/genesis_ledgers/berkeley.json +++ b/genesis_ledgers/berkeley.json @@ -1,6 +1,6 @@ { "genesis": { - "genesis_state_timestamp": "2023-07-05T19:01:01Z" + "genesis_state_timestamp": "2023-09-05T19:01:01Z" }, "ledger": { "name": "berkeley", @@ -18,9 +18,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -31,9 +31,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -44,9 +44,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -57,9 +57,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -70,9 +70,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -83,9 +83,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -96,9 +96,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -109,9 +109,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -122,9 +122,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -135,9 +135,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -148,9 +148,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -161,9 +161,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -174,9 +174,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -187,9 +187,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -200,9 +200,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -213,9 +213,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -226,9 +226,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -239,9 +239,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -252,9 +252,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -265,9 +265,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -278,9 +278,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -291,9 +291,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -304,9 +304,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -317,9 +317,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -330,9 +330,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -343,9 +343,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -356,9 +356,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -369,9 +369,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -382,9 +382,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -395,9 +395,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -408,9 +408,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -421,9 +421,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -434,9 +434,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -447,9 +447,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -460,9 +460,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -473,9 +473,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -486,9 +486,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -499,9 +499,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -512,9 +512,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -525,9 +525,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -538,9 +538,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -551,9 +551,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -564,9 +564,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -577,9 +577,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -590,9 +590,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -603,9 +603,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -616,9 +616,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -629,9 +629,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -642,9 +642,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -655,9 +655,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -668,9 +668,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -681,9 +681,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -694,9 +694,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -707,9 +707,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -720,9 +720,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -733,9 +733,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -746,9 +746,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -759,9 +759,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -772,9 +772,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -785,9 +785,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -798,9 +798,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -811,9 +811,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -824,9 +824,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -837,9 +837,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -850,9 +850,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -863,9 +863,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -876,9 +876,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -889,9 +889,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -902,9 +902,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -915,9 +915,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -928,9 +928,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -941,9 +941,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -954,9 +954,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -967,9 +967,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -980,9 +980,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -993,9 +993,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1006,9 +1006,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1019,9 +1019,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1032,9 +1032,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1045,9 +1045,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1058,9 +1058,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1071,9 +1071,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1084,9 +1084,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1097,9 +1097,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1110,9 +1110,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1123,9 +1123,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1136,9 +1136,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1149,9 +1149,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1162,9 +1162,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1175,9 +1175,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1188,9 +1188,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1201,9 +1201,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1214,9 +1214,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1227,9 +1227,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1240,9 +1240,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1253,9 +1253,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1266,9 +1266,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1279,9 +1279,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1292,9 +1292,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1305,9 +1305,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1318,9 +1318,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1331,9 +1331,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1344,9 +1344,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1357,9 +1357,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1370,9 +1370,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1383,9 +1383,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1396,9 +1396,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1409,9 +1409,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1422,9 +1422,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1435,9 +1435,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1448,9 +1448,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1461,9 +1461,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1474,9 +1474,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1487,9 +1487,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1500,9 +1500,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1513,9 +1513,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1526,9 +1526,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1539,9 +1539,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1552,9 +1552,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1565,9 +1565,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1578,9 +1578,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1591,9 +1591,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1604,9 +1604,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1617,9 +1617,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1630,9 +1630,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1643,9 +1643,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1656,9 +1656,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1669,9 +1669,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1682,9 +1682,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1695,9 +1695,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1708,9 +1708,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1721,9 +1721,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1734,9 +1734,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1747,9 +1747,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1760,9 +1760,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1773,9 +1773,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1786,9 +1786,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1799,9 +1799,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1812,9 +1812,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1825,9 +1825,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1838,9 +1838,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1851,9 +1851,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1864,9 +1864,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1877,9 +1877,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1890,9 +1890,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1903,9 +1903,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1916,9 +1916,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1929,9 +1929,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1942,9 +1942,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1955,9 +1955,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1968,9 +1968,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1981,9 +1981,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -1994,9 +1994,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -2007,9 +2007,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -2020,9 +2020,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -2033,9 +2033,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -2046,9 +2046,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -2059,9 +2059,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -2072,9 +2072,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -2085,9 +2085,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -2098,9 +2098,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -2111,9 +2111,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -2124,9 +2124,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -2137,9 +2137,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -2150,9 +2150,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -2163,9 +2163,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -2176,9 +2176,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -2189,9 +2189,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -2202,9 +2202,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -2215,9 +2215,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -2228,9 +2228,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -2241,9 +2241,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -2254,9 +2254,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -2267,9 +2267,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -2280,9 +2280,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -2293,9 +2293,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -2306,9 +2306,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -2319,9 +2319,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -2332,9 +2332,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -2345,9 +2345,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -2358,9 +2358,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -2371,9 +2371,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -2384,9 +2384,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -2397,9 +2397,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -2410,9 +2410,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -2423,9 +2423,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -2436,9 +2436,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -2449,9 +2449,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -2462,9 +2462,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -2475,9 +2475,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -2488,9 +2488,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -2501,9 +2501,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -2514,9 +2514,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -2527,9 +2527,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -2540,9 +2540,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -2553,9 +2553,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -2566,9 +2566,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -2579,9 +2579,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -2592,9 +2592,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, @@ -2605,9 +2605,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis","12000"], + "cliff_time": ["Since_genesis", "12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span","6"], + "vesting_period": ["Global_slot_span", "6"], "vesting_increment": "150" } }, From 0155bb8bbc43a333de7a6a3e80945fb1689c5a50 Mon Sep 17 00:00:00 2001 From: Steven Platt <31355889+stevenplatt@users.noreply.github.com> Date: Wed, 13 Sep 2023 15:19:39 -0400 Subject: [PATCH 16/25] berkeley ledger timestamp bump --- genesis_ledgers/berkeley.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/genesis_ledgers/berkeley.json b/genesis_ledgers/berkeley.json index 8930cae2a08..2aee5eb3f0a 100644 --- a/genesis_ledgers/berkeley.json +++ b/genesis_ledgers/berkeley.json @@ -1,6 +1,6 @@ { "genesis": { - "genesis_state_timestamp": "2023-09-05T19:01:01Z" + "genesis_state_timestamp": "2023-09-13T13:01:01Z" }, "ledger": { "name": "berkeley", From 14047c55517cf3587fc9a6ac55c8f7e80a419571 Mon Sep 17 00:00:00 2001 From: dkijania Date: Wed, 13 Sep 2023 22:17:57 +0200 Subject: [PATCH 17/25] Empty commit to sign Berkeley 2.0.0rampup4 From 56d2db53b3977890b2a9c0990a77ce2f946d6f22 Mon Sep 17 00:00:00 2001 From: Florian Date: Thu, 14 Sep 2023 13:45:20 +0200 Subject: [PATCH 18/25] Revert "Merge branch 'rampup' into snarkyjs-main" This reverts commit 366a3606d8c99a807b9f398d13e9571ed5b26cb1, reversing changes made to 861e367fc3cee48d338138a75a23910bc4497710. --- CODEOWNERS | 2 +- Makefile | 15 +- .../k8s/nonpreempting-priority-class.yml | 8 - automation/services/watchdog/Dockerfile | 16 +- .../watchdog/check_libp2p/check_libp2p.go | 2 +- automation/services/watchdog/make_report.py | 4 +- .../services/watchdog/node_status_metrics.py | 4 +- .../watchdog/scripts/random_restart.py | 42 - automation/services/watchdog/version.txt | 2 +- .../modules/kubernetes/testnet/locals.tf | 17 +- .../modules/kubernetes/testnet/variables.tf | 18 +- .../modules/o1-integration/inputs.tf | 9 - .../modules/o1-integration/locals.tf | 17 +- .../modules/o1-integration/priority_class.tf | 9 - .../modules/o1-integration/testnet.tf | 23 +- .../modules/testnet-alerts/alerts.tf | 2 - .../modules/testnet-alerts/inputs.tf | 12 - .../templates/testnet-alert-rules.yml.tpl | 386 +- .../terraform/monitoring/o1-testnet-alerts.tf | 4 +- .../terraform/testnets/berkeley/main.tf | 2 +- .../connect-to-mainnet-on-compatible.sh | 13 +- .../scripts/finish-coverage-data-upload.sh | 3 - buildkite/scripts/fuzzy-zkapp-test.sh | 25 +- .../scripts/run-snark-transaction-profiler.sh | 33 - .../scripts/test-snarkyjs-bindings-minimal.sh | 16 - .../scripts/upload-partial-coverage-data.sh | 36 - .../scripts/zkapps-examples-unit-tests.sh | 21 - buildkite/src/Command/TestExecutive.dhall | 2 +- buildkite/src/Constants/ContainerImages.dhall | 2 +- buildkite/src/Jobs/Lint/Fast.dhall | 8 +- buildkite/src/Jobs/Lint/Merge.dhall | 54 - .../Jobs/Release/MinaToolchainArtifact.dhall | 3 +- .../src/Jobs/Test/ArchiveNodeUnitTest.dhall | 7 +- buildkite/src/Jobs/Test/DaemonUnitTest.dhall | 6 +- .../Jobs/Test/DelegationBackendUnitTest.dhall | 2 +- buildkite/src/Jobs/Test/FuzzyZkappTest.dhall | 15 +- buildkite/src/Jobs/Test/RosettaUnitTest.dhall | 5 +- .../src/Jobs/Test/RunSnarkProfiler.dhall | 62 - buildkite/src/Jobs/Test/SingleNodeTest.dhall | 5 +- buildkite/src/Jobs/Test/SnarkyJSTest.dhall | 15 +- .../Test/TestnetIntegrationTestsLong.dhall | 32 - .../src/Jobs/Test/ZkappTestToolUnitTest.dhall | 5 +- .../src/Jobs/Test/ZkappsExamplesTest.dhall | 51 - buildkite/src/Monorepo.dhall | 2 +- buildkite/src/Pipeline/JobSpec.dhall | 6 +- buildkite/src/Pipeline/Mode.dhall | 21 +- dockerfiles/Dockerfile-delegation-backend | 4 +- .../Dockerfile-delegation-backend-toolchain | 2 +- .../mina_daemon_puppeteer.py | 3 +- docs/README.md | 6 +- frontend/ci-build-me/src/index.js | 5 +- .../helm/templates/leaderboard-cron-job.yaml | 4 +- genesis_ledgers/berkeley.json | 802 +- graphql_schema.json | 33 - helm/archive-node/templates/archive.yaml | 41 +- .../templates/dump-archive-cronjob.yaml | 2 +- helm/archive-node/values.yaml | 5 - .../templates/block-producer.yaml | 32 +- helm/block-producer/values.yaml | 5 - .../berkeley-dump-archive-cronjob.yml | 7 +- helm/cron_jobs/berkeley-replayer-cronjob.yaml | 109 - .../devnet-dump-archive-cronjob.yaml | 2 +- helm/cron_jobs/devnet-replayer-cronjob.yaml | 105 - helm/cron_jobs/devnet-txn-burst-cronjob.yaml | 2 +- .../devnet2-dump-archive-cronjob.yaml | 2 +- .../mainnet-dump-staking-ledger-cronjob.yaml | 2 +- helm/cron_jobs/mainnet-replayer-cronjob.yaml | 105 - helm/leaderboard/templates/email-cron.yaml | 2 +- .../templates/leaderboard-cron.yaml | 2 +- helm/plain-node/templates/plain-node.yaml | 34 +- helm/plain-node/values.yaml | 5 - helm/seed-node/templates/seed-node.yaml | 32 +- helm/seed-node/values.yaml | 5 - .../templates/snark-coordinator.yaml | 32 +- helm/snark-worker/templates/snark-worker.yaml | 31 - helm/snark-worker/values.yaml | 5 - helm/watchdog/templates/watchdog.yaml | 2 +- helm/watchdog/values.yaml | 2 +- scripts/merged-to-proof-systems.sh | 37 - .../mina-local-network/mina-local-network.sh | 12 +- scripts/snark_transaction_profiler.py | 75 - src/app/batch_txn_tool/batch_txn_tool.ml | 159 +- src/app/batch_txn_tool/dune | 5 +- src/app/batch_txn_tool/txn_tool_graphql.ml | 144 + .../src/cli_entrypoint/mina_cli_entrypoint.ml | 27 +- src/app/cli/src/init/itn.ml | 42 +- src/app/cli/src/init/mina_run.ml | 8 - src/app/delegation_backend/scripts/build.sh | 4 +- src/app/delegation_backend/shell.nix | 2 +- .../src/{delegation_backend => }/constants.go | 36 +- .../src/{delegation_backend => }/data.go | 80 +- .../src/{delegation_backend => }/data_test.go | 0 .../src/delegation_backend/app_config.go | 94 - .../main.go} | 29 +- .../src/delegation_backend/unmarshal_test.go | 25 - .../src/delegation_backend_migrate/main.go | 161 + .../delegation_backend_migrate/main_test.go | 14 + src/app/delegation_backend/src/go.mod | 54 +- src/app/delegation_backend/src/go.sum | 530 +- .../src/{delegation_backend => }/sheets.go | 4 +- .../{delegation_backend => }/sheets_test.go | 0 .../src/{delegation_backend => }/signer.go | 4 +- .../{delegation_backend => }/signer_test.go | 21 +- .../src/{delegation_backend => }/submit.go | 95 +- .../{delegation_backend => }/submit_test.go | 19 +- .../src/{delegation_backend => }/time_heap.go | 0 .../time_heap_test.go | 0 .../src/{delegation_backend => }/whitelist.go | 0 .../test/data/req-v1-with-snark.json | 1 - src/app/extract_blocks/extract_blocks.ml | 1 - src/app/heap_usage/values.ml | 18 +- src/app/itn_orchestrator/Makefile | 5 +- src/app/itn_orchestrator/genqlient.graphql | 4 - src/app/itn_orchestrator/schema.graphql | 124 +- src/app/itn_orchestrator/src/data.go | 35 +- src/app/itn_orchestrator/src/discovery.go | 25 +- src/app/itn_orchestrator/src/fund.go | 161 +- src/app/itn_orchestrator/src/gating.go | 62 +- .../itn_orchestrator/src/generator/main.go | 406 - src/app/itn_orchestrator/src/go.mod | 4 - src/app/itn_orchestrator/src/go.sum | 3 - src/app/itn_orchestrator/src/graphql.go | 156 +- .../src/itn_orchestrator/main.go | 147 +- src/app/itn_orchestrator/src/keyloader.go | 7 +- src/app/itn_orchestrator/src/misc.go | 134 +- src/app/itn_orchestrator/src/params.go | 16 +- src/app/itn_orchestrator/src/payments.go | 109 +- src/app/itn_orchestrator/src/restart.go | 46 - .../itn_orchestrator/src/slots_allocation.go | 10 +- src/app/itn_orchestrator/src/slots_won.go | 17 +- src/app/itn_orchestrator/src/stop.go | 55 +- src/app/itn_orchestrator/src/zkapp.go | 155 +- src/app/replayer/dune | 4 +- src/app/replayer/replayer.ml | 713 +- src/app/replayer/sql.ml | 87 +- src/app/replayer/test/input.json | 2 +- src/app/test_executive/README.md | 3 +- .../block_production_priority.ml | 14 +- src/app/test_executive/block_reward_test.ml | 3 +- .../test_executive/chain_reliability_test.ml | 5 +- src/app/test_executive/delegation_test.ml | 3 +- src/app/test_executive/dune | 2 - src/app/test_executive/hard_fork.ml | 297 - src/app/test_executive/medium_bootstrap.ml | 44 +- src/app/test_executive/payments_test.ml | 301 +- .../test_executive/peers_reliability_test.ml | 15 +- src/app/test_executive/snarkyjs.ml | 2 +- src/app/test_executive/test_common.ml | 43 +- src/app/test_executive/test_executive.ml | 1 - .../test_executive/verification_key_update.ml | 17 +- src/app/test_executive/zkapps.ml | 126 +- src/app/test_executive/zkapps_nonce_test.ml | 18 +- src/app/test_executive/zkapps_timing.ml | 55 +- src/app/zkapp_test_transaction/dune | 1 - .../zkapp_test_transaction/lib/commands.ml | 6 +- .../zkapp_test_transaction.ml | 78 +- src/dune-project | 1 + src/lib/block_producer/block_producer.ml | 444 +- src/lib/block_producer/dune | 1 - .../blockchain_snark_state.ml | 1 - src/lib/child_processes/child_processes.ml | 2 +- src/lib/cli_lib/commands.ml | 4 +- src/lib/consensus/intf.ml | 2 - src/lib/consensus/proof_of_stake.ml | 22 +- src/lib/consensus/proof_of_stake_fuzzer.ml | 2 +- .../common/plonk_constraint_system.ml | 384 +- .../kimchi_backend/common/plonk_dlog_proof.ml | 99 +- .../crypto/kimchi_bindings/stubs/Cargo.lock | 218 +- .../kimchi_bindings/stubs/kimchi_types.ml | 34 +- .../crypto/kimchi_bindings/stubs/src/lib.rs | 2 +- .../stubs/src/linearization.rs | 37 +- .../crypto/kimchi_bindings/stubs/src/main.rs | 2 + .../stubs/src/pasta_fp_plonk_proof.rs | 177 +- .../stubs/src/pasta_fq_plonk_proof.rs | 21 +- .../stubs/src/plonk_verifier_index.rs | 25 +- src/lib/crypto/proof-systems | 2 +- .../crypto/snarky_tests/examples/field.json | 2 +- .../crypto/snarky_tests/examples/output.json | 2 +- .../snarky_tests/examples/range_gt.json | 2 +- .../snarky_tests/examples/range_gte.json | 2 +- .../snarky_tests/examples/range_lt.json | 2 +- .../snarky_tests/examples/range_lte.json | 2 +- .../crypto/snarky_tests/examples/simple.json | 2 +- .../crypto/snarky_tests/examples/ternary.json | 2 +- src/lib/crypto/snarky_tests/snarky_tests.ml | 10 +- src/lib/distributed_dsl/distributed_dsl.ml | 601 + src/lib/distributed_dsl/distributed_dsl.mli | 115 + src/lib/distributed_dsl/dune | 25 + src/lib/distributed_dsl/node.ml | 405 + src/lib/distributed_dsl/node.mli | 151 + src/lib/distributed_dsl/test.ml | 24 + src/lib/file_system/file_system.ml | 2 +- .../genesis_constants/genesis_constants.ml | 5 +- src/lib/genesis_ledger/genesis_ledger.ml | 13 +- .../genesis_ledger_helper.ml | 31 +- src/lib/gossip_net/any.ml | 9 +- src/lib/gossip_net/dune | 2 - src/lib/gossip_net/fake.ml | 6 +- src/lib/gossip_net/intf.ml | 7 +- src/lib/gossip_net/libp2p.ml | 16 +- src/lib/gossip_net/message.ml | 14 +- .../hash_prefix_states/hash_prefix_states.ml | 4 +- .../hash_prefix_states/hash_prefix_states.mli | 4 +- src/lib/hash_prefixes/dune | 1 - src/lib/hash_prefixes/hash_prefixes.ml | 24 +- .../cli_inputs.ml | 42 +- src/lib/integration_test_cloud_engine/dune | 2 - .../graphql_polling_log_engine.ml | 8 +- .../kubernetes_network.ml | 1029 +- .../mina_automation.ml | 358 +- src/lib/integration_test_lib/dsl.ml | 2 +- src/lib/integration_test_lib/dune | 14 +- src/lib/integration_test_lib/event_type.ml | 111 +- src/lib/integration_test_lib/event_type.mli | 29 - .../integration_test_lib/graphql_requests.ml | 1082 -- src/lib/integration_test_lib/intf.ml | 193 +- src/lib/integration_test_lib/network_state.ml | 80 - src/lib/integration_test_lib/test_config.ml | 15 +- .../integration_test_lib/wait_condition.ml | 68 +- .../integration_test_lib/wait_condition.mli | 1 - src/lib/merkle_ledger_tests/test_stubs.ml | 6 +- src/lib/merkle_mask/masking_merkle_tree.ml | 4 + src/lib/mina_base/account_update.ml | 17 +- src/lib/mina_base/token_id.ml | 8 +- src/lib/mina_base/zkapp_command.ml | 18 +- .../mina_block/sample_precomputed_block.ml | 130 +- .../zkapp_command_generators.ml | 88 +- .../zkapp_command_generators.mli | 5 +- src/lib/mina_graphql/dune | 3 - src/lib/mina_graphql/mina_graphql.ml | 813 +- src/lib/mina_ledger/sparse_ledger.ml | 3 +- src/lib/mina_lib/config.ml | 1 - src/lib/mina_lib/mina_lib.ml | 88 +- src/lib/mina_lib/mina_lib.mli | 2 - src/lib/mina_lib/tests/dune | 1 - src/lib/mina_lib/tests/tests.ml | 14 +- src/lib/mina_net2/mina_net2.ml | 15 +- src/lib/mina_networking/mina_networking.ml | 16 +- src/lib/mina_networking/mina_networking.mli | 4 +- .../mina_numbers/global_slot_since_genesis.ml | 28 +- .../global_slot_since_hard_fork.ml | 28 +- src/lib/mina_numbers/global_slot_span.ml | 28 +- src/lib/mina_state/snarked_ledger_state.ml | 8 +- src/lib/mina_wire_types/pickles/pickles.ml | 64 +- src/lib/mina_wire_types/pickles/pickles.mli | 58 +- .../pickles/pickles_composition_types.ml | 65 +- .../pickles/pickles_composition_types.mli | 67 +- src/lib/monad_lib/monad_lib.ml | 12 - src/lib/monad_lib/monad_lib.mli | 4 - src/lib/monad_lib/state.ml | 39 - src/lib/monad_lib/state.mli | 20 - src/lib/network_pool/command_error.ml | 32 - src/lib/network_pool/dune | 1 - src/lib/network_pool/indexed_pool.ml | 973 +- src/lib/network_pool/indexed_pool.mli | 44 +- src/lib/network_pool/intf.ml | 13 +- src/lib/network_pool/mocks.ml | 29 +- src/lib/network_pool/network_pool_base.ml | 57 +- src/lib/network_pool/pool_sink.ml | 16 +- src/lib/network_pool/priced_proof.ml | 4 +- src/lib/network_pool/snark_pool.ml | 490 +- src/lib/network_pool/snark_pool.mli | 19 +- src/lib/network_pool/snark_pool_diff.ml | 12 +- src/lib/network_pool/test.ml | 9 +- src/lib/network_pool/test/dune | 50 - .../network_pool/test/indexed_pool_tests.ml | 943 -- src/lib/network_pool/test/main.ml | 45 - src/lib/network_pool/test/transaction_gen.ml | 140 - src/lib/network_pool/transaction_pool.ml | 106 +- src/lib/network_pool/with_nonce.ml | 13 - src/lib/node_error_service/dune | 1 - .../node_error_service/node_error_service.ml | 2 +- src/lib/node_status_service/dune | 2 - .../node_status_service.ml | 11 +- src/lib/o1trace/o1trace.ml | 25 +- src/lib/o1trace/o1trace.mli | 2 - src/lib/pickles/common.ml | 14 +- src/lib/pickles/common.mli | 12 +- src/lib/pickles/compile.ml | 13 - .../composition_types/composition_types.ml | 811 +- .../composition_types/composition_types.mli | 502 +- src/lib/pickles/evaluation_lengths.ml | 21 +- src/lib/pickles/impls.ml | 41 +- src/lib/pickles/impls.mli | 20 + src/lib/pickles/pickles.ml | 51 +- .../plonk_checks/gen_scalars/gen_scalars.ml | 76 +- src/lib/pickles/plonk_checks/plonk_checks.ml | 157 +- src/lib/pickles/plonk_checks/plonk_checks.mli | 2 + src/lib/pickles/plonk_checks/scalars.ml | 10579 ++++++++++------ src/lib/pickles/proof.ml | 51 +- src/lib/pickles/proof.mli | 4 +- src/lib/pickles/requests.ml | 9 + src/lib/pickles/requests.mli | 6 + src/lib/pickles/step.ml | 107 +- src/lib/pickles/step_main.ml | 5 +- src/lib/pickles/step_verifier.ml | 62 +- src/lib/pickles/step_verifier.mli | 6 +- src/lib/pickles/unfinalized.ml | 42 +- src/lib/pickles/unfinalized.mli | 17 +- src/lib/pickles/verification_key.ml | 6 +- src/lib/pickles/verify.ml | 280 +- src/lib/pickles/wrap.ml | 48 +- src/lib/pickles/wrap.mli | 7 + src/lib/pickles/wrap_deferred_values.ml | 210 - src/lib/pickles/wrap_main.ml | 38 +- src/lib/pickles/wrap_verifier.ml | 63 +- src/lib/pickles/wrap_verifier.mli | 7 + src/lib/pickles/wrap_wire_proof.ml | 208 - src/lib/pickles/wrap_wire_proof.mli | 103 - src/lib/pickles_types/plonk_types.ml | 713 +- src/lib/pickles_types/plonk_types.mli | 96 +- src/lib/pickles_types/vector.ml | 10 - src/lib/pickles_types/vector.mli | 2 - src/lib/runtime_config/dune | 12 +- src/lib/runtime_config/runtime_config.ml | 116 - .../snark_profiler_lib/snark_profiler_lib.ml | 5 +- src/lib/snark_worker/prod.ml | 4 +- src/lib/sparse_ledger_lib/sparse_ledger.ml | 4 +- src/lib/staged_ledger/dune | 1 - src/lib/staged_ledger/staged_ledger.ml | 152 +- src/lib/string_sign/dune | 4 +- src/lib/string_sign/string_sign.ml | 21 - src/lib/transaction/transaction_hash.ml | 6 +- .../transaction_consistency_tests.ml | 4 +- .../transaction_inclusion_status.ml | 2 +- .../mina_transaction_logic.ml | 29 +- .../transaction_logic/zkapp_command_logic.ml | 1 + src/lib/transaction_snark/dune | 3 - .../account_update_network_id.ml | 61 - .../test/account_update_network_id/dune | 43 - src/lib/transaction_snark/test/dune | 1 - .../test/multisig_account/dune | 1 - .../test/multisig_account/multisig_account.ml | 1 - src/lib/transaction_snark/test/ring_sig.ml | 1 - src/lib/transaction_snark/test/util.ml | 6 +- .../test/zkapps_examples}/actions/actions.ml | 0 .../test/zkapps_examples}/actions/dune | 1 - .../zkapps_examples}/add_events/add_events.ml | 0 .../test/zkapps_examples}/add_events/dune | 0 .../big_circuit/big_circuit.ml | 0 .../test/zkapps_examples}/big_circuit/dune | 1 - .../test/zkapps_examples}/calls/calls.ml | 0 .../test/zkapps_examples}/calls/dune | 0 .../test/zkapps_examples}/empty_update/dune | 1 - .../empty_update/empty_update.ml | 0 .../zkapps_examples}/initialize_state/dune | 0 .../initialize_state/initialize_state.ml | 0 .../test/zkapps_examples}/tokens/dune | 0 .../test/zkapps_examples}/tokens/tokens.ml | 0 .../transaction_snark/transaction_snark.ml | 131 - .../transaction_snark_intf.ml | 30 - .../transaction_snark_work.ml | 2 - .../transaction_snark_work.mli | 4 - .../extensions/snark_pool_refcount.ml | 142 +- .../extensions/snark_pool_refcount.mli | 17 +- .../transition_frontier/frontier_base/diff.ml | 18 +- .../frontier_base/diff.mli | 5 - .../full_frontier/full_frontier.ml | 2 - .../transition_frontier.ml | 26 +- .../transition_frontier.mli | 11 - src/lib/transition_handler/dune | 1 - src/lib/transition_handler/processor.ml | 11 +- src/lib/transition_handler/validator.ml | 39 +- src/lib/uptime_service/dune | 1 - src/lib/uptime_service/payload.ml | 48 - src/lib/uptime_service/payload.mli | 13 - src/lib/uptime_service/uptime_service.ml | 64 +- src/lib/verifier/dummy.ml | 191 +- src/lib/verifier/prod.ml | 2 +- src/lib/work_selector/dune | 3 +- src/lib/work_selector/work_lib.ml | 55 +- src/{app => lib}/zkapps_examples/actions/dune | 0 .../zkapps_examples/actions/zkapps_actions.ml | 0 .../zkapps_examples/add_events/dune | 0 .../add_events/zkapps_add_events.ml | 0 .../zkapps_examples/big_circuit/dune | 0 .../big_circuit/zkapps_big_circuit.ml | 0 src/{app => lib}/zkapps_examples/calls/dune | 0 .../zkapps_examples/calls/zkapps_calls.ml | 0 src/{app => lib}/zkapps_examples/dune | 0 .../zkapps_examples/empty_update/dune | 0 .../empty_update/zkapps_empty_update.ml | 0 .../zkapps_examples/initialize_state/dune | 0 .../zkapps_initialize_state.ml | 0 src/{app => lib}/zkapps_examples/tokens/dune | 0 .../zkapps_examples/tokens/zkapps_tokens.ml | 2 - .../zkapps_examples/tokens/zkapps_tokens.mli | 0 .../zkapps_examples/zkapps_examples.ml | 19 +- 388 files changed, 16657 insertions(+), 17451 deletions(-) delete mode 100644 automation/k8s/nonpreempting-priority-class.yml delete mode 100644 automation/services/watchdog/scripts/random_restart.py delete mode 100644 automation/terraform/modules/o1-integration/priority_class.tf delete mode 100755 buildkite/scripts/finish-coverage-data-upload.sh delete mode 100755 buildkite/scripts/run-snark-transaction-profiler.sh delete mode 100755 buildkite/scripts/test-snarkyjs-bindings-minimal.sh delete mode 100755 buildkite/scripts/upload-partial-coverage-data.sh delete mode 100755 buildkite/scripts/zkapps-examples-unit-tests.sh delete mode 100644 buildkite/src/Jobs/Test/RunSnarkProfiler.dhall delete mode 100644 buildkite/src/Jobs/Test/TestnetIntegrationTestsLong.dhall delete mode 100644 buildkite/src/Jobs/Test/ZkappsExamplesTest.dhall delete mode 100644 helm/cron_jobs/berkeley-replayer-cronjob.yaml delete mode 100644 helm/cron_jobs/devnet-replayer-cronjob.yaml delete mode 100644 helm/cron_jobs/mainnet-replayer-cronjob.yaml delete mode 100755 scripts/merged-to-proof-systems.sh delete mode 100755 scripts/snark_transaction_profiler.py create mode 100644 src/app/batch_txn_tool/txn_tool_graphql.ml rename src/app/delegation_backend/src/{delegation_backend => }/constants.go (51%) rename src/app/delegation_backend/src/{delegation_backend => }/data.go (61%) rename src/app/delegation_backend/src/{delegation_backend => }/data_test.go (100%) delete mode 100644 src/app/delegation_backend/src/delegation_backend/app_config.go rename src/app/delegation_backend/src/{cmd/delegation_backend/main_bpu.go => delegation_backend/main.go} (66%) delete mode 100644 src/app/delegation_backend/src/delegation_backend/unmarshal_test.go create mode 100644 src/app/delegation_backend/src/delegation_backend_migrate/main.go create mode 100644 src/app/delegation_backend/src/delegation_backend_migrate/main_test.go rename src/app/delegation_backend/src/{delegation_backend => }/sheets.go (93%) rename src/app/delegation_backend/src/{delegation_backend => }/sheets_test.go (100%) rename src/app/delegation_backend/src/{delegation_backend => }/signer.go (87%) rename src/app/delegation_backend/src/{delegation_backend => }/signer_test.go (83%) rename src/app/delegation_backend/src/{delegation_backend => }/submit.go (62%) rename src/app/delegation_backend/src/{delegation_backend => }/submit_test.go (92%) rename src/app/delegation_backend/src/{delegation_backend => }/time_heap.go (100%) rename src/app/delegation_backend/src/{delegation_backend => }/time_heap_test.go (100%) rename src/app/delegation_backend/src/{delegation_backend => }/whitelist.go (100%) delete mode 100644 src/app/delegation_backend/test/data/req-v1-with-snark.json delete mode 100644 src/app/itn_orchestrator/src/generator/main.go delete mode 100644 src/app/itn_orchestrator/src/restart.go delete mode 100644 src/app/test_executive/hard_fork.ml create mode 100644 src/lib/distributed_dsl/distributed_dsl.ml create mode 100644 src/lib/distributed_dsl/distributed_dsl.mli create mode 100644 src/lib/distributed_dsl/dune create mode 100644 src/lib/distributed_dsl/node.ml create mode 100644 src/lib/distributed_dsl/node.mli create mode 100644 src/lib/distributed_dsl/test.ml delete mode 100644 src/lib/integration_test_lib/graphql_requests.ml delete mode 100644 src/lib/network_pool/command_error.ml delete mode 100644 src/lib/network_pool/test/dune delete mode 100644 src/lib/network_pool/test/indexed_pool_tests.ml delete mode 100644 src/lib/network_pool/test/main.ml delete mode 100644 src/lib/network_pool/test/transaction_gen.ml delete mode 100644 src/lib/network_pool/with_nonce.ml delete mode 100644 src/lib/pickles/wrap_deferred_values.ml delete mode 100644 src/lib/pickles/wrap_wire_proof.ml delete mode 100644 src/lib/pickles/wrap_wire_proof.mli delete mode 100644 src/lib/transaction_snark/test/account_update_network_id/account_update_network_id.ml delete mode 100644 src/lib/transaction_snark/test/account_update_network_id/dune rename src/{app/zkapps_examples/test => lib/transaction_snark/test/zkapps_examples}/actions/actions.ml (100%) rename src/{app/zkapps_examples/test => lib/transaction_snark/test/zkapps_examples}/actions/dune (98%) rename src/{app/zkapps_examples/test => lib/transaction_snark/test/zkapps_examples}/add_events/add_events.ml (100%) rename src/{app/zkapps_examples/test => lib/transaction_snark/test/zkapps_examples}/add_events/dune (100%) rename src/{app/zkapps_examples/test => lib/transaction_snark/test/zkapps_examples}/big_circuit/big_circuit.ml (100%) rename src/{app/zkapps_examples/test => lib/transaction_snark/test/zkapps_examples}/big_circuit/dune (98%) rename src/{app/zkapps_examples/test => lib/transaction_snark/test/zkapps_examples}/calls/calls.ml (100%) rename src/{app/zkapps_examples/test => lib/transaction_snark/test/zkapps_examples}/calls/dune (100%) rename src/{app/zkapps_examples/test => lib/transaction_snark/test/zkapps_examples}/empty_update/dune (98%) rename src/{app/zkapps_examples/test => lib/transaction_snark/test/zkapps_examples}/empty_update/empty_update.ml (100%) rename src/{app/zkapps_examples/test => lib/transaction_snark/test/zkapps_examples}/initialize_state/dune (100%) rename src/{app/zkapps_examples/test => lib/transaction_snark/test/zkapps_examples}/initialize_state/initialize_state.ml (100%) rename src/{app/zkapps_examples/test => lib/transaction_snark/test/zkapps_examples}/tokens/dune (100%) rename src/{app/zkapps_examples/test => lib/transaction_snark/test/zkapps_examples}/tokens/tokens.ml (100%) delete mode 100644 src/lib/uptime_service/payload.ml delete mode 100644 src/lib/uptime_service/payload.mli rename src/{app => lib}/zkapps_examples/actions/dune (100%) rename src/{app => lib}/zkapps_examples/actions/zkapps_actions.ml (100%) rename src/{app => lib}/zkapps_examples/add_events/dune (100%) rename src/{app => lib}/zkapps_examples/add_events/zkapps_add_events.ml (100%) rename src/{app => lib}/zkapps_examples/big_circuit/dune (100%) rename src/{app => lib}/zkapps_examples/big_circuit/zkapps_big_circuit.ml (100%) rename src/{app => lib}/zkapps_examples/calls/dune (100%) rename src/{app => lib}/zkapps_examples/calls/zkapps_calls.ml (100%) rename src/{app => lib}/zkapps_examples/dune (100%) rename src/{app => lib}/zkapps_examples/empty_update/dune (100%) rename src/{app => lib}/zkapps_examples/empty_update/zkapps_empty_update.ml (100%) rename src/{app => lib}/zkapps_examples/initialize_state/dune (100%) rename src/{app => lib}/zkapps_examples/initialize_state/zkapps_initialize_state.ml (100%) rename src/{app => lib}/zkapps_examples/tokens/dune (100%) rename src/{app => lib}/zkapps_examples/tokens/zkapps_tokens.ml (99%) rename src/{app => lib}/zkapps_examples/tokens/zkapps_tokens.mli (100%) rename src/{app => lib}/zkapps_examples/zkapps_examples.ml (97%) diff --git a/CODEOWNERS b/CODEOWNERS index b4a01652896..b8b7334eb94 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -53,7 +53,7 @@ /src/lib/snarky_curves/ @MinaProtocol/crypto-eng-reviewers /src/lib/snarky_field_extensions/ @MinaProtocol/crypto-eng-reviewers /src/lib/snarky_group_map/ @MinaProtocol/crypto-eng-reviewers -/src/lib/snarkyjs @MinaProtocol/product-eng-reviewers +/src/lib/snarkyjs/ @MinaProtocol/product-eng-reviewers /src/lib/snarky_log/ @MinaProtocol/crypto-eng-reviewers /src/lib/unsigned_extended/ @MinaProtocol/crypto-eng-reviewers diff --git a/Makefile b/Makefile index 720b64f37a2..ee4354341ab 100644 --- a/Makefile +++ b/Makefile @@ -67,16 +67,14 @@ endif ocaml_checks: ocaml_version ocaml_word_size check_opam_switch libp2p_helper: -ifeq (, $(MINA_LIBP2P_HELPER_PATH)) make -C src/app/libp2p_helper -endif genesis_ledger: ocaml_checks $(info Building runtime_genesis_ledger) ulimit -s 65532 && (ulimit -n 10240 || true) && env MINA_COMMIT_SHA1=$(GITLONGHASH) dune exec --profile=$(DUNE_PROFILE) src/app/runtime_genesis_ledger/runtime_genesis_ledger.exe -- --genesis-dir $(GENESIS_DIR) $(info Genesis ledger and genesis proof generated) -# Checks that every OCaml packages in the project build without issues +# checks that every OCaml packages in the project build without issues check: ocaml_checks libp2p_helper dune build @src/check @@ -136,12 +134,6 @@ snarkyjs: ocaml_checks && bash ./src/lib/snarkyjs/src/bindings/scripts/build-snarkyjs-node.sh $(info Build complete) -snarkyjs_no_types: ocaml_checks - $(info Starting Build) - ((ulimit -s 65532) || true) && (ulimit -n 10240 || true) \ - && bash ./src/lib/snarkyjs/src/bindings/scripts/build-snarkyjs-node-artifacts.sh - $(info Build complete) - rosetta_lib_encodings: ocaml_checks $(info Starting Build) ulimit -s 65532 && (ulimit -n 10240 || true) && dune build src/lib/rosetta_lib/test/test_encodings.exe --profile=mainnet @@ -159,7 +151,7 @@ dhall_types: ocaml_checks replayer: ocaml_checks $(info Starting Build) - ulimit -s 65532 && (ulimit -n 10240 || true) && dune build src/app/replayer/replayer.exe --profile=devnet + ulimit -s 65532 && (ulimit -n 10240 || true) && dune build src/app/replayer/replayer.exe --profile=testnet_postake_medium_curves $(info Build complete) delegation_compliance: ocaml_checks @@ -235,9 +227,6 @@ check-format: ocaml_checks check-snarky-submodule: ./scripts/check-snarky-submodule.sh -check-proof-systems-submodule: - ./scripts/check-proof-systems-submodule.sh - ####################################### ## Environment setup diff --git a/automation/k8s/nonpreempting-priority-class.yml b/automation/k8s/nonpreempting-priority-class.yml deleted file mode 100644 index b439b683a3c..00000000000 --- a/automation/k8s/nonpreempting-priority-class.yml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: scheduling.k8s.io/v1 -kind: PriorityClass -metadata: - name: nonpreempting -value: 1000000 -preemptionPolicy: Never -globalDefault: false -description: "This priority class will not cause other pods to be preempted." diff --git a/automation/services/watchdog/Dockerfile b/automation/services/watchdog/Dockerfile index 43e6e00f825..d9970e725ed 100644 --- a/automation/services/watchdog/Dockerfile +++ b/automation/services/watchdog/Dockerfile @@ -1,10 +1,10 @@ -FROM python:3.9.16-slim-buster +FROM python:3.7-slim-stretch ARG GCLOUDSDK_DOWNLOAD_URL="https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-296.0.1-linux-x86_64.tar.gz" ARG WATCHMAN_DEB_URL="http://ftp.us.debian.org/debian/pool/main/w/watchman/watchman_4.9.0-5+b1_amd64.deb" RUN apt update && apt install -y \ - gnupg2 lsb-release apt-transport-https git curl jq wget \ + gnupg2 lsb-core apt-transport-https git curl jq wget \ graphviz dumb-init build-essential python-dev automake autoconf libtool \ libssl-dev pkg-config @@ -19,6 +19,14 @@ RUN export CLOUD_SDK_REPO="cloud-sdk-$(lsb_release -c -s)" && echo "deb http://p RUN curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - RUN apt update && apt install -y kubectl +# Install Watchman utility +RUN cd /tmp && git clone https://github.com/facebook/watchman.git -b v4.9.0 --depth 1 + +WORKDIR /tmp/watchman + +RUN ./autogen.sh && ./configure --enable-statedir=/tmp +RUN make && make install && mv watchman /usr/local/bin/watchman + WORKDIR /root RUN wget https://golang.org/dl/go1.15.7.linux-amd64.tar.gz @@ -34,6 +42,10 @@ WORKDIR /code/check_libp2p RUN go mod download RUN go build + +# TODO: find better mechanism for sharing files across repo DIRs +ADD https://raw.githubusercontent.com/MinaProtocol/mina/develop/automation/scripts/random_restart.py /scripts/random_restart.py + COPY ./entrypoints /entrypoint.d RUN chmod -R 777 /code/ /scripts/ diff --git a/automation/services/watchdog/check_libp2p/check_libp2p.go b/automation/services/watchdog/check_libp2p/check_libp2p.go index f1097ad1f74..28e0949fe6a 100644 --- a/automation/services/watchdog/check_libp2p/check_libp2p.go +++ b/automation/services/watchdog/check_libp2p/check_libp2p.go @@ -34,7 +34,7 @@ func main() { libp2p.ListenAddrStrings("/ip4/0.0.0.0/tcp/0"), libp2p.Ping(false), libp2p.PrivateNetwork(pnetKey[:]), - libp2p.Muxer("/coda/yamux/1.0.0", libp2pmplex.DefaultTransport), + libp2p.Muxer("/coda/mplex/1.0.0", libp2pmplex.DefaultTransport), ) if err != nil { panic(err) diff --git a/automation/services/watchdog/make_report.py b/automation/services/watchdog/make_report.py index 1d8e18f047d..f1b0103a9d5 100644 --- a/automation/services/watchdog/make_report.py +++ b/automation/services/watchdog/make_report.py @@ -116,7 +116,7 @@ def exec_cmd(command, timeout): '-c', command, ] - result = stream.stream(v1.connect_get_namespaced_pod_exec, seed, args.namespace, command=exec_command, container='mina', stderr=True, stdout=True, stdin=False, tty=False, _request_timeout=timeout) + result = stream.stream(v1.connect_get_namespaced_pod_exec, seed, args.namespace, command=exec_command, container='coda', stderr=True, stdout=True, stdin=False, tty=False, _request_timeout=timeout) return result print('running command:', command) @@ -298,7 +298,7 @@ def add_resp(resp): seed_daemon_port = [ v['value'] for v in seed_vars_dict if v['name'] == 'DAEMON_CLIENT_PORT'][0] cmd = "mina advanced node-status -daemon-port " + seed_daemon_port + " -daemon-peers" + " -show-errors" - resp = util.exec_on_pod(v1, namespace, seed, 'mina', cmd) + resp = util.exec_on_pod(v1, namespace, seed, 'coda', cmd) add_resp(resp) diff --git a/automation/services/watchdog/node_status_metrics.py b/automation/services/watchdog/node_status_metrics.py index 90ef836446f..01a13793e33 100644 --- a/automation/services/watchdog/node_status_metrics.py +++ b/automation/services/watchdog/node_status_metrics.py @@ -200,10 +200,10 @@ def add_resp(raw, peers, seed, seed_node_responded, seed_node_queried): try: cmd = "mina advanced get-peers" - peers = util.exec_on_pod(v1, namespace, seed, 'mina', cmd).rstrip().split('\n') + peers = util.exec_on_pod(v1, namespace, seed, 'coda', cmd).rstrip().split('\n') cmd = "mina advanced node-status -daemon-port " + seed_daemon_port + " -peers " + ",".join(peers) + " -show-errors" - resp = util.exec_on_pod(v1, namespace, seed, 'mina', cmd) + resp = util.exec_on_pod(v1, namespace, seed, 'coda', cmd) if not 'Error: Unable to connect to Mina Daemon.' in resp: add_resp(resp, peers, seed, seed_nodes_responded, seed_nodes_queried) diff --git a/automation/services/watchdog/scripts/random_restart.py b/automation/services/watchdog/scripts/random_restart.py deleted file mode 100644 index 12bc9f49640..00000000000 --- a/automation/services/watchdog/scripts/random_restart.py +++ /dev/null @@ -1,42 +0,0 @@ -#!/usr/bin/env python3 - -import sys -import argparse -import time -import random - -from kubernetes import client, config - -def main(): - parser = argparse.ArgumentParser(description="Periodically kill a random node in a testnet") - parser.add_argument("-n", "--namespace", help="testnet namespace", required=True, type=str, dest="namespace") - parser.add_argument("-i", "--interval", help="how often (in minutes) to kill a pod", required=True, type=int, dest="interval") - parser.add_argument("-ic", "--incluster", help="if we're running from inside the cluster", required=False, default=False, type=bool, dest="incluster") - - - args = parser.parse_args(sys.argv[1:]) - - if args.incluster: - config.load_incluster_config() - assert(args.namespace == '') - with open('/var/run/secrets/kubernetes.io/serviceaccount/namespace', 'r') as f: - args.namespace = f.read() - else: - config.load_kube_config() - v1 = client.CoreV1Api() - - while True: - pods = v1.list_namespaced_pod(args.namespace, watch=False) - - pod_names = [ p.metadata.name for p in pods.items ] - nodes = [ n for n in pod_names if 'fish' in n or 'whale' in n ] - - if len(nodes) > 0: - random_node = random.choice(nodes) - print('restarting', random_node) - response = v1.delete_namespaced_pod(random_node, args.namespace) - - time.sleep(60 * args.interval) - -if __name__ == "__main__": - main() diff --git a/automation/services/watchdog/version.txt b/automation/services/watchdog/version.txt index 1f77169993b..75274d83294 100644 --- a/automation/services/watchdog/version.txt +++ b/automation/services/watchdog/version.txt @@ -1 +1 @@ -0.4.13 +0.4.12 diff --git a/automation/terraform/modules/kubernetes/testnet/locals.tf b/automation/terraform/modules/kubernetes/testnet/locals.tf index f7ed473b1bc..eddce8ef795 100644 --- a/automation/terraform/modules/kubernetes/testnet/locals.tf +++ b/automation/terraform/modules/kubernetes/testnet/locals.tf @@ -39,9 +39,6 @@ locals { uploadBlocksToGCloud = var.upload_blocks_to_gcloud exposeGraphql = var.expose_graphql } - - priorityClass = var.priority_class - persist_working_dir = var.enable_working_dir_persitence seedConfigs = [ for index, config in var.seed_configs : { @@ -124,8 +121,6 @@ locals { archiveAddress = config.archiveAddress } ] - priorityClass = var.priority_class - persist_working_dir = var.enable_working_dir_persitence } archive_vars = [for item in var.archive_configs : { @@ -160,8 +155,6 @@ locals { } } } - priorityClass = var.priority_class - persist_working_dir = var.enable_working_dir_persitence }] snark_vars = [ @@ -178,14 +171,12 @@ locals { coordinatorHostName = "${snark.snark_coordinator_name}.${var.testnet_name}" coordinatorRpcPort = 8301 coordinatorHostPort = snark.snark_coordinators_host_port - publicKey = snark.snark_worker_public_key + publicKey =snark.snark_worker_public_key snarkFee = snark.snark_worker_fee workSelectionAlgorithm = "seq" - workerCpuRequest = var.worker_cpu_request - workerMemRequest = var.worker_mem_request - priorityClass = var.priority_class - persist_working_dir = var.enable_working_dir_persitence + workerCpuRequest = var.worker_cpu_request + workerMemRequest= var.worker_mem_request } ] @@ -195,8 +186,6 @@ locals { mina = local.daemon healthcheck = local.healthcheck_vars name = node.name - priorityClass = var.priority_class - persist_working_dir = var.enable_working_dir_persitence } ] diff --git a/automation/terraform/modules/kubernetes/testnet/variables.tf b/automation/terraform/modules/kubernetes/testnet/variables.tf index 189cd00e0b7..adcfa52f3e1 100644 --- a/automation/terraform/modules/kubernetes/testnet/variables.tf +++ b/automation/terraform/modules/kubernetes/testnet/variables.tf @@ -81,11 +81,6 @@ variable "mina_agent_image" { default = "codaprotocol/coda-user-agent:0.1.4" } -variable "priority_class" { - type = string - default = null -} - #this var doesn't actually hook up to anything variable "mina_agent_active" { type = string @@ -196,7 +191,6 @@ variable "seed_configs" { # private_key_secret = string, enableArchive = bool, archiveAddress = string - persist_working_dir = bool, }) ) default = [] @@ -231,12 +225,12 @@ variable "block_producer_configs" { run_with_bots = bool, enableArchive = bool, archiveAddress = string - persist_working_dir = bool, }) ) default = [] } + variable "plain_node_configs" { default = null } @@ -251,7 +245,6 @@ variable "snark_coordinators" { snark_worker_fee = number snark_worker_public_key = string snark_coordinators_host_port = number - persist_working_dir = bool })) default = [] } @@ -354,8 +347,7 @@ variable "archive_configs" { persistenceSize = string persistenceStorageClass = string persistenceAccessModes = list(string) - spotAllowed = string - persist_working_dir = bool + spotAllowed = string }) ) default = [] @@ -375,9 +367,3 @@ variable "zkapps_dashboard_key" { type = string default = "" } - - -variable "enable_working_dir_persitence" { - type = bool - default = false -} diff --git a/automation/terraform/modules/o1-integration/inputs.tf b/automation/terraform/modules/o1-integration/inputs.tf index 537d8709b6f..74a67069892 100644 --- a/automation/terraform/modules/o1-integration/inputs.tf +++ b/automation/terraform/modules/o1-integration/inputs.tf @@ -46,11 +46,6 @@ variable "mina_points_image" { type = string } -variable "enable_working_dir_persitence" { - type = bool - default = false -} - variable "runtime_config" { type = string } @@ -98,10 +93,6 @@ variable "mem_request" { default = "0Mi" } -variable "pod_priority" { - type = number -} - variable "archive_configs" { description = "individual archive-node deployment configurations" default = null diff --git a/automation/terraform/modules/o1-integration/locals.tf b/automation/terraform/modules/o1-integration/locals.tf index 3d9d4b95569..47d2525087b 100644 --- a/automation/terraform/modules/o1-integration/locals.tf +++ b/automation/terraform/modules/o1-integration/locals.tf @@ -2,7 +2,6 @@ locals { graphql_ingress_dns = "${var.testnet_name}.graphql.test.o1test.net" snark_worker_host_port = 10001 block_producer_starting_host_port = 10010 - # seed_peer = { # multiaddr = "/dns4/seed.${var.testnet_name}/tcp/10401/p2p/12D3KooWCoGWacXE4FRwAX8VqhnWVKhz5TTEecWEuGmiNrDt2XLf", @@ -15,15 +14,14 @@ locals { seed_external_port = 10001 seed_config = { - name = "seed", - class = "seed", - libp2p_secret = "seed-discovery-keys", - libp2p_secret_pw = "naughty blue worm" - external_ip = null, + name = "seed", + class = "seed", + libp2p_secret = "seed-discovery-keys", + libp2p_secret_pw = "naughty blue worm" + external_ip = null, # private_key_secret = null, - enableArchive = false, - archiveAddress = null - persist_working_dir = var.enable_working_dir_persitence + enableArchive = false, + archiveAddress = null } @@ -47,7 +45,6 @@ locals { persistenceStorageClass = "ssd-delete" persistenceAccessModes = ["ReadWriteOnce"] spotAllowed = "true" - persist_working_dir = var.enable_working_dir_persitence } archive_node_configs = var.archive_configs != null ? [for item in var.archive_configs : merge(local.default_archive_node, item)] : [ diff --git a/automation/terraform/modules/o1-integration/priority_class.tf b/automation/terraform/modules/o1-integration/priority_class.tf deleted file mode 100644 index c58ee71d745..00000000000 --- a/automation/terraform/modules/o1-integration/priority_class.tf +++ /dev/null @@ -1,9 +0,0 @@ -resource "kubernetes_priority_class" "testnet_priority_class" { - metadata { - name = "${var.testnet_name}-nonpreemptible-priority-class" - } - - value = var.pod_priority - preemption_policy = "Never" - global_default = false -} diff --git a/automation/terraform/modules/o1-integration/testnet.tf b/automation/terraform/modules/o1-integration/testnet.tf index 29c9fd8264b..6fcb9931867 100644 --- a/automation/terraform/modules/o1-integration/testnet.tf +++ b/automation/terraform/modules/o1-integration/testnet.tf @@ -11,18 +11,17 @@ module "kubernetes_testnet" { cluster_region = var.cluster_region k8s_context = var.k8s_context testnet_name = var.testnet_name - priority_class = kubernetes_priority_class.testnet_priority_class.metadata[0].name - mina_image = var.mina_image - use_custom_entrypoint = true - custom_entrypoint = "/mina_daemon_puppeteer.py" - mina_archive_image = var.mina_archive_image - mina_agent_image = var.mina_agent_image - mina_bots_image = var.mina_bots_image - mina_points_image = var.mina_points_image - enable_working_dir_persitence = var.enable_working_dir_persitence - log_level = "Trace" - log_snark_work_gossip = true + mina_image = var.mina_image + use_custom_entrypoint = true + custom_entrypoint = "/mina_daemon_puppeteer.py" + mina_archive_image = var.mina_archive_image + mina_agent_image = var.mina_agent_image + mina_bots_image = var.mina_bots_image + mina_points_image = var.mina_points_image + + log_level = "Trace" + log_snark_work_gossip = true #make sure everyone has the seed peer's multiaddress additional_peers = ["/dns4/seed.${var.testnet_name}/tcp/${local.seed_external_port}/p2p/12D3KooWCoGWacXE4FRwAX8VqhnWVKhz5TTEecWEuGmiNrDt2XLf"] @@ -47,7 +46,6 @@ module "kubernetes_testnet" { snark_worker_fee = var.snark_worker_fee snark_worker_public_key = var.snark_coordinator_config.public_key snark_coordinators_host_port = local.snark_worker_host_port - persist_working_dir = var.enable_working_dir_persitence } ] @@ -70,7 +68,6 @@ module "kubernetes_testnet" { enable_peer_exchange = true enableArchive = var.archive_node_count > 0 archiveAddress = element(local.archive_node_names, index) - persist_working_dir = var.enable_working_dir_persitence } ] diff --git a/automation/terraform/modules/testnet-alerts/alerts.tf b/automation/terraform/modules/testnet-alerts/alerts.tf index 391d711d41d..c796708b291 100644 --- a/automation/terraform/modules/testnet-alerts/alerts.tf +++ b/automation/terraform/modules/testnet-alerts/alerts.tf @@ -7,8 +7,6 @@ data "template_file" "testnet_alerts" { rule_filter = var.rule_filter alert_timeframe = var.alert_timeframe alert_evaluation_duration = var.alert_duration - berkeley_testnet = var.berkeley_testnet - synced_status_filter = var.synced_status_filter } } diff --git a/automation/terraform/modules/testnet-alerts/inputs.tf b/automation/terraform/modules/testnet-alerts/inputs.tf index 1e068652277..72fa09f3b9c 100644 --- a/automation/terraform/modules/testnet-alerts/inputs.tf +++ b/automation/terraform/modules/testnet-alerts/inputs.tf @@ -22,18 +22,6 @@ variable "rule_filter" { description = "Filter to apply to monitoring search space for managing the scope of alert rule checks" } -variable "berkeley_testnet" { - type = string - description = "Filter that selects out berkeley network" - default = "testnet=\"berkeley\"" -} - -variable "synced_status_filter" { - type = string - description = "Filter that only applies to berkeley network with syncStatus labels" - default = "syncStatus=\"SYNCED\"" -} - variable "alert_timeframe" { type = string description = "Range of time to inspect for alert rule violations" diff --git a/automation/terraform/modules/testnet-alerts/templates/testnet-alert-rules.yml.tpl b/automation/terraform/modules/testnet-alerts/templates/testnet-alert-rules.yml.tpl index 79dc6208e11..f97e5821b9d 100644 --- a/automation/terraform/modules/testnet-alerts/templates/testnet-alert-rules.yml.tpl +++ b/automation/terraform/modules/testnet-alerts/templates/testnet-alert-rules.yml.tpl @@ -330,6 +330,7 @@ groups: description: "{{ $value }} blocks have been produced that share no common ancestor with our transition frontier on network {{ $labels.test }} in the last hour." runbook: "https://www.notion.so/minaprotocol/LowDisconnectedBlocksPerHour-32bd49852fbb499090106fe63a504859" + - alert: LowOldBlocksPerHour expr: max by (testnet) (increase(Coda_Rejected_blocks_worse_than_root ${rule_filter} [${alert_timeframe}])) > 0 labels: @@ -392,388 +393,3 @@ groups: summary: "Missing blocks observed on {{ $labels.testnet }}" description: "{{ $value }} Missing block(s) observed on network {{ $labels.testnet }}." runbook: "https://www.notion.so/minaprotocol/Archive-Node-Metrics-9edf9c51dd344f1fbf6722082a2e2465" - -- name: Berkeley alerts - rules: - - alert: WatchdogClusterCrashes - expr: max by (testnet) (max_over_time(Coda_watchdog_cluster_crashes {${berkeley_testnet}} [${alert_timeframe}])) > 0.5 - labels: - testnet: "{{ $labels.testnet }}" - severity: critical - annotations: - summary: "{{ $labels.testnet }} cluster nodes have crashed" - description: "{{ $value }} Cluster nodes have crashed on network {{ $labels.testnet }}." - runbook: "https://www.notion.so/minaprotocol/WatchdogClusterCrashes-1741e31b59ef4467a3bd19158418c4d8" - - - alert: MultipleNodeRestarted - expr: count by (testnet) (Coda_Runtime_process_uptime_ms_total {${berkeley_testnet}} < 600000) > 2 - labels: - testnet: "{{ $labels.testnet }}" - severity: critical - annotations: - summary: "At least 3 nodes on {{ $labels.testnet }} restarted" - description: "{{ $value }} nodes on {{ $labels.testnet }} restarted" - runbook: "https://www.notion.so/minaprotocol/MultipleNodeRestarted-360bc1ed48a24dfca4bcbae1e29d0584" - - - alert: HighDisconnectedBlocksPerHour - expr: max by (testnet) (increase(Coda_Rejected_blocks_no_common_ancestor {${berkeley_testnet},${synced_status_filter}} [${alert_timeframe}])) > 3 - labels: - testnet: "{{ $labels.testnet }}" - severity: critical - annotations: - summary: "{{ $labels.testnet }} has more than 3 blocks that have been produced on a remote side chains in the last hour" - description: "{{ $value }} blocks have been produced that share no common ancestor with our transition frontier on network {{ $labels.test }} in the last hour." - runbook: "https://www.notion.so/minaprotocol/HighDisconnectedBlocksPerHour-14da6dc40386439799eb2a573d077ecb" - - - alert: HighOldBlocksPerHour - expr: max by (testnet) (increase(Coda_Rejected_blocks_worse_than_root {${berkeley_testnet},${synced_status_filter}} [${alert_timeframe}])) > 5 - labels: - testnet: "{{ $labels.testnet }}" - severity: critical - annotations: - summary: "{{ $labels.testnet }} has more than 5 blocks that are not selected over the root of our transition frontier in the last hour" - description: "{{ $value }} blocks have been produced that are not selected over the root of our transition frontier in the last hour" - runbook: "https://www.notion.so/minaprotocol/HighOldBlocksPerHour-134ba51aef4d482bb065ce7a02dd8fb7" - - - alert: HighInvalidProofPerHour - expr: max by (testnet) (increase(Coda_Rejected_blocks_invalid_proof {${berkeley_testnet}} [${alert_timeframe}])) > 3 - labels: - testnet: "{{ $labels.testnet }}" - severity: critical - annotations: - summary: "{{ $labels.testnet }} has more than 3 blocks that contains an invalid blockchain snark proof in last hour" - description: "{{ $value }} blocks have been produced that contains an invalid blockchain snark proof in last hour" - runbook: "https://www.notion.so/minaprotocol/HighInvalidProofPerHour-8ff715ccf9564b6e8a27b5a9dc65ef77" - - - alert: WatchdogNoNewLogs - expr: max by (testnet) (Coda_watchdog_pods_with_no_new_logs {${berkeley_testnet}}) > 0 - for: 12m - labels: - testnet: "{{ $labels.testnet }}" - severity: critical - annotations: - summary: "{{ $labels.testnet }} has pods which have not logged in an hour" - description: "There are no new logs in the last hour for {{ $value }} pods on network {{ $labels.testnet }}." - runbook: "https://www.notion.so/minaprotocol/WatchdogNoNewLogs-7ffb7a74bad542c78961abddd9004489" - - - alert: SeedListDown - expr: min by (testnet) (min_over_time(Coda_watchdog_seeds_reachable {${berkeley_testnet}} [${alert_timeframe}])) == 0 - labels: - testnet: "{{ $labels.testnet }}" - severity: critical - annotations: - summary: "{{ $labels.testnet }} seed list is down (no seeds are reachable)" - description: "Seed list is down on network {{ $labels.testnet }}." - runbook: "https://www.notion.so/minaprotocol/SeedListDown-d8d4e14609884c63a7086309336f3462" - - - alert: BlockStorageBucketNoNewBlocks - expr: min by (testnet) (min_over_time(Coda_watchdog_recent_google_bucket_blocks {${berkeley_testnet}} [${alert_timeframe}])) >= 30*60 - labels: - testnet: "{{ $labels.testnet }}" - severity: critical - annotations: - summary: "{{ $labels.testnet }} has no new blocks posted to the google block storage bucket recently" - description: "{{ $value }} new blocks posted to the google storage bucket for {{ $labels.testnet }}." - runbook: "https://www.notion.so/minaprotocol/BlockStorageBucketNoNewBlock-80ddaf0fa7944fb4a9c5a4ffb4bbd6e2" - - - alert: ProverErrors - expr: max by (testnet) (max_over_time(Coda_watchdog_prover_errors_total {${berkeley_testnet}} [${alert_timeframe}])) > 0 - labels: - testnet: "{{ $labels.testnet }}" - severity: critical - annotations: - summary: "{{ $labels.testnet }} has observed a prover error" - description: "{{ $value }} Prover errors on network {{ $labels.testnet }}." - - - alert: NodesNotSynced - expr: min by (testnet) (Coda_watchdog_nodes_synced {${berkeley_testnet}}) <= .5 - labels: - testnet: "{{ $labels.testnet }}" - severity: critical - annotations: - summary: "{{ $labels.testnet }} has <= 50% of nodes synced" - description: "Nodes sync rate of {{ $value }} is <= 50% on network {{ $labels.testnet }}." - runbook: "https://www.notion.so/minaprotocol/Nodes-not-synced-34e4d4eeaeaf47e381de660bab9ce7b7" - - - alert: NodesOutOfSync - expr: min by (testnet) (avg_over_time(Coda_watchdog_nodes_synced_near_best_tip {${berkeley_testnet}} [${alert_timeframe}])) < .6 - labels: - testnet: "{{ $labels.testnet }}" - severity: critical - annotations: - summary: "{{ $labels.testnet }} has < 60% of nodes that are synced on the same best tip" - description: "< 60% of nodes that are synced are on the same best tip for network {{ $labels.testnet }} with rate of {{ $value }}." - runbook: "https://www.notion.so/minaprotocol/Nodes-out-of-sync-0f29c739e47c42e4adabe62a2a0316bd" - - - alert: O1NodesOutOfSync - expr: min by (testnet) (increase(Coda_Transition_frontier_max_blocklength_observed {${berkeley_testnet}} [${alert_timeframe}])) < 1 - for: ${alert_evaluation_duration} - labels: - testnet: "{{ $labels.testnet }}" - severity: critical - annotations: - summary: "One or more {{ $labels.testnet }} nodes are stuck at an old block height (Observed block height did not increase in the last hour)" - description: "{{ $value }} blocks have been validated on network {{ $labels.testnet }} in the last hour (according to some node)." - runbook: "https://www.notion.so/minaprotocol/Nodes-out-of-sync-0f29c739e47c42e4adabe62a2a0316bd" - - - alert: LowPeerCount - expr: min by (testnet) (Coda_Network_peers {${berkeley_testnet},${synced_status_filter}} ) < 3 - for: ${alert_evaluation_duration} - labels: - testnet: "{{ $labels.testnet }}" - severity: critical - annotations: - summary: "{{ $labels.testnet }} avg. peer count is critically low" - description: "Critically low peer count of {{ $value }} on network {{ $labels.testnet }}." - runbook: "https://www.notion.so/minaprotocol/LowPeerCount-3a66ae1ca6fd44b585eca37f9206d429" - - - alert: CriticallyLowMinWindowDensity - expr: quantile by (testnet) (0.5, Coda_Transition_frontier_min_window_density {${berkeley_testnet},${synced_status_filter}} ) <= 35 - for: ${alert_evaluation_duration} - labels: - testnet: "{{ $labels.testnet }}" - severity: critical - annotations: - summary: "{{ $labels.testnet }} min density is critically low" - description: "Critically low min density of {{ $value }} on network {{ $labels.testnet }}." - runbook: "https://www.notion.so/minaprotocol/LowMinWindowDensity-Runbook-7908635be4754b44a862d9bec8edc239" - - - alert: LowFillRate - expr: quantile by (testnet) (0.5, Coda_Transition_frontier_slot_fill_rate {${berkeley_testnet},${synced_status_filter}} ) < 0.75 * 0.6 - for: 1h - labels: - testnet: "{{ $labels.testnet }}" - severity: critical - annotations: - summary: "{{ $labels.testnet }} slot fill rate is critically low" - description: "Lower fill rate of {{ $value }} than expected on network {{ $labels.testnet }}." - runbook: "https://www.notion.so/minaprotocol/LowFillRate-36efb1cd9b5d461db6976bc1938fab9e" - - - alert: NoTransactionsInSeveralBlocks - expr: quantile by (testnet) (0.5, Coda_Transition_frontier_empty_blocks_at_best_tip {${berkeley_testnet},${synced_status_filter}} ) >= 5 - labels: - testnet: "{{ $labels.testnet }}" - severity: critical - annotations: - summary: "{{ $labels.testnet }} has >= 5 blocks without transactions at the tip" - description: "{{ $value }} blocks without transactions on tip of network {{ $labels.testnet }}." - runbook: "https://www.notion.so/minaprotocol/No-Transactions-In-Several-Blocks-55ca13df38dd4c3491e11d8ea8020c08" - - - alert: NoCoinbaseInBlocks - expr: quantile by (testnet) (0.5, Coda_Transition_frontier_best_tip_coinbase {${berkeley_testnet},${synced_status_filter}} ) < 1 - for: ${alert_evaluation_duration} - labels: - testnet: "{{ $labels.testnet }}" - severity: critical - annotations: - summary: "{{ $labels.testnet }} has blocks without coinbases" - description: "{{ $value }} Blocks without coinbases on tip of network {{ $labels.testnet }}." - runbook: "https://www.notion.so/minaprotocol/NoCoinbaseInBlocks-aacbc2a4f9334d0db2de20c2f77ac34f" - - - alert: LongFork - expr: max by (testnet) (Coda_Transition_frontier_longest_fork {${berkeley_testnet},${synced_status_filter}} ) >= 16 - labels: - testnet: "{{ $labels.testnet }}" - severity: critical - annotations: - summary: "{{ $labels.testnet }} has a fork of length at least 16" - description: "Fork of length {{ $value }} on network {{ $labels.testnet }}." - runbook: "https://www.notion.so/minaprotocol/LongFork-e65e5ad7437f4f4dbac201abbf9ace81" - - - alert: OldBestTip - expr: min by (testnet) ((time() - 1609459200) - Coda_Transition_frontier_best_tip_slot_time_sec {${berkeley_testnet},${synced_status_filter}} ) >= 15 * 180 - labels: - testnet: "{{ $labels.testnet }}" - severity: critical - annotations: - summary: "{{ $labels.testnet }}: all nodes have best tips older than 15 slots" - description: "All nodes have best tips older than 15 slots (45 minutes) on network {{ $labels.testnet }}. Best tip: {{ $value }}" - runbook: "https://www.notion.so/minaprotocol/OldBestTip-8afa955101b642bd8356edfd0b03b640" - - - alert: NoNewSnarks - expr: min by (testnet) ((time() - 1609459200) - Coda_Snark_work_useful_snark_work_received_time_sec {${berkeley_testnet},${synced_status_filter}} ) >= 2 * 180 and max by (testnet) (Coda_Snark_work_pending_snark_work {${berkeley_testnet},${synced_status_filter}} ) != 0 - labels: - testnet: "{{ $labels.testnet }}" - severity: critical - annotations: - summary: "{{ $labels.testnet }}: no new SNARK work seen for 2 slots." - description: "No node has received SNARK work in the last 2 slots (6 minutes) on network {{ $labels.testnet }}." - runbook: "https://www.notion.so/minaprotocol/NoNewSnarks-f86d27c81af54954b2fb61378bff9d4d" - - - alert: NoNewTransactions - expr: min by (testnet) ((time() - 1609459200) - Coda_Transaction_pool_useful_transactions_received_time_sec {${berkeley_testnet},${synced_status_filter}} ) >= 2 * 180 - labels: - testnet: "{{ $labels.testnet }}" - severity: critical - annotations: - summary: "{{ $labels.testnet }}: no new transactions seen for 2 slots." - description: "No node has received transactions in their transaction pool in the last 2 slots (6 minutes) on network {{ $labels.testnet }}." - runbook: "https://www.notion.so/minaprotocol/NoNewTransactions-27dbeafab8ea4d659ee6f748acb2fd6c" - - - alert: HighUnparentedBlockCount - expr: max by (testnet) (Coda_Archive_unparented_blocks {${berkeley_testnet}}) > 30 - for: ${alert_evaluation_duration} - labels: - testnet: "{{ $labels.testnet }}" - severity: critical - annotations: - summary: "{{ $labels.testnet }} has a critically high unparented block count" - description: "{{ $value }} Unparented block count is critically high on network {{ $labels.testnet }}." - runbook: "https://www.notion.so/minaprotocol/Archive-Node-Metrics-9edf9c51dd344f1fbf6722082a2e2465" - - - alert: HighMissingBlockCount - expr: max by (testnet) (Coda_Archive_missing_blocks {${berkeley_testnet}}) > 30 - for: ${alert_evaluation_duration} - labels: - testnet: "{{ $labels.testnet }}" - severity: critical - annotations: - summary: "{{ $labels.testnet }} has a critically high missing block count" - description: "{{ $value }} Missing block count is critically high on network {{ $labels.testnet }}." - runbook: "https://www.notion.so/minaprotocol/Archive-Node-Metrics-9edf9c51dd344f1fbf6722082a2e2465" - - - alert: FewBlocksPerHour - expr: quantile by (testnet) (0.5, increase(Coda_Transition_frontier_max_blocklength_observed {${berkeley_testnet},${synced_status_filter}} [30m])) < 1 - for: ${alert_evaluation_duration} - labels: - testnet: "{{ $labels.testnet }}" - severity: critical - annotations: - summary: "One or more {{ $labels.testnet }} nodes are stuck at an old block height (Observed block height did not increase in the last 30m)" - description: "{{ $value }} blocks have been validated on network {{ $labels.testnet }} in the last hour (according to some node)." - runbook: "https://www.notion.so/minaprotocol/FewBlocksPerHour-47a6356f093242d988b0d9527ce23478" - - - alert: HighBlockGossipLatency - expr: max by (testnet) (max_over_time(Coda_Block_latency_gossip_time {${berkeley_testnet},${synced_status_filter}} [${alert_timeframe}])) > 200 - for: ${alert_evaluation_duration} - labels: - testnet: "{{ $labels.testnet }}" - severity: warning - annotations: - summary: "{{ $labels.testnet }} block gossip latency is high" - description: "High block gossip latency of {{ $value }}(ms) within {{ $labels.testnet }} network." - runbook: "https://www.notion.so/minaprotocol/HighBlockGossipLatency-2096501c7cf34032b44e903ec1a4d79c" - - - alert: SomewhatOldBestTip - expr: count by (testnet) (((time() - 1609459200) - Coda_Transition_frontier_best_tip_slot_time_sec {${berkeley_testnet},${synced_status_filter}} ) >= 8 * 180) > 1 - labels: - testnet: "{{ $labels.testnet }}" - severity: warning - annotations: - summary: "{{ $labels.testnet }}: at least 2 nodes have best tips older than 8 slots" - description: "At least 2 nodes have best tips older than 8 slots (24 minutes) on network {{ $labels.testnet }}." - runbook: "https://www.notion.so/minaprotocol/SomewhatOldBestTip-bb1509582bdd4908bcda656eebf421b5" - - - alert: MediumFork - expr: max by (testnet) (Coda_Transition_frontier_longest_fork {${berkeley_testnet},${synced_status_filter}} ) >= 8 - labels: - testnet: "{{ $labels.testnet }}" - severity: warning - annotations: - summary: "{{ $labels.testnet }} has a fork of length at least 8" - description: "Fork of length {{ $value }} on network {{ $labels.testnet }}." - runbook: "https://www.notion.so/minaprotocol/MediumFork-0a530813af2e40c491cdf01b3a2b2304" - - - alert: NoTransactionsInAtLeastOneBlock - expr: max by (testnet) (Coda_Transition_frontier_empty_blocks_at_best_tip {${berkeley_testnet},${synced_status_filter}} ) > 0 - labels: - testnet: "{{ $labels.testnet }}" - severity: warning - annotations: - summary: "{{ $labels.testnet }} has at least 1 block without transactions at the tip" - description: "{{ $value }} Blocks without transactions on tip of network {{ $labels.testnet }}." - runbook: "https://www.notion.so/minaprotocol/NoTransactionsInAtLeastOneBlock-049250ff7ae84de990233c7b6d35f763" - - - alert: LowMinWindowDensity - expr: quantile by (testnet) (0.5, Coda_Transition_frontier_min_window_density {${berkeley_testnet},${synced_status_filter}} ) <= 60 - for: ${alert_evaluation_duration} - labels: - testnet: "{{ $labels.testnet }}" - severity: warning - annotations: - summary: "{{ $labels.testnet }} min density is low" - description: "Low min density on network {{ $labels.testnet }}." - runbook: "https://www.notion.so/minaprotocol/LowMinWindowDensity-Runbook-7908635be4754b44a862d9bec8edc239" - - - alert: SeedListDegraded - expr: min by (testnet) (Coda_watchdog_seeds_reachable {${berkeley_testnet}}) <= 0.5 - labels: - testnet: "{{ $labels.testnet }}" - severity: warning - annotations: - summary: "{{ $labels.testnet }} seed list is degraded (less than 50% reachable)" - description: "Seed list is degraded at {{ $value }} on network {{ $labels.testnet }}." - runbook: "https://www.notion.so/minaprotocol/SeedListDown-d8d4e14609884c63a7086309336f3462" - - - alert: LowDisconnectedBlocksPerHour - expr: max by (testnet) (increase(Coda_Rejected_blocks_no_common_ancestor {${berkeley_testnet},${synced_status_filter}} [${alert_timeframe}])) > 0 - labels: - testnet: "{{ $labels.testnet }}" - severity: warning - annotations: - summary: "{{ $labels.testnet }} has at least 1 blocks that have been produced on a remote side chains in the last hour" - description: "{{ $value }} blocks have been produced that share no common ancestor with our transition frontier on network {{ $labels.test }} in the last hour." - runbook: "https://www.notion.so/minaprotocol/LowDisconnectedBlocksPerHour-32bd49852fbb499090106fe63a504859" - - - alert: LowOldBlocksPerHour - expr: max by (testnet) (increase(Coda_Rejected_blocks_worse_than_root {${berkeley_testnet},${synced_status_filter}} [${alert_timeframe}])) > 0 - labels: - testnet: "{{ $labels.testnet }}" - severity: warning - annotations: - summary: "{{ $labels.testnet }} has at least 1 blocks that are not selected over the root of our transition frontier in the last hour" - description: "{{ $value }} blocks have been produced that are not selected over the root of our transition frontier in the last hour" - runbook: "https://www.notion.so/minaprotocol/LowOldBlocksPerHour-1cc2e92b8ca944869d810f7afd7c2d78" - - - alert: LowInvalidProofPerHour - expr: max by (testnet) (increase(Coda_Rejected_blocks_invalid_proof {${berkeley_testnet}} [${alert_timeframe}])) > 0 - labels: - testnet: "{{ $labels.testnet }}" - severity: warning - annotations: - summary: "{{ $labels.testnet }} has at least 1 blocks that contains an invalid blockchain snark proof in last hour" - description: "{{ $value }} blocks have been produced that contains an invalid blockchain snark proof in last hour" - runbook: "https://www.notion.so/minaprotocol/LowInvalidProofPerHour-b6e88b9ae84f47169e7f86017ab9e340" - - - alert: LowPostgresBlockHeightGrowth - expr: min by (testnet) (increase(Coda_Archive_max_block_height {${berkeley_testnet}} [${alert_timeframe}])) < 1 - for: ${alert_evaluation_duration} - labels: - testnet: "{{ $labels.testnet }}" - severity: warning - annotations: - summary: "{{ $labels.testnet }} rate of archival of network blocks in Postgres DB is lower than expected" - description: "The rate of {{ $value }} new blocks observed by archive postgres instances is low on network {{ $labels.testnet }}." - runbook: "https://www.notion.so/minaprotocol/Archive-Node-Metrics-9edf9c51dd344f1fbf6722082a2e2465" - - - alert: NodeRestarted - expr: count by (testnet) (Coda_Runtime_process_uptime_ms_total {${berkeley_testnet}} < 360000) > 0 - labels: - testnet: "{{ $labels.testnet }}" - severity: warning - annotations: - summary: "At least one of the nodes on {{ $labels.testnet }} restarted" - description: "{{ $value }} nodes on {{ $labels.testnet }} restarted" - runbook: "https://www.notion.so/minaprotocol/NodeRestarted-99a1cf710ff14aa6930a9f12ad5813a5" - - - alert: UnparentedBlocksObserved - expr: max by (testnet) (Coda_Archive_unparented_blocks {${berkeley_testnet}}) > 1 - for: ${alert_evaluation_duration} - labels: - testnet: "{{ $labels.testnet }}" - severity: warning - annotations: - summary: "Unparented blocks observed on {{ $labels.testnet }}" - description: "{{ $value }} Unparented block(s) observed on network {{ $labels.testnet }}." - runbook: "https://www.notion.so/minaprotocol/Archive-Node-Metrics-9edf9c51dd344f1fbf6722082a2e2465" - - - alert: MissingBlocksObserved - expr: max by (testnet) (Coda_Archive_missing_blocks {${berkeley_testnet}}) > 0 - for: ${alert_evaluation_duration} - labels: - testnet: "{{ $labels.testnet }}" - severity: warning - annotations: - summary: "Missing blocks observed on {{ $labels.testnet }}" - description: "{{ $value }} Missing block(s) observed on network {{ $labels.testnet }}." - runbook: "https://www.notion.so/minaprotocol/Archive-Node-Metrics-9edf9c51dd344f1fbf6722082a2e2465" diff --git a/automation/terraform/monitoring/o1-testnet-alerts.tf b/automation/terraform/monitoring/o1-testnet-alerts.tf index 1f1f3feff47..ca8df26851e 100644 --- a/automation/terraform/monitoring/o1-testnet-alerts.tf +++ b/automation/terraform/monitoring/o1-testnet-alerts.tf @@ -18,12 +18,10 @@ terraform { module "o1testnet_alerts" { source = "../modules/testnet-alerts" - rule_filter = "{testnet!~\"^(berkeley|it-|ci-net|test-).+\"}" # omit testnets deployed by integration/CI tests and also omit berkeley network + rule_filter = "{testnet!~\"^(it-|ci-net|test-).+\"}" # omit testnets deployed by integration/CI tests alert_timeframe = "1h" alert_duration = "10m" pagerduty_alert_filter = "devnet2|mainnet" - berkeley_testnet = "testnet=\"berkeley\"" - synced_status_filter = "syncStatus=\"SYNCED\"" } output "testnet_alert_rules" { diff --git a/automation/terraform/testnets/berkeley/main.tf b/automation/terraform/testnets/berkeley/main.tf index 094c14e2557..fe14b4bfa54 100644 --- a/automation/terraform/testnets/berkeley/main.tf +++ b/automation/terraform/testnets/berkeley/main.tf @@ -91,7 +91,7 @@ module "berkeley" { mina_agent_image = "codaprotocol/coda-user-agent:0.1.8" mina_bots_image = "codaprotocol/coda-bots:0.0.13-beta-1" mina_points_image = "codaprotocol/coda-points-hack:32b.4" - watchdog_image = "gcr.io/o1labs-192920/watchdog:0.4.13" + watchdog_image = "gcr.io/o1labs-192920/watchdog:0.4.3" use_embedded_runtime_config = true archive_node_count = 3 diff --git a/buildkite/scripts/connect-to-mainnet-on-compatible.sh b/buildkite/scripts/connect-to-mainnet-on-compatible.sh index 982e78923ff..c4a1b690f3d 100755 --- a/buildkite/scripts/connect-to-mainnet-on-compatible.sh +++ b/buildkite/scripts/connect-to-mainnet-on-compatible.sh @@ -2,14 +2,10 @@ set -eo pipefail -case "$BUILDKITE_PULL_REQUEST_BASE_BRANCH" in - compatible|release/*) - ;; - *) - echo "Not pulling against compatible or not in release branch. Therefore, not running the connect test" - exit 0 - ;; -esac +if [ ! "$BUILDKITE_PULL_REQUEST_BASE_BRANCH" = "compatible" ]; then + echo "Not pulling against compatible, not running the connect test" + exit 0 +fi # Don't prompt for answers during apt-get install export DEBIAN_FRONTEND=noninteractive @@ -36,7 +32,6 @@ mina daemon \ --peer-list-url "https://storage.googleapis.com/seed-lists/${TESTNET_NAME}_seeds.txt" \ & # -background - # Attempt to connect to the GraphQL client every 10s for up to 4 minutes num_status_retries=24 for ((i=1;i<=$num_status_retries;i++)); do diff --git a/buildkite/scripts/finish-coverage-data-upload.sh b/buildkite/scripts/finish-coverage-data-upload.sh deleted file mode 100755 index 2552b3009e3..00000000000 --- a/buildkite/scripts/finish-coverage-data-upload.sh +++ /dev/null @@ -1,3 +0,0 @@ -curl -k https://coveralls.io/webhook?repo_token=$COVERALLS_TOKEN -d "payload[build_num]=$BUILDKITE_BUILD_NUMBER&payload[status]=done" - -curl --location --request POST "https://coveralls.io/rerun_build?repo_token=$COVERALLS_TOKEN&build_num=$BUILDKITE_BUILD_NUMBER" \ No newline at end of file diff --git a/buildkite/scripts/fuzzy-zkapp-test.sh b/buildkite/scripts/fuzzy-zkapp-test.sh index e4a29419b5d..99c098d04bb 100755 --- a/buildkite/scripts/fuzzy-zkapp-test.sh +++ b/buildkite/scripts/fuzzy-zkapp-test.sh @@ -12,17 +12,20 @@ path=$2 timeout=$3 individual_test_timeout=$4 -source ~/.profile +if [ "$NIGHTLY" = true ] +then + source ~/.profile -echo "--- Make build" -export LIBP2P_NIXLESS=1 PATH=/usr/lib/go/bin:$PATH GO=/usr/lib/go/bin/go + echo "--- Make build" + export LIBP2P_NIXLESS=1 PATH=/usr/lib/go/bin:$PATH GO=/usr/lib/go/bin/go -# Note: By attempting a re-run on failure here, we can avoid rebuilding and -# skip running all of the tests that have already succeeded, since dune will -# only retry those tests that failed. -echo "--- Run fuzzy zkapp tests" -time dune exec "${path}" --profile="${profile}" -j16 -- --timeout "${timeout}" --individual-test-timeout "${individual_test_timeout}" --seed "${RANDOM}" || \ -(./scripts/link-coredumps.sh && \ - echo "--- Retrying failed unit tests" && \ + # Note: By attempting a re-run on failure here, we can avoid rebuilding and + # skip running all of the tests that have already succeeded, since dune will + # only retry those tests that failed. + echo "--- Run fuzzy zkapp tests" time dune exec "${path}" --profile="${profile}" -j16 -- --timeout "${timeout}" --individual-test-timeout "${individual_test_timeout}" --seed "${RANDOM}" || \ - (./scripts/link-coredumps.sh && false)) \ No newline at end of file + (./scripts/link-coredumps.sh && \ + echo "--- Retrying failed unit tests" && \ + time dune exec "${path}" --profile="${profile}" -j16 -- --timeout "${timeout}" --individual-test-timeout "${individual_test_timeout}" --seed "${RANDOM}" || \ + (./scripts/link-coredumps.sh && false)) +fi diff --git a/buildkite/scripts/run-snark-transaction-profiler.sh b/buildkite/scripts/run-snark-transaction-profiler.sh deleted file mode 100755 index 31d7bd8777a..00000000000 --- a/buildkite/scripts/run-snark-transaction-profiler.sh +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/bash - -set -eo pipefail - -# Don't prompt for answers during apt-get install -export DEBIAN_FRONTEND=noninteractive - -apt-get update -apt-get install -y git apt-transport-https ca-certificates tzdata curl python3 - -case "$BUILDKITE_PULL_REQUEST_BASE_BRANCH" in - rampup|berkeley|release/2.0.0|develop) - TESTNET_NAME="berkeley" - ;; - *) - TESTNET_NAME="mainnet" -esac - -git config --global --add safe.directory /workdir - -source buildkite/scripts/export-git-env-vars.sh - -echo "Installing mina daemon package: mina-${TESTNET_NAME}=${MINA_DEB_VERSION}" -echo "deb [trusted=yes] http://packages.o1test.net $MINA_DEB_CODENAME $MINA_DEB_RELEASE" | tee /etc/apt/sources.list.d/mina.list -apt-get update -apt-get install --allow-downgrades -y "mina-${TESTNET_NAME}=${MINA_DEB_VERSION}" - -K=1 -MAX_NUM_UPDATES=4 -MIN_NUM_UPDATES=2 - -echo "--- Run Snark Transaction Profiler with parameters: --zkapps --k ${K} --max-num-updates ${MAX_NUM_UPDATES} --min-num-updates ${MIN_NUM_UPDATES}" -python3 ./scripts/snark_transaction_profiler.py ${K} ${MAX_NUM_UPDATES} ${MIN_NUM_UPDATES} \ No newline at end of file diff --git a/buildkite/scripts/test-snarkyjs-bindings-minimal.sh b/buildkite/scripts/test-snarkyjs-bindings-minimal.sh deleted file mode 100755 index 784b7847bad..00000000000 --- a/buildkite/scripts/test-snarkyjs-bindings-minimal.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash - -export NODE_OPTIONS="--enable-source-maps --stack-trace-limit=1000" - -set -eo pipefail -source ~/.profile - -echo "Node version:" -node --version - -echo "Build SnarkyJS (w/o TS)..." -make snarkyjs_no_types - -echo "Run bare minimum SnarkyJS tests..." -cd src/lib/snarkyjs -./run-minimal-mina-tests.sh diff --git a/buildkite/scripts/upload-partial-coverage-data.sh b/buildkite/scripts/upload-partial-coverage-data.sh deleted file mode 100755 index 3331e60121f..00000000000 --- a/buildkite/scripts/upload-partial-coverage-data.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/bash - -TEST_NAME=$1 -PROFILE=$2 - -echo "--- Checking for coverage artifacts" - -if test -n "$(find -name '*.coverage' -print -quit)" -then - echo "--- Creating coverage report" - - if [[ "$PROFILE" == "dev" ]]; then - echo "--- Dev environment detected... using opam to run bisect-ppx-report" - - opam exec -- bisect-ppx-report coveralls --git --service-name buildkite --service-job-id $BUILDKITE_BUILD_NUMBER \ - --coverage-path . --parallel --repo-token=$COVERALLS_TOKEN coverage.json - else - echo "--- Release environment detected... downloading bisect-ppx-report" - curl -0 https://unpkg.com/bisect_ppx@2.7.1/bin/linux/bisect-ppx-report > bisect-ppx-report - chmod +x ./bisect-ppx-report - ./bisect-ppx-report coveralls --git --service-name buildkite --service-job-id $BUILDKITE_BUILD_NUMBER \ - --coverage-path . --parallel --repo-token=$COVERALLS_TOKEN coverage.json --ignore-missing-files - fi - - echo "--- Updating coverage report context with branch an unique flag name" - - jq '.git.branch = "'$BUILDKITE_BRANCH'"' coverage.json > tmp.json && mv tmp.json coverage.json - jq '.flag_name = "'$TEST_NAME'"' coverage.json > tmp.json && mv tmp.json coverage.json - - echo "--- Sending coverage report to coveralls" - - curl -X POST https://coveralls.io/api/v1/jobs -F 'json_file=@coverage.json' -else - echo "--- Skipping coverage step as no *.coverage files found" -fi - diff --git a/buildkite/scripts/zkapps-examples-unit-tests.sh b/buildkite/scripts/zkapps-examples-unit-tests.sh deleted file mode 100755 index 2ffd66f8b0f..00000000000 --- a/buildkite/scripts/zkapps-examples-unit-tests.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash - -set -eo pipefail - -if [[ $# -ne 1 ]]; then - echo "Usage: $0 " - exit 1 -fi - -profile=$1 - -if [ "$NIGHTLY" = true ] -then - source ~/.profile - - echo "--- Building zkapps_examples" - time dune build --profile=$profile src/app/zkapps_examples - - echo "--- Testing zkapps_examples" - time dune runtest --profile=$profile src/app/zkapps_examples -fi diff --git a/buildkite/src/Command/TestExecutive.dhall b/buildkite/src/Command/TestExecutive.dhall index 2f9b3e14092..6d72b6e3a7a 100644 --- a/buildkite/src/Command/TestExecutive.dhall +++ b/buildkite/src/Command/TestExecutive.dhall @@ -72,7 +72,7 @@ in ], label = "Build JS integration tests", key = "build-js-tests", - target = Size.XLarge, + target = Size.Integration, `if` = Some "build.branch != 'develop' && build.branch != 'compatible' && build.branch != 'develop-next'" }, diff --git a/buildkite/src/Constants/ContainerImages.dhall b/buildkite/src/Constants/ContainerImages.dhall index 8b9c5c2d691..a171c3d2826 100644 --- a/buildkite/src/Constants/ContainerImages.dhall +++ b/buildkite/src/Constants/ContainerImages.dhall @@ -8,7 +8,7 @@ minaToolchainBullseye = "gcr.io/o1labs-192920/mina-toolchain@sha256:1e2feaebd47c330e990fe3c4e0681d16ad42bfa642937c4c5142793da06c890b", minaToolchainBookworm = "gcr.io/o1labs-192920/mina-toolchain@sha256:1e2feaebd47c330e990fe3c4e0681d16ad42bfa642937c4c5142793da06c890b", minaToolchain = "gcr.io/o1labs-192920/mina-toolchain@sha256:1e2feaebd47c330e990fe3c4e0681d16ad42bfa642937c4c5142793da06c890b", - delegationBackendToolchain = "gcr.io/o1labs-192920/delegation-backend-production@sha256:12ffd0a9016819c720687f440c7a46b8815f8d3ad06d306d342ee5f8dd4375f5", + delegationBackendToolchain = "gcr.io/o1labs-192920/delegation-backend-production@sha256:8ca5880845514ef56a36bf766a0f9de96e6200d61b51f80d9f684a0ec9c031f4", elixirToolchain = "elixir:1.10-alpine", nodeToolchain = "node:14.13.1-stretch-slim", ubuntu2004 = "ubuntu:20.04", diff --git a/buildkite/src/Jobs/Lint/Fast.dhall b/buildkite/src/Jobs/Lint/Fast.dhall index 7c4649f975b..48644171799 100644 --- a/buildkite/src/Jobs/Lint/Fast.dhall +++ b/buildkite/src/Jobs/Lint/Fast.dhall @@ -29,12 +29,8 @@ in Pipeline.build Pipeline.Config::{ spec = JobSpec::{ , dirtyWhen = [ - S.strictly (S.contains "Makefile"), S.strictlyStart (S.contains "src/"), - S.strictlyStart (S.contains "rfcs/"), - S.exactly "scripts/compare_ci_diff_types" "sh", - S.exactly "scripts/compare_ci_diff_binables" "sh", - S.exactly "scripts/check-snarky-submodule" "sh" + S.strictlyStart (S.contains "rfcs/") ] , path = "Lint" , name = "Fast" @@ -44,7 +40,7 @@ in Pipeline.build Command.Config::{ , commands = commands , label = - "Fast lint steps; CODEOWNERs, RFCs, Check Snarky & Proof-Systems submodules, Preprocessor Deps" + "Fast lint steps; CODEOWNERs, RFCs, Check Snarky Submodule, Preprocessor Deps" , key = "lint" , target = Size.Small , docker = Some Docker::{ diff --git a/buildkite/src/Jobs/Lint/Merge.dhall b/buildkite/src/Jobs/Lint/Merge.dhall index f6d06707e46..3f86097e45d 100644 --- a/buildkite/src/Jobs/Lint/Merge.dhall +++ b/buildkite/src/Jobs/Lint/Merge.dhall @@ -43,60 +43,6 @@ Pipeline.build , docker = Some Docker::{ image = (../../Constants/ContainerImages.dhall).toolchainBase } - }, - Command.build - Command.Config::{ - commands = [ Cmd.run "buildkite/scripts/merges-cleanly.sh berkeley"] - , label = "Check merges cleanly into berkeley" - , key = "clean-merge-berkeley" - , target = Size.Small - , docker = Some Docker::{ - image = (../../Constants/ContainerImages.dhall).toolchainBase - } - }, - Command.build - Command.Config::{ - commands = [ Cmd.run "scripts/merged-to-proof-systems.sh compatible"] - , label = "[proof-systems] Check merges cleanly into proof-systems compatible branch" - , key = "merged-to-proof-systems-compatible" - , soft_fail = Some (B/SoftFail.Boolean True) - , target = Size.Small - , docker = Some Docker::{ - image = (../../Constants/ContainerImages.dhall).toolchainBase - } - }, - Command.build - Command.Config::{ - commands = [ Cmd.run "scripts/merged-to-proof-systems.sh berkeley"] - , label = "[proof-systems] Check merges cleanly into proof-systems berkeley branch" - , key = "merged-to-proof-systems-berkeley" - , soft_fail = Some (B/SoftFail.Boolean True) - , target = Size.Small - , docker = Some Docker::{ - image = (../../Constants/ContainerImages.dhall).toolchainBase - } - }, - Command.build - Command.Config::{ - commands = [ Cmd.run "scripts/merged-to-proof-systems.sh develop"] - , label = "[proof-systems] Check merges cleanly into proof-systems develop branch" - , key = "merged-to-proof-systems-develop" - , soft_fail = Some (B/SoftFail.Boolean True) - , target = Size.Small - , docker = Some Docker::{ - image = (../../Constants/ContainerImages.dhall).toolchainBase - } - }, - Command.build - Command.Config::{ - commands = [ Cmd.run "scripts/merged-to-proof-systems.sh master"] - , label = "[proof-systems] Check merges cleanly into proof-systems master branch" - , key = "merged-to-proof-systems-master" - , soft_fail = Some (B/SoftFail.Boolean True) - , target = Size.Small - , docker = Some Docker::{ - image = (../../Constants/ContainerImages.dhall).toolchainBase - } } ] } diff --git a/buildkite/src/Jobs/Release/MinaToolchainArtifact.dhall b/buildkite/src/Jobs/Release/MinaToolchainArtifact.dhall index 3780943bb12..a71908a784d 100644 --- a/buildkite/src/Jobs/Release/MinaToolchainArtifact.dhall +++ b/buildkite/src/Jobs/Release/MinaToolchainArtifact.dhall @@ -57,4 +57,5 @@ Pipeline.build DockerImage.generateStep toolchainBusterSpec ] - } \ No newline at end of file + } + diff --git a/buildkite/src/Jobs/Test/ArchiveNodeUnitTest.dhall b/buildkite/src/Jobs/Test/ArchiveNodeUnitTest.dhall index e92cf6be77b..bba4e79fe69 100644 --- a/buildkite/src/Jobs/Test/ArchiveNodeUnitTest.dhall +++ b/buildkite/src/Jobs/Test/ArchiveNodeUnitTest.dhall @@ -13,7 +13,6 @@ in let user = "admin" let password = "codarules" let db = "archiver" -let command_key = "archive-unit-tests" in Pipeline.build @@ -40,16 +39,14 @@ Pipeline.build , "POSTGRES_USER=${user}" , "POSTGRES_DB=${db}" , "GO=/usr/lib/go/bin/go" - , "DUNE_INSTRUMENT_WITH=bisect_ppx" - , "COVERALLS_TOKEN" ] (Prelude.Text.concatSep " && " [ "bash buildkite/scripts/setup-database-for-archive-node.sh ${user} ${password} ${db}" , "PGPASSWORD=${password} psql -h localhost -p 5432 -U ${user} -d ${db} -a -f src/app/archive/create_schema.sql" - , WithCargo.withCargo "eval \\\$(opam config env) && dune runtest src/app/archive && buildkite/scripts/upload-partial-coverage-data.sh ${command_key} dev" + , WithCargo.withCargo "eval \\\$(opam config env) && dune runtest src/app/archive" ]) , label = "Archive node unit tests" - , key = command_key + , key = "archive-unit-tests" , target = Size.Large , docker = None Docker.Type , artifact_paths = [ S.contains "test_output/artifacts/*" ] diff --git a/buildkite/src/Jobs/Test/DaemonUnitTest.dhall b/buildkite/src/Jobs/Test/DaemonUnitTest.dhall index 7b769901aa7..8e234daed36 100644 --- a/buildkite/src/Jobs/Test/DaemonUnitTest.dhall +++ b/buildkite/src/Jobs/Test/DaemonUnitTest.dhall @@ -13,13 +13,11 @@ let Docker = ../../Command/Docker/Type.dhall let Size = ../../Command/Size.dhall let buildTestCmd : Text -> Text -> Size -> Command.Type = \(profile : Text) -> \(path : Text) -> \(cmd_target : Size) -> - let command_key = "unit-test-${profile}" - in Command.build Command.Config::{ - commands = RunInToolchain.runInToolchain ["DUNE_INSTRUMENT_WITH=bisect_ppx", "COVERALLS_TOKEN"] "buildkite/scripts/unit-test.sh ${profile} ${path} && buildkite/scripts/upload-partial-coverage-data.sh ${command_key} dev", + commands = RunInToolchain.runInToolchain ([] : List Text) "buildkite/scripts/unit-test.sh ${profile} ${path}", label = "${profile} unit-tests", - key = command_key, + key = "unit-test-${profile}", target = cmd_target, docker = None Docker.Type, artifact_paths = [ S.contains "core_dumps/*" ] diff --git a/buildkite/src/Jobs/Test/DelegationBackendUnitTest.dhall b/buildkite/src/Jobs/Test/DelegationBackendUnitTest.dhall index f0b8e42f78e..03e9d4293aa 100644 --- a/buildkite/src/Jobs/Test/DelegationBackendUnitTest.dhall +++ b/buildkite/src/Jobs/Test/DelegationBackendUnitTest.dhall @@ -28,7 +28,7 @@ Pipeline.build Command.build Command.Config::{ commands = [ - Cmd.runInDocker Cmd.Docker::{image = ContainerImages.delegationBackendToolchain} "cd src/app/delegation_backend && mkdir -p result && cp -R /headers result && cd src/delegation_backend && go test" + Cmd.runInDocker Cmd.Docker::{image = ContainerImages.delegationBackendToolchain} "cd src/app/delegation_backend && mkdir -p result && cp -R /headers result && cd src && go test" ], label = "delegation backend unit-tests", key = "delegation-backend-unit-tests", diff --git a/buildkite/src/Jobs/Test/FuzzyZkappTest.dhall b/buildkite/src/Jobs/Test/FuzzyZkappTest.dhall index 62ea69f2724..88d52d339dc 100644 --- a/buildkite/src/Jobs/Test/FuzzyZkappTest.dhall +++ b/buildkite/src/Jobs/Test/FuzzyZkappTest.dhall @@ -5,7 +5,6 @@ let S = ../../Lib/SelectFiles.dhall let D = S.PathPattern let Pipeline = ../../Pipeline/Dsl.dhall -let PipelineMode = ../../Pipeline/Mode.dhall let JobSpec = ../../Pipeline/JobSpec.dhall let Command = ../../Command/Base.dhall @@ -13,16 +12,15 @@ let RunInToolchain = ../../Command/RunInToolchain.dhall let Docker = ../../Command/Docker/Type.dhall let Size = ../../Command/Size.dhall -let buildTestCmd : Text -> Text -> Natural -> Natural -> Size -> Command.Type = \(profile : Text) -> \(path : Text) -> \(timeout : Natural) -> \(individual_test_timeout : Natural) -> \(cmd_target : Size) -> +let buildTestCmd : Text -> Text -> Natural -> Natural -> Size -> Command.Type = \(profile : Text) -> \(path : Text) -> \(timeout : Natural) -> \(individual_test_timeout : Natural) -> \(cmd_target : Size) -> let timeout = Natural/show timeout in let individual_test_timeout = Natural/show individual_test_timeout in - let key = "fuzzy-zkapp-unit-test-${profile}" in Command.build Command.Config::{ - commands = RunInToolchain.runInToolchain ["DUNE_INSTRUMENT_WITH=bisect_ppx", "COVERALLS_TOKEN"] - "buildkite/scripts/fuzzy-zkapp-test.sh ${profile} ${path} ${timeout} ${individual_test_timeout} && buildkite/scripts/upload-partial-coverage-data.sh ${key} dev", + commands = RunInToolchain.runInToolchain ([] : List Text) + "buildkite/scripts/fuzzy-zkapp-test.sh ${profile} ${path} ${timeout} ${individual_test_timeout}", label = "Fuzzy zkapp unit tests", - key = key, + key = "fuzzy-zkapp-unit-test-${profile}", target = cmd_target, docker = None Docker.Type, artifact_paths = [ S.contains "core_dumps/*" ] @@ -45,10 +43,9 @@ Pipeline.build JobSpec::{ dirtyWhen = unitDirtyWhen, path = "Test", - name = "FuzzyZkappTest", - mode = PipelineMode.Type.Stable + name = "FuzzyZkappTest" }, steps = [ - buildTestCmd "dev" "src/lib/transaction_snark/test/zkapp_fuzzy/zkapp_fuzzy.exe" 3600 150 Size.Small + buildTestCmd "dev" "src/lib/transaction_snark/test/zkapp_fuzzy/zkapp_fuzzy.exe" 3600 120 Size.Small ] } diff --git a/buildkite/src/Jobs/Test/RosettaUnitTest.dhall b/buildkite/src/Jobs/Test/RosettaUnitTest.dhall index 7e802917eff..f07a187f3d4 100644 --- a/buildkite/src/Jobs/Test/RosettaUnitTest.dhall +++ b/buildkite/src/Jobs/Test/RosettaUnitTest.dhall @@ -13,12 +13,11 @@ let Docker = ../../Command/Docker/Type.dhall let Size = ../../Command/Size.dhall let buildTestCmd : Text -> Text -> Size -> Command.Type = \(profile : Text) -> \(path : Text) -> \(cmd_target : Size) -> - let key = "rosetta-unit-test-${profile}" in Command.build Command.Config::{ - commands = RunInToolchain.runInToolchain ["DUNE_INSTRUMENT_WITH=bisect_ppx", "COVERALLS_TOKEN"] "buildkite/scripts/unit-test.sh ${profile} ${path} && buildkite/scripts/upload-partial-coverage-data.sh ${key} dev", + commands = RunInToolchain.runInToolchain ([] : List Text) "buildkite/scripts/unit-test.sh ${profile} ${path}", label = "Rosetta unit tests", - key = key, + key = "rosetta-unit-test-${profile}", target = cmd_target, docker = None Docker.Type, artifact_paths = [ S.contains "core_dumps/*" ] diff --git a/buildkite/src/Jobs/Test/RunSnarkProfiler.dhall b/buildkite/src/Jobs/Test/RunSnarkProfiler.dhall deleted file mode 100644 index dee246854be..00000000000 --- a/buildkite/src/Jobs/Test/RunSnarkProfiler.dhall +++ /dev/null @@ -1,62 +0,0 @@ -let Prelude = ../../External/Prelude.dhall - -let Cmd = ../../Lib/Cmds.dhall -let S = ../../Lib/SelectFiles.dhall -let D = S.PathPattern - -let Pipeline = ../../Pipeline/Dsl.dhall -let JobSpec = ../../Pipeline/JobSpec.dhall - -let Command = ../../Command/Base.dhall -let RunInToolchain = ../../Command/RunInToolchain.dhall -let Docker = ../../Command/Docker/Type.dhall -let Size = ../../Command/Size.dhall - - -let dependsOn = [ - { name = "MinaArtifactBullseye", key = "build-deb-pkg" } -] - -in - -let buildTestCmd : Size -> List Command.TaggedKey.Type -> Command.Type = \(cmd_target : Size) -> \(dependsOn : List Command.TaggedKey.Type) -> - Command.build - Command.Config::{ - commands = [ - Cmd.runInDocker - Cmd.Docker::{ - image = (../../Constants/ContainerImages.dhall).ubuntu2004 - } - "buildkite/scripts/run-snark-transaction-profiler.sh" - ], - label = "Snark Transaction Profiler", - key = "snark-transaction-profiler", - target = cmd_target, - docker = None Docker.Type, - artifact_paths = [ S.contains "core_dumps/*" ], - depends_on = dependsOn - } - -in - -Pipeline.build - Pipeline.Config::{ - spec = - let lintDirtyWhen = [ - S.strictlyStart (S.contains "src/lib"), - S.exactly "buildkite/src/Jobs/Test/RunSnarkProfiler" "dhall", - S.exactly "buildkite/scripts/run-snark-transaction-profiler" "sh", - S.exactly "scripts/snark_transaction_profiler" "py" - ] - - in - - JobSpec::{ - dirtyWhen = lintDirtyWhen, - path = "Test", - name = "RunSnarkProfiler" - }, - steps = [ - buildTestCmd Size.Small dependsOn - ] - } diff --git a/buildkite/src/Jobs/Test/SingleNodeTest.dhall b/buildkite/src/Jobs/Test/SingleNodeTest.dhall index 06ed548a2f3..b35f321eae2 100644 --- a/buildkite/src/Jobs/Test/SingleNodeTest.dhall +++ b/buildkite/src/Jobs/Test/SingleNodeTest.dhall @@ -28,12 +28,11 @@ let Docker = ../../Command/Docker/Type.dhall let Size = ../../Command/Size.dhall let buildTestCmd : Text -> Text -> Size -> Command.Type = \(profile : Text) -> \(path : Text) -> \(cmd_target : Size) -> - let key = "single-node-tests-${profile}" in Command.build Command.Config::{ - commands = RunInToolchain.runInToolchain ["DUNE_INSTRUMENT_WITH=bisect_ppx", "COVERALLS_TOKEN"] "buildkite/scripts/single-node-tests.sh ${path} && buildkite/scripts/upload-partial-coverage-data.sh ${key} dev", + commands = RunInToolchain.runInToolchain ([] : List Text) "buildkite/scripts/single-node-tests.sh ${path}", label = "${profile} single-node-tests", - key = key, + key = "single-node-tests", target = cmd_target, docker = None Docker.Type } diff --git a/buildkite/src/Jobs/Test/SnarkyJSTest.dhall b/buildkite/src/Jobs/Test/SnarkyJSTest.dhall index d5054981a12..18defb8f450 100644 --- a/buildkite/src/Jobs/Test/SnarkyJSTest.dhall +++ b/buildkite/src/Jobs/Test/SnarkyJSTest.dhall @@ -11,7 +11,6 @@ let Size = ../../Command/Size.dhall let B/SoftFail = B.definitions/commandStep/properties/soft_fail/Type -let key = "snarkyjs-bindings-test" in Pipeline.build @@ -21,7 +20,7 @@ Pipeline.build dirtyWhen = [ S.strictlyStart (S.contains "buildkite/src/Jobs/Test/SnarkyJSTest"), S.strictlyStart (S.contains "buildkite/scripts/test-snarkyjs-bindings.sh"), - S.strictlyStart (S.contains "src/lib") + S.strictlyStart (S.contains "src") ], path = "Test", name = "SnarkyJSTest" @@ -29,20 +28,12 @@ Pipeline.build steps = [ Command.build Command.Config::{ - commands = RunInToolchain.runInToolchainBuster ["DUNE_INSTRUMENT_WITH=bisect_ppx", "COVERALLS_TOKEN"] "buildkite/scripts/test-snarkyjs-bindings.sh && buildkite/scripts/upload-partial-coverage-data.sh ${key} dev" + commands = RunInToolchain.runInToolchainBuster ([] : List Text) "buildkite/scripts/test-snarkyjs-bindings.sh" , label = "SnarkyJS unit tests" - , key = key + , key = "snarkyjs-bindings-test" , target = Size.XLarge , docker = None Docker.Type , soft_fail = Some (B/SoftFail.Boolean True) - }, - Command.build - Command.Config::{ - commands = RunInToolchain.runInToolchainBuster ([] : List Text) "buildkite/scripts/test-snarkyjs-bindings-minimal.sh" - , label = "SnarkyJS minimal tests" - , key = "snarkyjs-minimal-test" - , target = Size.XLarge - , docker = None Docker.Type } ] } diff --git a/buildkite/src/Jobs/Test/TestnetIntegrationTestsLong.dhall b/buildkite/src/Jobs/Test/TestnetIntegrationTestsLong.dhall deleted file mode 100644 index feef489902b..00000000000 --- a/buildkite/src/Jobs/Test/TestnetIntegrationTestsLong.dhall +++ /dev/null @@ -1,32 +0,0 @@ -let S = ../../Lib/SelectFiles.dhall - -let JobSpec = ../../Pipeline/JobSpec.dhall -let Pipeline = ../../Pipeline/Dsl.dhall -let PipelineMode = ../../Pipeline/Mode.dhall -let TestExecutive = ../../Command/TestExecutive.dhall - -let dependsOn = [ - { name = "TestnetIntegrationTests", key = "build-test-executive" }, - { name = "MinaArtifactBullseye", key = "daemon-berkeley-bullseye-docker-image" }, - { name = "MinaArtifactBullseye", key = "archive-bullseye-docker-image" } -] - -in Pipeline.build Pipeline.Config::{ - spec = - JobSpec::{ - dirtyWhen = [ - S.strictlyStart (S.contains "src"), - S.strictlyStart (S.contains "dockerfiles"), - S.strictlyStart (S.contains "buildkite/src/Jobs/Test/TestnetIntegrationTest"), - S.strictlyStart (S.contains "buildkite/src/Jobs/Command/TestExecutive"), - S.strictlyStart (S.contains "automation/terraform/modules/o1-integration"), - S.strictlyStart (S.contains "automation/terraform/modules/kubernetes/testnet") - ], - path = "Test", - name = "TestnetIntegrationTestsLong", - mode = PipelineMode.Type.Stable - }, - steps = [ - TestExecutive.execute "hard-fork" dependsOn - ] -} diff --git a/buildkite/src/Jobs/Test/ZkappTestToolUnitTest.dhall b/buildkite/src/Jobs/Test/ZkappTestToolUnitTest.dhall index 45b00d8c2b5..1ebd4f343f8 100644 --- a/buildkite/src/Jobs/Test/ZkappTestToolUnitTest.dhall +++ b/buildkite/src/Jobs/Test/ZkappTestToolUnitTest.dhall @@ -13,12 +13,11 @@ let Docker = ../../Command/Docker/Type.dhall let Size = ../../Command/Size.dhall let buildTestCmd : Text -> Text -> Size -> Command.Type = \(profile : Text) -> \(path : Text) -> \(cmd_target : Size) -> - let key = "zkapp-tool-unit-test-${profile}" in Command.build Command.Config::{ - commands = RunInToolchain.runInToolchain ["DUNE_INSTRUMENT_WITH=bisect_ppx", "COVERALLS_TOKEN"] "buildkite/scripts/unit-test.sh ${profile} ${path} && buildkite/scripts/upload-partial-coverage-data.sh ${key} dev", + commands = RunInToolchain.runInToolchain ([] : List Text) "buildkite/scripts/unit-test.sh ${profile} ${path}", label = "Zkapps test transaction tool unit tests", - key = key, + key = "zkapp-tool-unit-test-${profile}", target = cmd_target, docker = None Docker.Type, artifact_paths = [ S.contains "core_dumps/*" ] diff --git a/buildkite/src/Jobs/Test/ZkappsExamplesTest.dhall b/buildkite/src/Jobs/Test/ZkappsExamplesTest.dhall deleted file mode 100644 index 0fcdc592d98..00000000000 --- a/buildkite/src/Jobs/Test/ZkappsExamplesTest.dhall +++ /dev/null @@ -1,51 +0,0 @@ -let Prelude = ../../External/Prelude.dhall - -let Cmd = ../../Lib/Cmds.dhall -let S = ../../Lib/SelectFiles.dhall -let D = S.PathPattern - -let Pipeline = ../../Pipeline/Dsl.dhall -let JobSpec = ../../Pipeline/JobSpec.dhall - -let Command = ../../Command/Base.dhall -let RunInToolchain = ../../Command/RunInToolchain.dhall -let Docker = ../../Command/Docker/Type.dhall -let Size = ../../Command/Size.dhall - -let buildTestCmd : Text -> Size -> Command.Type = \(profile : Text) -> \(cmd_target : Size) -> - let command_key = "zkapps-examples-unit-test-${profile}" - in - Command.build - Command.Config::{ - commands = RunInToolchain.runInToolchain ["DUNE_INSTRUMENT_WITH=bisect_ppx", "COVERALLS_TOKEN"] "buildkite/scripts/zkapps-examples-unit-tests.sh ${profile} && buildkite/scripts/upload-partial-coverage-data.sh ${command_key} dev", - label = "${profile} zkApps examples tests", - key = command_key, - target = cmd_target, - docker = None Docker.Type, - artifact_paths = [ S.contains "core_dumps/*" ] - } - -in - -Pipeline.build - Pipeline.Config::{ - spec = - let unitDirtyWhen = [ - S.strictlyStart (S.contains "src/app/zkapps_examples"), - S.strictlyStart (S.contains "src/lib"), - S.exactly "buildkite/src/Jobs/Test/DaemonUnitTest" "dhall", - S.exactly "scripts/link-coredumps" "sh", - S.exactly "buildkite/scripts/zkapps-examples-unit-tests" "sh" - ] - - in - - JobSpec::{ - dirtyWhen = unitDirtyWhen, - path = "Test", - name = "ZkappsExamplesTest" - }, - steps = [ - buildTestCmd "dev" Size.XLarge - ] - } diff --git a/buildkite/src/Monorepo.dhall b/buildkite/src/Monorepo.dhall index f21d3fdf1c1..98afa43982c 100644 --- a/buildkite/src/Monorepo.dhall +++ b/buildkite/src/Monorepo.dhall @@ -23,7 +23,7 @@ let jobs : List JobSpec.Type = let makeCommand : JobSpec.Type -> Cmd.Type = \(job : JobSpec.Type) -> let dirtyWhen = SelectFiles.compile job.dirtyWhen let trigger = triggerCommand "src/Jobs/${job.path}/${job.name}.dhall" - let pipelineType : PipelineMode.Type = env:BUILDKITE_PIPELINE_MODE ? job.mode + let pipelineType : PipelineMode = env:BUILDKITE_PIPELINE_MODE ? PipelineMode.PullRequest let pipelineHandlers = { PullRequest = '' if cat _computed_diff.txt | egrep -q '${dirtyWhen}'; then diff --git a/buildkite/src/Pipeline/JobSpec.dhall b/buildkite/src/Pipeline/JobSpec.dhall index acd38f1e6ad..c75739832c9 100644 --- a/buildkite/src/Pipeline/JobSpec.dhall +++ b/buildkite/src/Pipeline/JobSpec.dhall @@ -1,6 +1,4 @@ let SelectFiles = ../Lib/SelectFiles.dhall -let PipelineMode = ./Mode.dhall - in -- Defines info used for selecting a job to run @@ -9,11 +7,9 @@ in Type = { path: Text, name: Text, - mode: PipelineMode.Type, dirtyWhen: List SelectFiles.Type }, default = { - path = ".", - mode = PipelineMode.Type.PullRequest + path = "." } } diff --git a/buildkite/src/Pipeline/Mode.dhall b/buildkite/src/Pipeline/Mode.dhall index 1a87c703f50..9a0deda9dcf 100644 --- a/buildkite/src/Pipeline/Mode.dhall +++ b/buildkite/src/Pipeline/Mode.dhall @@ -1,20 +1 @@ --- Mode defines pipeline goal --- --- Goal of the pipeline can be either quick feedback for CI changes --- or Nightly run which supposed to be run only on stable changes. - -let Prelude = ../External/Prelude.dhall - -let Mode = < PullRequest | Stable > - -let capitalName = \(pipelineMode : Mode) -> - merge { - PullRequest = "PullRequest" - , Stable = "Stable" - } pipelineMode - -in -{ - Type = Mode, - capitalName = capitalName -} \ No newline at end of file + diff --git a/dockerfiles/Dockerfile-delegation-backend b/dockerfiles/Dockerfile-delegation-backend index aa02181f6ef..0ce6fd55a2b 100644 --- a/dockerfiles/Dockerfile-delegation-backend +++ b/dockerfiles/Dockerfile-delegation-backend @@ -1,11 +1,11 @@ -FROM golang:1.18 +FROM golang:1.16 # Set the Current Working Directory inside the container WORKDIR $GOPATH/src/delegation_backend # Copy everything from the current directory to the PWD (Present Working Directory) inside the container COPY src src -COPY result/headers src/delegation_backend +COPY result/headers src # Download all the dependencies RUN cd src && go get -d -v ./... diff --git a/dockerfiles/Dockerfile-delegation-backend-toolchain b/dockerfiles/Dockerfile-delegation-backend-toolchain index 875c9438c0b..5f55f4fa5cd 100644 --- a/dockerfiles/Dockerfile-delegation-backend-toolchain +++ b/dockerfiles/Dockerfile-delegation-backend-toolchain @@ -1,4 +1,4 @@ -FROM golang:1.18 +FROM golang:1.16 COPY result/headers /headers COPY result/libmina_signer.so /lib/x86_64-linux-gnu diff --git a/dockerfiles/puppeteer-context/mina_daemon_puppeteer.py b/dockerfiles/puppeteer-context/mina_daemon_puppeteer.py index d382c144d66..a9df5abd825 100644 --- a/dockerfiles/puppeteer-context/mina_daemon_puppeteer.py +++ b/dockerfiles/puppeteer-context/mina_daemon_puppeteer.py @@ -89,8 +89,7 @@ def start_daemon(): mina_process = subprocess.Popen( ['mina'] + daemon_args, stdout=f, - stderr=subprocess.STDOUT, - cwd="/root/.mina-config" + stderr=subprocess.STDOUT ) log("touching /root/daemon-active" ) Path('daemon-active').touch() diff --git a/docs/README.md b/docs/README.md index e12901ca674..914a51084ec 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,5 +1,5 @@ -## Mina Protocol docs +## Docs -The docs for the Mina Protocol website are published on [docs.minaprotocol.com](https://docs.minaprotocol.com/). +This folder contains some of the docs for codaprotocol. -The docs repository is [https://github.com/o1-labs/docs2/)https://github.com/o1-labs/docs2/](https://github.com/o1-labs/docs2/)https://github.com/o1-labs/docs2/). +The docs that are available to view on [the website](https://docs.minaprotocol.com/) can be edited/viewed [here](https://github.com/MinaProtocol/docs) diff --git a/frontend/ci-build-me/src/index.js b/frontend/ci-build-me/src/index.js index bbbd2903de4..f6dc90e4b46 100644 --- a/frontend/ci-build-me/src/index.js +++ b/frontend/ci-build-me/src/index.js @@ -77,11 +77,10 @@ const handler = async (event, req) => { ) { // TODO #7711: Actually look at @MinaProtocol/stakeholder-reviewers team instead of hardcoding the users here if ( + req.body.sender.login == "es92" || req.body.sender.login == "aneesharaines" || req.body.sender.login == "bkase" || - req.body.sender.login == "deepthiskumar" || - req.body.sender.login == "mrmr1993" || - req.body.sender.login == "nholland94" + req.body.sender.login == "imeckler" ) { const prData = await getRequest(req.body.issue.pull_request.url); const buildkite = await runBuild( diff --git a/frontend/leaderboard/helm/templates/leaderboard-cron-job.yaml b/frontend/leaderboard/helm/templates/leaderboard-cron-job.yaml index 724a3b79802..fc185165c22 100644 --- a/frontend/leaderboard/helm/templates/leaderboard-cron-job.yaml +++ b/frontend/leaderboard/helm/templates/leaderboard-cron-job.yaml @@ -1,4 +1,4 @@ -apiVersion: batch/v1 +apiVersion: batch/v1beta1 kind: CronJob metadata: name: {{ .Values.leaderboard.name }} @@ -26,4 +26,4 @@ spec: - name: {{ .Values.volume.name }} mountPath: {{ .Values.volume.mountPath }} subPath: {{ .Values.volume.subPath }} - readOnly: true \ No newline at end of file + readOnly: true diff --git a/genesis_ledgers/berkeley.json b/genesis_ledgers/berkeley.json index 2aee5eb3f0a..28e78c3bd9b 100644 --- a/genesis_ledgers/berkeley.json +++ b/genesis_ledgers/berkeley.json @@ -1,6 +1,6 @@ { "genesis": { - "genesis_state_timestamp": "2023-09-13T13:01:01Z" + "genesis_state_timestamp": "2023-04-06T23:30:01Z" }, "ledger": { "name": "berkeley", @@ -18,9 +18,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -31,9 +31,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -44,9 +44,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -57,9 +57,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -70,9 +70,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -83,9 +83,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -96,9 +96,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -109,9 +109,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -122,9 +122,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -135,9 +135,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -148,9 +148,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -161,9 +161,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -174,9 +174,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -187,9 +187,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -200,9 +200,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -213,9 +213,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -226,9 +226,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -239,9 +239,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -252,9 +252,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -265,9 +265,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -278,9 +278,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -291,9 +291,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -304,9 +304,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -317,9 +317,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -330,9 +330,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -343,9 +343,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -356,9 +356,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -369,9 +369,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -382,9 +382,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -395,9 +395,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -408,9 +408,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -421,9 +421,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -434,9 +434,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -447,9 +447,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -460,9 +460,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -473,9 +473,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -486,9 +486,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -499,9 +499,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -512,9 +512,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -525,9 +525,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -538,9 +538,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -551,9 +551,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -564,9 +564,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -577,9 +577,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -590,9 +590,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -603,9 +603,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -616,9 +616,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -629,9 +629,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -642,9 +642,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -655,9 +655,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -668,9 +668,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -681,9 +681,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -694,9 +694,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -707,9 +707,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -720,9 +720,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -733,9 +733,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -746,9 +746,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -759,9 +759,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -772,9 +772,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -785,9 +785,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -798,9 +798,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -811,9 +811,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -824,9 +824,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -837,9 +837,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -850,9 +850,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -863,9 +863,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -876,9 +876,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -889,9 +889,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -902,9 +902,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -915,9 +915,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -928,9 +928,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -941,9 +941,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -954,9 +954,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -967,9 +967,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -980,9 +980,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -993,9 +993,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1006,9 +1006,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1019,9 +1019,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1032,9 +1032,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1045,9 +1045,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1058,9 +1058,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1071,9 +1071,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1084,9 +1084,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1097,9 +1097,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1110,9 +1110,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1123,9 +1123,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1136,9 +1136,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1149,9 +1149,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1162,9 +1162,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1175,9 +1175,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1188,9 +1188,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1201,9 +1201,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1214,9 +1214,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1227,9 +1227,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1240,9 +1240,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1253,9 +1253,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1266,9 +1266,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1279,9 +1279,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1292,9 +1292,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1305,9 +1305,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1318,9 +1318,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1331,9 +1331,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1344,9 +1344,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1357,9 +1357,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1370,9 +1370,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1383,9 +1383,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1396,9 +1396,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1409,9 +1409,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1422,9 +1422,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1435,9 +1435,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1448,9 +1448,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1461,9 +1461,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1474,9 +1474,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1487,9 +1487,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1500,9 +1500,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1513,9 +1513,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1526,9 +1526,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1539,9 +1539,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1552,9 +1552,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1565,9 +1565,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1578,9 +1578,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1591,9 +1591,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1604,9 +1604,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1617,9 +1617,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1630,9 +1630,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1643,9 +1643,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1656,9 +1656,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1669,9 +1669,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1682,9 +1682,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1695,9 +1695,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1708,9 +1708,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1721,9 +1721,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1734,9 +1734,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1747,9 +1747,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1760,9 +1760,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1773,9 +1773,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1786,9 +1786,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1799,9 +1799,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1812,9 +1812,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1825,9 +1825,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1838,9 +1838,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1851,9 +1851,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1864,9 +1864,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1877,9 +1877,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1890,9 +1890,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1903,9 +1903,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1916,9 +1916,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1929,9 +1929,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1942,9 +1942,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1955,9 +1955,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1968,9 +1968,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1981,9 +1981,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -1994,9 +1994,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -2007,9 +2007,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -2020,9 +2020,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -2033,9 +2033,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -2046,9 +2046,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -2059,9 +2059,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -2072,9 +2072,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -2085,9 +2085,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -2098,9 +2098,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -2111,9 +2111,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -2124,9 +2124,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -2137,9 +2137,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -2150,9 +2150,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -2163,9 +2163,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -2176,9 +2176,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -2189,9 +2189,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -2202,9 +2202,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -2215,9 +2215,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -2228,9 +2228,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -2241,9 +2241,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -2254,9 +2254,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -2267,9 +2267,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -2280,9 +2280,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -2293,9 +2293,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -2306,9 +2306,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -2319,9 +2319,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -2332,9 +2332,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -2345,9 +2345,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -2358,9 +2358,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -2371,9 +2371,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -2384,9 +2384,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -2397,9 +2397,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -2410,9 +2410,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -2423,9 +2423,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -2436,9 +2436,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -2449,9 +2449,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -2462,9 +2462,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -2475,9 +2475,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -2488,9 +2488,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -2501,9 +2501,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -2514,9 +2514,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -2527,9 +2527,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -2540,9 +2540,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -2553,9 +2553,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -2566,9 +2566,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -2579,9 +2579,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -2592,9 +2592,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, @@ -2605,9 +2605,9 @@ "sk": null, "timing": { "initial_minimum_balance": "1000000", - "cliff_time": ["Since_genesis", "12000"], + "cliff_time": ["Since_genesis","12000"], "cliff_amount": "500000", - "vesting_period": ["Global_slot_span", "6"], + "vesting_period": ["Global_slot_span","6"], "vesting_increment": "150" } }, diff --git a/graphql_schema.json b/graphql_schema.json index 0d2a8fd1a09..a47c2915777 100644 --- a/graphql_schema.json +++ b/graphql_schema.json @@ -6352,22 +6352,6 @@ }, "isDeprecated": false, "deprecationReason": null - }, - { - "name": "genesisTimestamp", - "description": "The genesis timestamp in ISO 8601 format", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null } ], "inputFields": null, @@ -14475,23 +14459,6 @@ "isDeprecated": false, "deprecationReason": null }, - { - "name": "fork_config", - "description": - "The runtime configuration for a blockchain fork intended to be a continuation of the current one.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "JSON", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, { "name": "threadGraph", "description": diff --git a/helm/archive-node/templates/archive.yaml b/helm/archive-node/templates/archive.yaml index 0977f9b5ca3..5ca8ec1c6e0 100644 --- a/helm/archive-node/templates/archive.yaml +++ b/helm/archive-node/templates/archive.yaml @@ -24,9 +24,6 @@ spec: prometheus.io/path: '/metrics' spec: {{- if .Values.archive.enableLocalDaemon }} - {{- if $.Values.priorityClass }} - priorityClassName: {{ $.Values.priorityClass }} - {{- end }} initContainers: - name: libp2p-perms image: {{ $.Values.mina.image | quote }} @@ -86,7 +83,7 @@ spec: "-metrics-port", "$(DAEMON_METRICS_PORT)", "-archive-address", "$(DAEMON_ARCHIVE_PORT)", {{- if .Values.mina.runtimeConfig }} - "-config-file", "/root/config/daemon.json", + "-config-file", "/config/daemon.json", {{- end -}} "-generate-genesis-proof", {{ .Values.mina.generateGenesisProof | quote }} ] @@ -128,7 +125,7 @@ spec: mountPath: /root/.mina-config {{- if .Values.mina.runtimeConfig }} - name: daemon-config - mountPath: "/root/config/" + mountPath: "/config/" {{- end }} - name: actual-libp2p mountPath: /root/libp2p-keys @@ -142,19 +139,17 @@ spec: "-metrics-port", "{{ .Values.archive.ports.metrics }}", "-postgres-uri", "{{ tpl .Values.archive.postgresUri . }}", {{- if .Values.mina.runtimeConfig }} - "-config-file", "/root/config/daemon.json", + "-config-file", "/config/daemon.json", {{- end }} "-server-port", "{{ .Values.archive.ports.server }}" ] env: imagePullPolicy: Always - volumeMounts: {{- if .Values.mina.runtimeConfig }} + volumeMounts: - name: daemon-config - mountPath: "/root/config/" + mountPath: "/config/" {{- end }} - - name: config-dir - mountPath: "/root/.mina-config/" ports: - name: archive-port protocol: TCP @@ -168,6 +163,8 @@ spec: {{- include "healthcheck.archive.allChecks" . | indent 8 }} {{- include "nodeSelector.preemptible" .Values | indent 6 }} volumes: + - name: config-dir + emptyDir: {} {{- if .Values.mina.runtimeConfig }} - name: daemon-config configMap: @@ -175,28 +172,6 @@ spec: {{- end }} - name: actual-libp2p emptyDir: {} - - name: config-dir - {{- if .Values.persist_working_dir }} - persistentVolumeClaim: - claimName: pvc-{{ template "archive-node.fullname" . }} - {{- else}} - emptyDir: {} - {{- end }} ---- -{{- if $.Values.persist_working_dir }} -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: pvc-{{ template "archive-node.fullname" . }} -spec: - accessModes: - - {{ $.Values.storage.accessMode | quote }} - resources: - requests: - storage: {{ $.Values.storage.size | quote }} - storageClassName: "{{ $.Values.storage.storageClass }}" ---- -{{ end }} --- {{- if $.Values.mina.exposeGraphql }} apiVersion: v1 @@ -213,4 +188,4 @@ spec: protocol: TCP port: 80 targetPort: {{ $.Values.mina.ports.graphql }} -{{- end }} +{{- end }} \ No newline at end of file diff --git a/helm/archive-node/templates/dump-archive-cronjob.yaml b/helm/archive-node/templates/dump-archive-cronjob.yaml index 2688d57bfbe..c918815e6e0 100644 --- a/helm/archive-node/templates/dump-archive-cronjob.yaml +++ b/helm/archive-node/templates/dump-archive-cronjob.yaml @@ -1,5 +1,5 @@ {{- if and .Values.archive.enablePostgresDB .Values.archive.enableDumpCronjob }} -apiVersion: batch/v1 +apiVersion: batch/v1beta1 kind: CronJob metadata: name: "{{ template "archive-node.fullname" . }}-dump-cronjob" diff --git a/helm/archive-node/values.yaml b/helm/archive-node/values.yaml index 32cba5b6c4f..e50402ad69a 100644 --- a/helm/archive-node/values.yaml +++ b/helm/archive-node/values.yaml @@ -65,8 +65,3 @@ healthcheck: failureThreshold: 60 periodSeconds: 5 initialDelaySeconds: 30 - -storage: - accessMode: "ReadWriteOnce" - size: "4Gi" - storageClass: "standard" diff --git a/helm/block-producer/templates/block-producer.yaml b/helm/block-producer/templates/block-producer.yaml index d5941eb3fe8..686b446ab8a 100644 --- a/helm/block-producer/templates/block-producer.yaml +++ b/helm/block-producer/templates/block-producer.yaml @@ -24,9 +24,6 @@ spec: prometheus.io/port: {{ $.Values.mina.ports.metrics | quote }} prometheus.io/path: '/metrics' spec: - {{- if $.Values.priorityClass }} - priorityClassName: {{ $.Values.priorityClass }} - {{- end }} initContainers: - name: fix-perms image: busybox @@ -235,7 +232,7 @@ spec: "-upload-blocks-to-gcloud", "true", {{- end }} {{- if $.Values.mina.runtimeConfig }} - "-config-file", "/root/config/daemon.json", + "-config-file", "/config/daemon.json", {{- end -}} "-generate-genesis-proof", {{ $.Values.mina.generateGenesisProof | quote }}, {{- if $config.enableArchive }} @@ -295,17 +292,10 @@ spec: {{- end }} {{- if $.Values.mina.runtimeConfig }} - name: daemon-config - mountPath: "/root/config/" + mountPath: "/config/" {{- end }} {{- include "nodeSelector.preemptible" $.Values | indent 6 }} volumes: - - name: config-dir - {{- if $.Values.persist_working_dir }} - persistentVolumeClaim: - claimName: pvc-{{ $config.name }} - {{- else}} - emptyDir: {} - {{- end }} - name: private-keys secret: secretName: {{ $config.keypairName }} @@ -348,6 +338,8 @@ spec: {{ end -}} - name: wallet-keys emptyDir: {} + - name: config-dir + emptyDir: {} - name: actual-libp2p emptyDir: {} {{- if $.Values.mina.runtimeConfig }} @@ -399,20 +391,4 @@ spec: targetPort: {{ $.Values.mina.ports.graphql }} {{- end }} --- -{{- if $.Values.persist_working_dir }} -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: pvc-{{ $config.name }} -spec: - accessModes: - - {{ $.Values.storage.accessMode | quote }} - resources: - requests: - storage: {{ $.Values.storage.size | quote }} - storageClassName: "{{ $.Values.storage.storageClass }}" ---- -{{ end }} ---- {{ end }} ---- \ No newline at end of file diff --git a/helm/block-producer/values.yaml b/helm/block-producer/values.yaml index 125ee72def7..3bd44a7a5ce 100644 --- a/helm/block-producer/values.yaml +++ b/helm/block-producer/values.yaml @@ -107,8 +107,3 @@ healthcheck: nodeSelector: preemptible: true - -storage: - accessMode: "ReadWriteOnce" - size: "4Gi" - storageClass: "standard" diff --git a/helm/cron_jobs/berkeley-dump-archive-cronjob.yml b/helm/cron_jobs/berkeley-dump-archive-cronjob.yml index e2cb8768e7e..dd10507de33 100644 --- a/helm/cron_jobs/berkeley-dump-archive-cronjob.yml +++ b/helm/cron_jobs/berkeley-dump-archive-cronjob.yml @@ -27,7 +27,7 @@ spec: DATE="$(date +%F_%H%M)"; FILENAME=berkeley-archive-dump-"${DATE}".sql; - pg_dump --no-owner --create postgres://mina:$password@archive-1-postgresql:5432/archive > $FILENAME; + pg_dump --no-owner --create postgres://postgres:foobar@archive-1-postgresql:5432/archive > $FILENAME; tar -czvf $FILENAME.tar.gz $FILENAME; @@ -38,13 +38,10 @@ spec: echo "archive database uploaded to bucket"; ' - envFrom: - - secretRef: - name: archive-1-postgresql env: - name: GCLOUD_KEYFILE value: /gcloud/keyfile.json - image: postgres:15-alpine + image: postgres:11-alpine imagePullPolicy: IfNotPresent name: berkeley-dump-archive-cronjob resources: {} diff --git a/helm/cron_jobs/berkeley-replayer-cronjob.yaml b/helm/cron_jobs/berkeley-replayer-cronjob.yaml deleted file mode 100644 index 7f9e26f4f58..00000000000 --- a/helm/cron_jobs/berkeley-replayer-cronjob.yaml +++ /dev/null @@ -1,109 +0,0 @@ -# kubectl apply -n berkeley -f helm/cron_jobs/berkeley-replayer-cronjob.yaml -# the above command, with this accompanying file, needs only be run once. -# Notes: -# - the archive dump usually is of the form ...0000.sql.tar.gz, but not always -# we reverse-sort the filenames, take the most recent one -# - ALTER USER takes a password bracketed in single-quotes or $$s -# too hard to make the single-quotes work inside single-quotes, so use $$ -# the space in the password makes sure a $ isn't applied to the following string -# - we filter out the CREATE DATABASE line from the SQL file, because psql here (v. 13) -# is older than the pg_dump (v. 15), which creates an unknown option "local_provider" -apiVersion: batch/v1 -kind: CronJob -metadata: - name: berkeley-replayer-cronjob -spec: - concurrencyPolicy: Forbid - failedJobsHistoryLimit: 1 - jobTemplate: - spec: - template: - spec: - containers: - - command: - - /bin/bash - - -c - - 'echo "Starting replayer cron job"; - apt update; - echo "Installing libjemalloc2"; - apt-get -y install libjemalloc2; - echo "Installing gsutil"; - apt-get -y install apt-transport-https ca-certificates gnupg curl; - echo "deb https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list; - curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - ; - apt-get update && apt-get install -y google-cloud-cli ; - ARCHIVE_DUMP_URI=$(gsutil ls gs://mina-archive-dumps/berkeley-archive-dump-*.sql.tar.gz | sort -r | head -n 1); - ARCHIVE_DUMP=$(basename $ARCHIVE_DUMP_URI); - ARCHIVE_SQL=$(basename $ARCHIVE_DUMP_URI .tar.gz); - echo "Getting archive dump" $ARCHIVE_DUMP_URI; - gsutil -o Credentials:gs_service_key_file=/gcloud/keyfile.json cp $ARCHIVE_DUMP_URI . ; - MOST_RECENT_CHECKPOINT_URI=$(gsutil ls gs://berkeley-replayer-checkpoints/berkeley-replayer-checkpoint-*.json | sort -r | head -n 1); - MOST_RECENT_CHECKPOINT=$(basename $MOST_RECENT_CHECKPOINT_URI); - echo "Getting replayer checkpoint file" $MOST_RECENT_CHECKPOINT; - gsutil -o Credentials:gs_service_key_file=/gcloud/keyfile.json cp $MOST_RECENT_CHECKPOINT_URI . ; - echo "Starting Postgresql"; - service postgresql start; - echo "Importing archive dump"; - tar -xzvf $ARCHIVE_DUMP; - cat $ARCHIVE_SQL | grep -v "CREATE DATABASE" > archive.sql; - mv archive.sql $ARCHIVE_SQL; - mv $ARCHIVE_SQL ~postgres/; - echo "Deleting archive dump"; - rm -f $ARCHIVE_DUMP; - su postgres -c "cd ~ && echo ALTER USER postgres WITH PASSWORD \\$\\$ foobar \\$\\$ | psql"; - su postgres -c "cd ~ && echo CREATE DATABASE archive | psql"; - su postgres -c "cd ~ && psql < $ARCHIVE_SQL"; - echo "Deleting archive SQL file"; - su postgres -c "cd ~ && rm -f $ARCHIVE_SQL"; - echo "Running replayer"; - mina-replayer --archive-uri postgres://postgres:%20foobar%20@localhost/archive --input-file $MOST_RECENT_CHECKPOINT --continue-on-error --output-file /dev/null --checkpoint-interval 50 >& replayer.log ; - echo "Done running replayer"; - rm -f $MOST_RECENT_CHECKPOINT; - DISK_CHECKPOINT=$(ls -t replayer-checkpoint*.json | head -n 1); - DATE=$(date +%F); - TODAY_CHECKPOINT=berkeley-replayer-checkpoint-$DATE.json; - mv $DISK_CHECKPOINT $TODAY_CHECKPOINT; - echo "Uploading checkpoint file" $TODAY_CHECKPOINT; - gsutil -o Credentials:gs_service_key_file=/gcloud/keyfile.json cp $TODAY_CHECKPOINT gs://berkeley-replayer-checkpoints/$TODAY_CHECKPOINT; - echo "Replayer errors:"; - grep Error replayer.log; - HAVE_ERRORS=$?; - if [ $HAVE_ERRORS -eq 0 ]; - then REPLAYER_ERRORS=berkeley_replayer_errors_${DATE}; - echo "The replayer found errors, uploading log" $REPLAYER_ERRORS; - mv replayer.log $REPLAYER_ERRORS; - gsutil -o Credentials:gs_service_key_file=/gcloud/keyfile.json cp $REPLAYER_ERRORS gs://berkeley-replayer-checkpoints/$REPLAYER_ERRORS; - fi' - env: - - name: GCLOUD_KEYFILE - value: /gcloud/keyfile.json - image: gcr.io/o1labs-192920/mina-rosetta:2.0.0rampup2-feature-replayer-check-snark-ledger-hash-berkeley-c6da972-bullseye - imagePullPolicy: IfNotPresent - name: berkeley-replayer-cronjob - resources: - limits: - requests: - memory: 32.0Gi - cpu: 20.0 - resources: {} - terminationMessagePath: /dev/termination-log - terminationMessagePolicy: File - volumeMounts: - - mountPath: /gcloud/ - name: gcloud-keyfile - dnsPolicy: ClusterFirst - restartPolicy: Never - schedulerName: default-scheduler - securityContext: {} - terminationGracePeriodSeconds: 30 - volumes: - - name: gcloud-keyfile - secret: - defaultMode: 256 - items: - - key: keyfile - path: keyfile.json - secretName: gcloud-keyfile - schedule: 0 2 * * * - successfulJobsHistoryLimit: 3 - suspend: false diff --git a/helm/cron_jobs/devnet-dump-archive-cronjob.yaml b/helm/cron_jobs/devnet-dump-archive-cronjob.yaml index c302f142e56..bbec4382143 100644 --- a/helm/cron_jobs/devnet-dump-archive-cronjob.yaml +++ b/helm/cron_jobs/devnet-dump-archive-cronjob.yaml @@ -1,6 +1,6 @@ # kubectl apply -f helm/cron_jobs/devnet-dump-archive-cronjob.yaml # the above command, with this accompanying file, needs only be run once. it does not get run in CI. this file is provided here for future reference -apiVersion: batch/v1 +apiVersion: batch/v1beta1 kind: CronJob metadata: name: devnet-dump-archive-cronjob diff --git a/helm/cron_jobs/devnet-replayer-cronjob.yaml b/helm/cron_jobs/devnet-replayer-cronjob.yaml deleted file mode 100644 index 1a29ee871af..00000000000 --- a/helm/cron_jobs/devnet-replayer-cronjob.yaml +++ /dev/null @@ -1,105 +0,0 @@ -# kubectl apply -n devnet -f helm/cron_jobs/devnet-replayer-cronjob.yaml -# the above command, with this accompanying file, needs only be run once. -# Notes: -# - the archive dump usually is of the form ...0000.sql.tar.gz, but not always -# we reverse-sort the filenames, take the most recent one -# - ALTER USER takes a password bracketed in single-quotes or $$s -# too hard to make the single-quotes work inside single-quotes, so use $$ -# the space in the password makes sure a $ isn't applied to the following string -apiVersion: batch/v1 -kind: CronJob -metadata: - name: devnet-replayer-cronjob -spec: - concurrencyPolicy: Forbid - failedJobsHistoryLimit: 1 - jobTemplate: - spec: - template: - spec: - containers: - - command: - - /bin/bash - - -c - - 'echo "Starting replayer cron job"; - apt update; - echo "Installing libjemalloc2"; - apt-get -y install libjemalloc2; - echo "Installing gsutil"; - apt-get -y install apt-transport-https ca-certificates gnupg curl; - echo "deb https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list; - curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - ; - apt-get update && apt-get install -y google-cloud-cli ; - ARCHIVE_DUMP_URI=$(gsutil -o Credentials:gs_service_key_file=/gcloud/keyfile.json ls gs://mina-archive-dumps/devnet-archive-dump-*.sql.tar.gz | sort -r | head -n 1); - ARCHIVE_DUMP=$(basename $ARCHIVE_DUMP_URI); - ARCHIVE_SQL=$(basename $ARCHIVE_DUMP_URI .tar.gz); - echo "Getting archive dump" $ARCHIVE_DUMP_URI; - gsutil -o Credentials:gs_service_key_file=/gcloud/keyfile.json cp $ARCHIVE_DUMP_URI . ; - MOST_RECENT_CHECKPOINT_URI=$(gsutil -o Credentials:gs_service_key_file=/gcloud/keyfile.json ls gs://devnet-replayer-checkpoints/devnet-replayer-checkpoint-*.json | sort -r | head -n 1); - MOST_RECENT_CHECKPOINT=$(basename $MOST_RECENT_CHECKPOINT_URI); - echo "Getting replayer checkpoint file" $MOST_RECENT_CHECKPOINT; - gsutil -o Credentials:gs_service_key_file=/gcloud/keyfile.json cp $MOST_RECENT_CHECKPOINT_URI . ; - echo "Starting Postgresql"; - service postgresql start; - echo "Importing archive dump"; - tar -xzvf $ARCHIVE_DUMP; - mv $ARCHIVE_SQL ~postgres/; - echo "Deleting archive dump"; - rm -f $ARCHIVE_DUMP; - su postgres -c "cd ~ && echo ALTER USER postgres WITH PASSWORD \\$\\$ foobar \\$\\$ | psql"; - su postgres -c "cd ~ && echo CREATE DATABASE archive_balances_migrated | psql"; - su postgres -c "cd ~ && psql < $ARCHIVE_SQL"; - echo "Deleting archive SQL file"; - su postgres -c "cd ~ && rm -f $ARCHIVE_SQL"; - echo "Running replayer"; - mina-replayer --archive-uri postgres://postgres:%20foobar%20@localhost/archive_balances_migrated --input-file $MOST_RECENT_CHECKPOINT --continue-on-error --output-file /dev/null --checkpoint-interval 50 >& replayer.log ; - echo "Done running replayer"; - rm -f $MOST_RECENT_CHECKPOINT; - DISK_CHECKPOINT=$(ls -t replayer-checkpoint*.json | head -n 1); - DATE=$(date +%F); - TODAY_CHECKPOINT=devnet-replayer-checkpoint-$DATE.json; - mv $DISK_CHECKPOINT $TODAY_CHECKPOINT; - echo "Uploading checkpoint file" $TODAY_CHECKPOINT; - gsutil -o Credentials:gs_service_key_file=/gcloud/keyfile.json cp $TODAY_CHECKPOINT gs://devnet-replayer-checkpoints/$TODAY_CHECKPOINT; - echo "Replayer errors:"; - grep Error replayer.log; - HAVE_ERRORS=$?; - if [ $HAVE_ERRORS -eq 0 ]; - then REPLAYER_ERRORS=devnet-replayer_errors_${DATE}; - echo "The replayer found errors, uploading log" $REPLAYER_ERRORS; - mv replayer.log $REPLAYER_ERRORS; - gsutil -o Credentials:gs_service_key_file=/gcloud/keyfile.json cp $REPLAYER_ERRORS gs://devnet-replayer-checkpoints/$REPLAYER_ERRORS; - fi' - env: - - name: GCLOUD_KEYFILE - value: /gcloud/keyfile.json - image: gcr.io/o1labs-192920/mina-rosetta:1.4.0beta2-fix-replayer-not-orphaned-slot-5827016-bullseye - imagePullPolicy: IfNotPresent - name: devnet-replayer-cronjob - resources: - limits: - requests: - memory: 32.0Gi - cpu: 20.0 - resources: {} - terminationMessagePath: /dev/termination-log - terminationMessagePolicy: File - volumeMounts: - - mountPath: /gcloud/ - name: gcloud-keyfile - dnsPolicy: ClusterFirst - restartPolicy: Never - schedulerName: default-scheduler - securityContext: {} - terminationGracePeriodSeconds: 30 - volumes: - - name: gcloud-keyfile - secret: - defaultMode: 256 - items: - - key: keyfile - path: keyfile.json - secretName: gcloud-keyfile - schedule: 0 2 * * * - successfulJobsHistoryLimit: 3 - suspend: false diff --git a/helm/cron_jobs/devnet-txn-burst-cronjob.yaml b/helm/cron_jobs/devnet-txn-burst-cronjob.yaml index 8b708b2c4d9..4b2edc6978a 100644 --- a/helm/cron_jobs/devnet-txn-burst-cronjob.yaml +++ b/helm/cron_jobs/devnet-txn-burst-cronjob.yaml @@ -1,7 +1,7 @@ # kubectl apply -f helm/cron_jobs/devnet-txn-burst-cronjob.yaml # the above command, with this accompanying file, needs only be run once. it does not get run in CI. this file is provided here for future reference # make sure you're in the devnet2 namespace -apiVersion: batch/v1 +apiVersion: batch/v1beta1 kind: CronJob metadata: name: devnet-txn-burst-cronjob diff --git a/helm/cron_jobs/devnet2-dump-archive-cronjob.yaml b/helm/cron_jobs/devnet2-dump-archive-cronjob.yaml index a6d45f70f85..73acbcf4a48 100644 --- a/helm/cron_jobs/devnet2-dump-archive-cronjob.yaml +++ b/helm/cron_jobs/devnet2-dump-archive-cronjob.yaml @@ -1,6 +1,6 @@ # kubectl apply -f helm/cron_jobs/devnet2-dump-archive-cronjob.yaml # the above command, with this accompanying file, needs only be run once. it does not get run in CI. this file is provided here for future reference -apiVersion: batch/v1 +apiVersion: batch/v1beta1 kind: CronJob metadata: name: devnet2-dump-archive-cronjob diff --git a/helm/cron_jobs/mainnet-dump-staking-ledger-cronjob.yaml b/helm/cron_jobs/mainnet-dump-staking-ledger-cronjob.yaml index efb229d3025..885b0472bd0 100644 --- a/helm/cron_jobs/mainnet-dump-staking-ledger-cronjob.yaml +++ b/helm/cron_jobs/mainnet-dump-staking-ledger-cronjob.yaml @@ -1,6 +1,6 @@ # kubectl apply -f helm/cron_jobs/mainnet-dump-staking-ledger-cronjob.yaml # the above command, with this accompanying file, needs only be run once. it does not get run in CI. this file is provided here for future reference -apiVersion: batch/v1 +apiVersion: batch/v1beta1 kind: CronJob metadata: name: mainnet-dump-staking-ledger-cronjob-2 diff --git a/helm/cron_jobs/mainnet-replayer-cronjob.yaml b/helm/cron_jobs/mainnet-replayer-cronjob.yaml deleted file mode 100644 index b9f16d0d8a9..00000000000 --- a/helm/cron_jobs/mainnet-replayer-cronjob.yaml +++ /dev/null @@ -1,105 +0,0 @@ -# kubectl apply -n mainnet -f helm/cron_jobs/mainnet-replayer-cronjob.yaml -# the above command, with this accompanying file, needs only be run once. -# Notes: -# - the archive dump usually is of the form ...0000.sql.tar.gz, but not always -# we reverse-sort the filenames, take the most recent one -# - ALTER USER takes a password bracketed in single-quotes or $$s -# too hard to make the single-quotes work inside single-quotes, so use $$ -# the space in the password makes sure a $ isn't applied to the following string -apiVersion: batch/v1 -kind: CronJob -metadata: - name: mainnet-replayer-cronjob -spec: - concurrencyPolicy: Forbid - failedJobsHistoryLimit: 1 - jobTemplate: - spec: - template: - spec: - containers: - - command: - - /bin/bash - - -c - - 'echo "Starting replayer cron job"; - apt update; - echo "Installing libjemalloc2"; - apt-get -y install libjemalloc2; - echo "Installing gsutil"; - apt-get -y install apt-transport-https ca-certificates gnupg curl; - echo "deb https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list; - curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - ; - apt-get update && apt-get install -y google-cloud-cli ; - ARCHIVE_DUMP_URI=$(gsutil -o Credentials:gs_service_key_file=/gcloud/keyfile.json ls gs://mina-archive-dumps/mainnet-archive-dump-*.sql.tar.gz | sort -r | head -n 1); - ARCHIVE_DUMP=$(basename $ARCHIVE_DUMP_URI); - ARCHIVE_SQL=$(basename $ARCHIVE_DUMP_URI .tar.gz); - echo "Getting archive dump" $ARCHIVE_DUMP_URI; - gsutil -o Credentials:gs_service_key_file=/gcloud/keyfile.json cp $ARCHIVE_DUMP_URI . ; - MOST_RECENT_CHECKPOINT_URI=$(gsutil -o Credentials:gs_service_key_file=/gcloud/keyfile.json ls gs://mainnet-replayer-checkpoints/mainnet-replayer-checkpoint-*.json | sort -r | head -n 1); - MOST_RECENT_CHECKPOINT=$(basename $MOST_RECENT_CHECKPOINT_URI); - echo "Getting replayer checkpoint file" $MOST_RECENT_CHECKPOINT; - gsutil -o Credentials:gs_service_key_file=/gcloud/keyfile.json cp $MOST_RECENT_CHECKPOINT_URI . ; - echo "Starting Postgresql"; - service postgresql start; - echo "Importing archive dump"; - tar -xzvf $ARCHIVE_DUMP; - mv $ARCHIVE_SQL ~postgres/; - echo "Deleting archive dump"; - rm -f $ARCHIVE_DUMP; - su postgres -c "cd ~ && echo ALTER USER postgres WITH PASSWORD \\$\\$ foobar \\$\\$ | psql"; - su postgres -c "cd ~ && echo CREATE DATABASE archive_balances_migrated | psql"; - su postgres -c "cd ~ && psql < $ARCHIVE_SQL"; - echo "Deleting archive SQL file"; - su postgres -c "cd ~ && rm -f $ARCHIVE_SQL"; - echo "Running replayer"; - mina-replayer --archive-uri postgres://postgres:%20foobar%20@localhost/archive_balances_migrated --input-file $MOST_RECENT_CHECKPOINT --continue-on-error --output-file /dev/null --checkpoint-interval 50 >& replayer.log ; - echo "Done running replayer"; - rm -f $MOST_RECENT_CHECKPOINT; - DISK_CHECKPOINT=$(ls -t replayer-checkpoint*.json | head -n 1); - DATE=$(date +%F); - TODAY_CHECKPOINT=mainnet-replayer-checkpoint-$DATE.json; - mv $DISK_CHECKPOINT $TODAY_CHECKPOINT; - echo "Uploading checkpoint file" $TODAY_CHECKPOINT; - gsutil -o Credentials:gs_service_key_file=/gcloud/keyfile.json cp $TODAY_CHECKPOINT gs://mainnet-replayer-checkpoints/$TODAY_CHECKPOINT; - echo "Replayer errors:"; - grep Error replayer.log; - HAVE_ERRORS=$?; - if [ $HAVE_ERRORS -eq 0 ]; - then REPLAYER_ERRORS=mainnet-replayer_errors_${DATE}; - echo "The replayer found errors, uploading log" $REPLAYER_ERRORS; - mv replayer.log $REPLAYER_ERRORS; - gsutil -o Credentials:gs_service_key_file=/gcloud/keyfile.json cp $REPLAYER_ERRORS gs://mainnet-replayer-checkpoints/$REPLAYER_ERRORS; - fi' - env: - - name: GCLOUD_KEYFILE - value: /gcloud/keyfile.json - image: gcr.io/o1labs-192920/mina-rosetta:1.4.0beta2-fix-replayer-not-orphaned-slot-5827016-bullseye - imagePullPolicy: IfNotPresent - name: mainnet-replayer-cronjob - resources: - limits: - requests: - memory: 32.0Gi - cpu: 20.0 - resources: {} - terminationMessagePath: /dev/termination-log - terminationMessagePolicy: File - volumeMounts: - - mountPath: /gcloud/ - name: gcloud-keyfile - dnsPolicy: ClusterFirst - restartPolicy: Never - schedulerName: default-scheduler - securityContext: {} - terminationGracePeriodSeconds: 30 - volumes: - - name: gcloud-keyfile - secret: - defaultMode: 256 - items: - - key: keyfile - path: keyfile.json - secretName: gcloud-keyfile - schedule: 0 2 * * * - successfulJobsHistoryLimit: 3 - suspend: false diff --git a/helm/leaderboard/templates/email-cron.yaml b/helm/leaderboard/templates/email-cron.yaml index d31c28254fd..ea1874ca397 100644 --- a/helm/leaderboard/templates/email-cron.yaml +++ b/helm/leaderboard/templates/email-cron.yaml @@ -1,4 +1,4 @@ -apiVersion: batch/v1 +apiVersion: batch/v1beta1 kind: CronJob metadata: name: "email-cron" diff --git a/helm/leaderboard/templates/leaderboard-cron.yaml b/helm/leaderboard/templates/leaderboard-cron.yaml index 39421387f48..f56e8b9ddd5 100644 --- a/helm/leaderboard/templates/leaderboard-cron.yaml +++ b/helm/leaderboard/templates/leaderboard-cron.yaml @@ -1,4 +1,4 @@ -apiVersion: batch/v1 +apiVersion: batch/v1beta1 kind: CronJob metadata: name: "leaderboard-cron" diff --git a/helm/plain-node/templates/plain-node.yaml b/helm/plain-node/templates/plain-node.yaml index 5cef1fc0ad1..e643332d988 100644 --- a/helm/plain-node/templates/plain-node.yaml +++ b/helm/plain-node/templates/plain-node.yaml @@ -23,9 +23,6 @@ spec: prometheus.io/port: {{ $.Values.mina.ports.metrics | quote }} prometheus.io/path: '/metrics' spec: - {{- if $.Values.priorityClass }} - priorityClassName: {{ $.Values.priorityClass }} - {{- end }} initContainers: containers: - name: mina @@ -49,7 +46,7 @@ spec: "-metrics-port", "$(DAEMON_METRICS_PORT)", "-enable-peer-exchange", "true", {{- if $.Values.mina.runtimeConfig }} - "-config-file", "/root/config/daemon.json", + "-config-file", "/config/daemon.json", {{- end }} {{- if $.Values.mina.logPrecomputedBlocks }} "-log-precomputed-blocks", "true", @@ -80,7 +77,7 @@ spec: - name: MINA_CLIENT_TRUSTLIST value: "10.0.0.0/8" - name: GCLOUD_KEYFILE - value: "/root/gcloud/keyfile.json" + value: "/gcloud/keyfile.json" - name: NETWORK_NAME value: {{ $.Values.testnetName }} - name: GCLOUD_BLOCK_UPLOAD_BUCKET @@ -111,18 +108,9 @@ spec: {{- end }} {{- if $.Values.mina.runtimeConfig }} - name: daemon-config - mountPath: "/root/config/" + mountPath: "/config/" {{- end }} - - name: config-dir - mountPath: "/root/.mina-config/" volumes: - - name: config-dir - {{- if $.Values.persist_working_dir }} - persistentVolumeClaim: - claimName: pvc-{{ $.Values.name }} - {{- else}} - emptyDir: {} - {{- end }} {{- if $.Values.mina.runtimeConfig }} - name: daemon-config configMap: @@ -158,18 +146,4 @@ spec: targetPort: {{ $.Values.mina.ports.graphql }} {{- end }} --- -{{- if $.Values.persist_working_dir }} -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: pvc-{{ $.Values.name }} -spec: - accessModes: - - {{ $.Values.storage.accessMode | quote }} - resources: - requests: - storage: {{ $.Values.storage.size | quote }} - storageClassName: "{{ $.Values.storage.storageClass }}" ---- -{{ end }} ---- + diff --git a/helm/plain-node/values.yaml b/helm/plain-node/values.yaml index d96114a65a5..00acf208d1c 100644 --- a/helm/plain-node/values.yaml +++ b/helm/plain-node/values.yaml @@ -30,8 +30,3 @@ healthcheck: nodeSelector: preemptible: false - -storage: - accessMode: "ReadWriteOnce" - size: "4Gi" - storageClass: "standard" diff --git a/helm/seed-node/templates/seed-node.yaml b/helm/seed-node/templates/seed-node.yaml index 1b9dc5b1f09..c17831e9405 100644 --- a/helm/seed-node/templates/seed-node.yaml +++ b/helm/seed-node/templates/seed-node.yaml @@ -24,9 +24,6 @@ spec: prometheus.io/port: {{ $.Values.mina.ports.metrics | quote }} prometheus.io/path: '/metrics' spec: - {{- if $.Values.priorityClass }} - priorityClassName: {{ $.Values.priorityClass }} - {{- end }} initContainers: {{ if $config.libp2pSecret -}} - name: libp2p-perms @@ -94,7 +91,7 @@ spec: "-peer-list-url", {{ $.Values.mina.seedPeersURL | quote }}, {{- end -}} {{- if $.Values.mina.runtimeConfig }} - "-config-file", "/root/config/daemon.json", + "-config-file", "/config/daemon.json", {{- end }} "-libp2p-keypair", "/root/libp2p-keys/key", {{- range $.Values.mina.seedPeers }} @@ -158,18 +155,9 @@ spec: {{- end }} {{- if $.Values.mina.runtimeConfig }} - name: daemon-config - mountPath: "/root/config/" + mountPath: "/config/" {{- end }} - - name: config-dir - mountPath: /root/.mina-config/ volumes: - - name: config-dir - {{- if $.Values.persist_working_dir }} - persistentVolumeClaim: - claimName: pvc-{{ $config.name }} - {{- else}} - emptyDir: {} - {{- end }} {{- if $.Values.mina.runtimeConfig }} - name: daemon-config configMap: @@ -249,20 +237,4 @@ spec: targetPort: {{ $.Values.mina.ports.graphql }} {{- end }} --- -{{- if $.Values.persist_working_dir }} -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: pvc-{{ $config.name }} -spec: - accessModes: - - {{ $.Values.storage.accessMode | quote }} - resources: - requests: - storage: {{ $.Values.storage.size | quote }} - storageClassName: "{{ $.Values.storage.storageClass }}" ---- {{ end }} ---- -{{ end }} ---- diff --git a/helm/seed-node/values.yaml b/helm/seed-node/values.yaml index 4ec2731a339..4a13814fdf8 100644 --- a/helm/seed-node/values.yaml +++ b/helm/seed-node/values.yaml @@ -46,8 +46,3 @@ healthcheck: nodeSelector: preemptible: false - -storage: - accessMode: "ReadWriteOnce" - size: "4Gi" - storageClass: "standard" diff --git a/helm/snark-worker/templates/snark-coordinator.yaml b/helm/snark-worker/templates/snark-coordinator.yaml index 68a16e39e9b..6f92f02396a 100644 --- a/helm/snark-worker/templates/snark-coordinator.yaml +++ b/helm/snark-worker/templates/snark-coordinator.yaml @@ -22,9 +22,6 @@ spec: prometheus.io/port: {{ $.Values.mina.ports.metrics | quote }} prometheus.io/path: '/metrics' spec: - {{- if $.Values.priorityClass }} - priorityClassName: {{ $.Values.priorityClass }} - {{- end }} initContainers: - name: libp2p-perms image: {{ $.Values.mina.image | quote }} @@ -67,7 +64,7 @@ spec: "-log-txn-pool-gossip", "true", {{- end -}} {{- if $.Values.mina.runtimeConfig }} - "-config-file", "/root/config/daemon.json", + "-config-file", "/config/daemon.json", {{- end }} {{- range $.Values.mina.seedPeers }} "-peer", {{ . | quote }}, @@ -125,12 +122,10 @@ spec: volumeMounts: {{- if $.Values.mina.runtimeConfig }} - name: daemon-config - mountPath: "/root/config/" + mountPath: "/config/" {{- end }} - name: actual-libp2p mountPath: /root/libp2p-keys - - name: config-dir - mountPath: /root/.mina-config/ volumes: {{- if $.Values.mina.runtimeConfig }} - name: daemon-config @@ -139,27 +134,4 @@ spec: {{- end }} - name: actual-libp2p emptyDir: {} - - name: config-dir - {{- if $.Values.persist_working_dir }} - persistentVolumeClaim: - claimName: pvc-{{ $.Values.coordinatorName }} - {{- else }} - emptyDir: {} - {{ end }} {{- include "nodeSelector.preemptible" $.Values | indent 6 }} - ---- -{{- if $.Values.persist_working_dir }} -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: pvc-{{ $.Values.coordinatorName }} -spec: - accessModes: - - {{ $.Values.storage.accessMode | quote }} - resources: - requests: - storage: {{ $.Values.storage.size | quote }} - storageClassName: "{{ $.Values.storage.storageClass }}" ---- -{{ end }} diff --git a/helm/snark-worker/templates/snark-worker.yaml b/helm/snark-worker/templates/snark-worker.yaml index def641ad608..c4ea86f7e79 100644 --- a/helm/snark-worker/templates/snark-worker.yaml +++ b/helm/snark-worker/templates/snark-worker.yaml @@ -21,9 +21,6 @@ spec: prometheus.io/port: '10000' prometheus.io/path: '/metrics' spec: - {{- if $.Values.priorityClass }} - priorityClassName: {{ $.Values.priorityClass }} - {{- end }} containers: - name: worker resources: @@ -47,32 +44,4 @@ spec: - name: "RAYON_NUM_THREADS" value: "4" imagePullPolicy: Always - volumeMounts: - - name: config-dir - mountPath: /root/.mina-config - volumes: - - name: config-dir - {{- if $.Values.persist_working_dir }} - persistentVolumeClaim: - claimName: pvc-{{ $.Values.workerName }} - {{- else}} - emptyDir: {} - {{- end }} {{- include "nodeSelector.preemptible" $.Values | indent 6 }} - - ---- -{{- if $.Values.persist_working_dir }} -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: pvc-{{ $.Values.workerName }} -spec: - accessModes: - - {{ $.Values.storage.accessMode | quote }} - resources: - requests: - storage: {{ $.Values.storage.size | quote }} - storageClassName: "{{ $.Values.storage.storageClass }}" ---- -{{ end }} diff --git a/helm/snark-worker/values.yaml b/helm/snark-worker/values.yaml index 34786630686..214d703dc60 100644 --- a/helm/snark-worker/values.yaml +++ b/helm/snark-worker/values.yaml @@ -51,8 +51,3 @@ healthcheck: nodeSelector: preemptible: true - -storage: - accessMode: "ReadWriteOnce" - size: "1Gi" - storageClass: "standard" diff --git a/helm/watchdog/templates/watchdog.yaml b/helm/watchdog/templates/watchdog.yaml index 23d37116894..61baddddf3b 100644 --- a/helm/watchdog/templates/watchdog.yaml +++ b/helm/watchdog/templates/watchdog.yaml @@ -75,7 +75,7 @@ spec: path: keyfile.json {{- end }} --- -apiVersion: batch/v1 +apiVersion: batch/v1beta1 kind: CronJob metadata: name: watchdog-make-reports diff --git a/helm/watchdog/values.yaml b/helm/watchdog/values.yaml index 844d5873d65..6ff6848a977 100644 --- a/helm/watchdog/values.yaml +++ b/helm/watchdog/values.yaml @@ -10,7 +10,7 @@ mina: p2p: "10909" uploadBlocksToGCloud: false -image: gcr.io/o1labs-192920/watchdog:0.4.13 +image: gcr.io/o1labs-192920/watchdog:0.3.7 restartEveryMins: "" restartNodes: "" diff --git a/scripts/merged-to-proof-systems.sh b/scripts/merged-to-proof-systems.sh deleted file mode 100755 index 48f0359ac9d..00000000000 --- a/scripts/merged-to-proof-systems.sh +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/bash - -set -eu - -if [[ $# -ne 1 ]]; then - echo "Usage: $0 " - exit 1 -fi - -cd src/lib/crypto/proof-systems - -CURR=$(git rev-parse HEAD) - -# temporarily skip SSL verification (for CI) -if [ "${BUILDKITE:-false}" == true ] -then - git config http.sslVerify false - git fetch origin - git config http.sslVerify true -fi - - -BRANCH=$1 - -function in_branch { - if git rev-list origin/$1 | grep -q $CURR; then - echo "Proof systems submodule commit is an ancestor of $1" - true - else - false - fi -} - -if (! in_branch ${BRANCH}); then - echo "Proof-systems submodule commit is NOT an ancestor of ${BRANCH} branch" - exit 1 -fi \ No newline at end of file diff --git a/scripts/mina-local-network/mina-local-network.sh b/scripts/mina-local-network/mina-local-network.sh index 93ae1860c01..7da1b4a6c8a 100644 --- a/scripts/mina-local-network/mina-local-network.sh +++ b/scripts/mina-local-network/mina-local-network.sh @@ -232,15 +232,15 @@ reset-genesis-ledger() { recreate-schema() { echo "Recreating database '${PG_DB}'..." - + psql postgresql://${PG_USER}:${PG_PASSWD}@${PG_HOST}:${PG_PORT} -c "DROP DATABASE IF EXISTS ${PG_DB};" - + psql postgresql://${PG_USER}:${PG_PASSWD}@${PG_HOST}:${PG_PORT} -c "CREATE DATABASE ${PG_DB};" - - # We need to change our working directory as script has relation to others subscripts + + # We need to change our working directory as script has relation to others subscripts # and calling them from local folder - cd ./src/app/archive - psql postgresql://${PG_USER}:${PG_PASSWD}@${PG_HOST}:${PG_PORT}/${PG_DB} < create_schema.sql + cd ./src/app/archive + psql postgresql://${PG_USER}:${PG_PASSWD}@${PG_HOST}:${PG_PORT} ${PG_DB} < create_schema.sql cd ../../../ echo "Schema '${PG_DB}' created successfully." diff --git a/scripts/snark_transaction_profiler.py b/scripts/snark_transaction_profiler.py deleted file mode 100755 index ce0439c14f9..00000000000 --- a/scripts/snark_transaction_profiler.py +++ /dev/null @@ -1,75 +0,0 @@ -#!/usr/bin/env python3 - -# script run transaction snark profiler - -import subprocess -import sys -import os -import argparse -import json -import re - -exit_code=0 -prog = 'mina' - -def set_error(): - global exit_code - exit_code=1 - -def parse_stats (output) : - - print(output) - - lines = output.split ('\n') - - stats = [] - - for line in lines : - if line == '' : - continue - - compile = 'Generated zkapp transactions with (?P\d+) updates and (?P\d+) proof updates in (?P