Add 'new_generation' message type

This commit is contained in:
Ulf Wiger 2025-05-08 14:09:29 +02:00
parent 28b2222876
commit 63928d065f

View File

@ -89,6 +89,16 @@ validate(#{ candidate := #{ seq := Seq
valid(seq, Seq), valid(seq, Seq),
valid(edge_bits, EdgeBits), valid(edge_bits, EdgeBits),
Msg; Msg;
validate(#{ new_generation := #{ height := Height
, block_hash := BHash
, target := Target
, time := Time
}} = Msg, _Vsn) ->
valid(pos_int, Height),
valid(pos_int, Time),
valid(string, BHash),
valid(target, Target),
Msg;
validate(#{ get_nonces := #{ seq := Seq validate(#{ get_nonces := #{ seq := Seq
, n := N }} = Msg, _Vsn) -> , n := N }} = Msg, _Vsn) ->
valid(seq, Seq), valid(seq, Seq),
@ -281,6 +291,14 @@ decode_msg_(<<"candidate">>, #{ <<"candidate">> := C
, nonces => Nonces , nonces => Nonces
, seq => Seq , seq => Seq
, edge_bits => EdgeBits }}; , edge_bits => EdgeBits }};
decode_msg_(<<"new_generation">>, #{ <<"time">> := T
, <<"target">> := Tgt
, <<"block_hash">> := BHash
, <<"height">> := H }) ->
#{new_generation => #{ time => T
, target => Tgt
, block_hash => BHash
, height => H }};
decode_msg_(<<"solutions">>, #{ <<"seq">> := Seq decode_msg_(<<"solutions">>, #{ <<"seq">> := Seq
, <<"found">> := Found }) -> , <<"found">> := Found }) ->
Solutions = lists:map( Solutions = lists:map(