Merge branch 'master' into delegation_signatures

This commit is contained in:
Craig Everett 2024-11-01 13:42:42 +09:00
commit 38126d56dc
6 changed files with 118 additions and 18 deletions

View File

@ -1,4 +1,4 @@
{erl_opts, [debug_info]}. {erl_opts, [debug_info]}.
{deps, [ {base58, {git, "https://github.com/aeternity/erl-base58.git", {ref, "60a3356"}}} {deps, [ {base58, {git, "https://github.com/aeternity/erl-base58.git", {ref, "60a3356"}}}
, {enacl, {git, "https://github.com/aeternity/enacl.git", {ref, "67fceef"}}} , {enacl, {git, "https://gitlab.com/ioecs/enacl.git", {ref, "4eb7ec70"}}}
]}. ]}.

View File

@ -3,6 +3,6 @@
{ref,"60a335668a60328a29f9731b67c4a0e9e3d50ab6"}}, {ref,"60a335668a60328a29f9731b67c4a0e9e3d50ab6"}},
0}, 0},
{<<"enacl">>, {<<"enacl">>,
{git,"https://github.com/aeternity/enacl.git", {git,"https://gitlab.com/ioecs/enacl.git",
{ref,"67fceef42c0d055570f2e67b571f8d1f8de2f204"}}, {ref,"4eb7ec70084ba7c87b1af8797c4c4e90c84f95a2"}},
0}]. 0}].

View File

@ -18,11 +18,13 @@
| block_pof_hash | block_pof_hash
| block_tx_hash | block_tx_hash
| block_state_hash | block_state_hash
| block_witness_hash
| channel | channel
| contract_bytearray | contract_bytearray
| contract_pubkey | contract_pubkey
| contract_store_key | contract_store_key
| contract_store_value | contract_store_value
| contract_source
| transaction | transaction
| tx_hash | tx_hash
| oracle_pubkey | oracle_pubkey
@ -31,14 +33,18 @@
| oracle_response | oracle_response
| account_pubkey | account_pubkey
| account_seckey | account_seckey
| associate_chain
| entry
| signature | signature
| name | name
| native_token
| commitment | commitment
| peer_pubkey | peer_pubkey
| state | state
| poi | poi
| state_trees | state_trees
| call_state_tree | call_state_tree
| mp_tree_hash
| bytearray. | bytearray.
-type extended_type() :: known_type() | block_hash | {id_hash, [known_type()]}. -type extended_type() :: known_type() | block_hash | {id_hash, [known_type()]}.
@ -162,17 +168,25 @@ sha256_hash(Bin) ->
id2type(account) -> account_pubkey; id2type(account) -> account_pubkey;
id2type(associate_chain) -> associate_chain;
id2type(channel) -> channel; id2type(channel) -> channel;
id2type(commitment) -> commitment; id2type(commitment) -> commitment;
id2type(contract) -> contract_pubkey; id2type(contract) -> contract_pubkey;
id2type(contract_source) -> contract_source;
id2type(name) -> name; id2type(name) -> name;
id2type(native_token) -> native_token;
id2type(entry) -> entry;
id2type(oracle) -> oracle_pubkey. id2type(oracle) -> oracle_pubkey.
type2id(account_pubkey) -> account; type2id(account_pubkey) -> account;
type2id(associate_chain) -> associate_chain;
type2id(channel) -> channel; type2id(channel) -> channel;
type2id(commitment) -> commitment; type2id(commitment) -> commitment;
type2id(contract_pubkey) -> contract; type2id(contract_pubkey) -> contract;
type2id(contract_source) -> contract_source;
type2id(name) -> name; type2id(name) -> name;
type2id(native_token) -> native_token;
type2id(entry) -> entry;
type2id(oracle_pubkey) -> oracle. type2id(oracle_pubkey) -> oracle.
type2enc(key_block_hash) -> ?BASE58; type2enc(key_block_hash) -> ?BASE58;
@ -180,11 +194,13 @@ type2enc(micro_block_hash) -> ?BASE58;
type2enc(block_pof_hash) -> ?BASE58; type2enc(block_pof_hash) -> ?BASE58;
type2enc(block_tx_hash) -> ?BASE58; type2enc(block_tx_hash) -> ?BASE58;
type2enc(block_state_hash) -> ?BASE58; type2enc(block_state_hash) -> ?BASE58;
type2enc(block_witness_hash) -> ?BASE58;
type2enc(channel) -> ?BASE58; type2enc(channel) -> ?BASE58;
type2enc(contract_pubkey) -> ?BASE58; type2enc(contract_pubkey) -> ?BASE58;
type2enc(contract_bytearray) -> ?BASE64; type2enc(contract_bytearray) -> ?BASE64;
type2enc(contract_store_key) -> ?BASE64; type2enc(contract_store_key) -> ?BASE64;
type2enc(contract_store_value) -> ?BASE64; type2enc(contract_store_value) -> ?BASE64;
type2enc(contract_source) -> ?BASE64;
type2enc(transaction) -> ?BASE64; type2enc(transaction) -> ?BASE64;
type2enc(tx_hash) -> ?BASE58; type2enc(tx_hash) -> ?BASE58;
type2enc(oracle_pubkey) -> ?BASE58; type2enc(oracle_pubkey) -> ?BASE58;
@ -193,14 +209,19 @@ type2enc(oracle_query_id) -> ?BASE58;
type2enc(oracle_response) -> ?BASE64; type2enc(oracle_response) -> ?BASE64;
type2enc(account_pubkey) -> ?BASE58; type2enc(account_pubkey) -> ?BASE58;
type2enc(account_seckey) -> ?BASE58; type2enc(account_seckey) -> ?BASE58;
type2enc(associate_chain) -> ?BASE58;
type2enc(signature) -> ?BASE58; type2enc(signature) -> ?BASE58;
type2enc(commitment) -> ?BASE58; type2enc(commitment) -> ?BASE58;
type2enc(peer_pubkey) -> ?BASE58; type2enc(peer_pubkey) -> ?BASE58;
type2enc(name) -> ?BASE58; type2enc(name) -> ?BASE58;
type2enc(native_token) -> ?BASE58;
type2enc(state) -> ?BASE64; type2enc(state) -> ?BASE64;
type2enc(poi) -> ?BASE64; type2enc(poi) -> ?BASE64;
type2enc(state_trees) -> ?BASE64; type2enc(state_trees) -> ?BASE64;
type2enc(call_state_tree) -> ?BASE64; type2enc(call_state_tree) -> ?BASE64;
type2enc(mp_tree_hash) -> ?BASE58;
type2enc(hash) -> ?BASE58;
type2enc(entry) -> ?BASE64;
type2enc(bytearray) -> ?BASE64. type2enc(bytearray) -> ?BASE64.
@ -209,11 +230,13 @@ type2pfx(micro_block_hash) -> <<"mh">>;
type2pfx(block_pof_hash) -> <<"bf">>; type2pfx(block_pof_hash) -> <<"bf">>;
type2pfx(block_tx_hash) -> <<"bx">>; type2pfx(block_tx_hash) -> <<"bx">>;
type2pfx(block_state_hash) -> <<"bs">>; type2pfx(block_state_hash) -> <<"bs">>;
type2pfx(block_witness_hash) -> <<"ws">>;
type2pfx(channel) -> <<"ch">>; type2pfx(channel) -> <<"ch">>;
type2pfx(contract_pubkey) -> <<"ct">>; type2pfx(contract_pubkey) -> <<"ct">>;
type2pfx(contract_bytearray) -> <<"cb">>; type2pfx(contract_bytearray) -> <<"cb">>;
type2pfx(contract_store_key) -> <<"ck">>; type2pfx(contract_store_key) -> <<"ck">>;
type2pfx(contract_store_value) -> <<"cv">>; type2pfx(contract_store_value) -> <<"cv">>;
type2pfx(contract_source) -> <<"cx">>;
type2pfx(transaction) -> <<"tx">>; type2pfx(transaction) -> <<"tx">>;
type2pfx(tx_hash) -> <<"th">>; type2pfx(tx_hash) -> <<"th">>;
type2pfx(oracle_pubkey) -> <<"ok">>; type2pfx(oracle_pubkey) -> <<"ok">>;
@ -222,14 +245,19 @@ type2pfx(oracle_query_id) -> <<"oq">>;
type2pfx(oracle_response) -> <<"or">>; type2pfx(oracle_response) -> <<"or">>;
type2pfx(account_pubkey) -> <<"ak">>; type2pfx(account_pubkey) -> <<"ak">>;
type2pfx(account_seckey) -> <<"sk">>; type2pfx(account_seckey) -> <<"sk">>;
type2pfx(associate_chain) -> <<"ac">>;
type2pfx(signature) -> <<"sg">>; type2pfx(signature) -> <<"sg">>;
type2pfx(commitment) -> <<"cm">>; type2pfx(commitment) -> <<"cm">>;
type2pfx(peer_pubkey) -> <<"pp">>; type2pfx(peer_pubkey) -> <<"pp">>;
type2pfx(name) -> <<"nm">>; type2pfx(name) -> <<"nm">>;
type2pfx(native_token) -> <<"nt">>;
type2pfx(state) -> <<"st">>; type2pfx(state) -> <<"st">>;
type2pfx(poi) -> <<"pi">>; type2pfx(poi) -> <<"pi">>;
type2pfx(state_trees) -> <<"ss">>; type2pfx(state_trees) -> <<"ss">>;
type2pfx(call_state_tree) -> <<"cs">>; type2pfx(call_state_tree) -> <<"cs">>;
type2pfx(mp_tree_hash) -> <<"mt">>;
type2pfx(hash) -> <<"hs">>;
type2pfx(entry) -> <<"en">>;
type2pfx(bytearray) -> <<"ba">>. type2pfx(bytearray) -> <<"ba">>.
pfx2type(<<"kh">>) -> key_block_hash; pfx2type(<<"kh">>) -> key_block_hash;
@ -237,11 +265,13 @@ pfx2type(<<"mh">>) -> micro_block_hash;
pfx2type(<<"bf">>) -> block_pof_hash; pfx2type(<<"bf">>) -> block_pof_hash;
pfx2type(<<"bx">>) -> block_tx_hash; pfx2type(<<"bx">>) -> block_tx_hash;
pfx2type(<<"bs">>) -> block_state_hash; pfx2type(<<"bs">>) -> block_state_hash;
pfx2type(<<"ws">>) -> block_witness_hash;
pfx2type(<<"ch">>) -> channel; pfx2type(<<"ch">>) -> channel;
pfx2type(<<"cb">>) -> contract_bytearray; pfx2type(<<"cb">>) -> contract_bytearray;
pfx2type(<<"ck">>) -> contract_store_key; pfx2type(<<"ck">>) -> contract_store_key;
pfx2type(<<"cv">>) -> contract_store_value; pfx2type(<<"cv">>) -> contract_store_value;
pfx2type(<<"ct">>) -> contract_pubkey; pfx2type(<<"ct">>) -> contract_pubkey;
pfx2type(<<"cx">>) -> contract_source;
pfx2type(<<"tx">>) -> transaction; pfx2type(<<"tx">>) -> transaction;
pfx2type(<<"th">>) -> tx_hash; pfx2type(<<"th">>) -> tx_hash;
pfx2type(<<"ok">>) -> oracle_pubkey; pfx2type(<<"ok">>) -> oracle_pubkey;
@ -250,14 +280,19 @@ pfx2type(<<"oq">>) -> oracle_query_id;
pfx2type(<<"or">>) -> oracle_response; pfx2type(<<"or">>) -> oracle_response;
pfx2type(<<"ak">>) -> account_pubkey; pfx2type(<<"ak">>) -> account_pubkey;
pfx2type(<<"sk">>) -> account_seckey; pfx2type(<<"sk">>) -> account_seckey;
pfx2type(<<"ac">>) -> associate_chain;
pfx2type(<<"sg">>) -> signature; pfx2type(<<"sg">>) -> signature;
pfx2type(<<"cm">>) -> commitment; pfx2type(<<"cm">>) -> commitment;
pfx2type(<<"pp">>) -> peer_pubkey; pfx2type(<<"pp">>) -> peer_pubkey;
pfx2type(<<"nm">>) -> name; pfx2type(<<"nm">>) -> name;
pfx2type(<<"nt">>) -> native_token;
pfx2type(<<"st">>) -> state; pfx2type(<<"st">>) -> state;
pfx2type(<<"pi">>) -> poi; pfx2type(<<"pi">>) -> poi;
pfx2type(<<"ss">>) -> state_trees; pfx2type(<<"ss">>) -> state_trees;
pfx2type(<<"cs">>) -> call_state_tree; pfx2type(<<"cs">>) -> call_state_tree;
pfx2type(<<"mt">>) -> mp_tree_hash;
pfx2type(<<"hs">>) -> hash;
pfx2type(<<"en">>) -> entry;
pfx2type(<<"ba">>) -> bytearray. pfx2type(<<"ba">>) -> bytearray.
-spec byte_size_for_type(known_type()) -> non_neg_integer() | not_applicable. -spec byte_size_for_type(known_type()) -> non_neg_integer() | not_applicable.
@ -267,11 +302,13 @@ byte_size_for_type(micro_block_hash) -> 32;
byte_size_for_type(block_pof_hash) -> 32; byte_size_for_type(block_pof_hash) -> 32;
byte_size_for_type(block_tx_hash) -> 32; byte_size_for_type(block_tx_hash) -> 32;
byte_size_for_type(block_state_hash) -> 32; byte_size_for_type(block_state_hash) -> 32;
byte_size_for_type(block_witness_hash) -> 32;
byte_size_for_type(channel) -> 32; byte_size_for_type(channel) -> 32;
byte_size_for_type(contract_pubkey) -> 32; byte_size_for_type(contract_pubkey) -> 32;
byte_size_for_type(contract_bytearray) -> not_applicable; byte_size_for_type(contract_bytearray) -> not_applicable;
byte_size_for_type(contract_store_key) -> not_applicable; byte_size_for_type(contract_store_key) -> not_applicable;
byte_size_for_type(contract_store_value) -> not_applicable; byte_size_for_type(contract_store_value) -> not_applicable;
byte_size_for_type(contract_source) -> not_applicable;
byte_size_for_type(transaction) -> not_applicable; byte_size_for_type(transaction) -> not_applicable;
byte_size_for_type(tx_hash) -> 32; byte_size_for_type(tx_hash) -> 32;
byte_size_for_type(oracle_pubkey) -> 32; byte_size_for_type(oracle_pubkey) -> 32;
@ -280,14 +317,19 @@ byte_size_for_type(oracle_query_id) -> 32;
byte_size_for_type(oracle_response) -> not_applicable; byte_size_for_type(oracle_response) -> not_applicable;
byte_size_for_type(account_pubkey) -> 32; byte_size_for_type(account_pubkey) -> 32;
byte_size_for_type(account_seckey) -> 32; byte_size_for_type(account_seckey) -> 32;
byte_size_for_type(associate_chain) -> 32;
byte_size_for_type(signature) -> 64; byte_size_for_type(signature) -> 64;
byte_size_for_type(name) -> not_applicable; byte_size_for_type(name) -> not_applicable;
byte_size_for_type(native_token) -> 32;
byte_size_for_type(commitment) -> 32; byte_size_for_type(commitment) -> 32;
byte_size_for_type(peer_pubkey) -> 32; byte_size_for_type(peer_pubkey) -> 32;
byte_size_for_type(state) -> 32; byte_size_for_type(state) -> 32;
byte_size_for_type(poi) -> not_applicable; byte_size_for_type(poi) -> not_applicable;
byte_size_for_type(state_trees) -> not_applicable; byte_size_for_type(state_trees) -> not_applicable;
byte_size_for_type(call_state_tree) -> not_applicable; byte_size_for_type(call_state_tree) -> not_applicable;
byte_size_for_type(mp_tree_hash) -> 32;
byte_size_for_type(hash) -> 32;
byte_size_for_type(entry) -> not_applicable;
byte_size_for_type(bytearray) -> not_applicable. byte_size_for_type(bytearray) -> not_applicable.

View File

@ -39,6 +39,7 @@ deserialize(Type, Vsn, Template, Binary) ->
tag(account) -> 10; tag(account) -> 10;
tag(signed_tx) -> 11; tag(signed_tx) -> 11;
tag(spend_tx) -> 12; tag(spend_tx) -> 12;
tag(data_extend_tx) -> 13;
tag(oracle) -> 20; tag(oracle) -> 20;
tag(oracle_query) -> 21; tag(oracle_query) -> 21;
tag(oracle_register_tx) -> 22; tag(oracle_register_tx) -> 22;
@ -57,8 +58,10 @@ tag(contract) -> 40;
tag(contract_call) -> 41; tag(contract_call) -> 41;
tag(contract_create_tx) -> 42; tag(contract_create_tx) -> 42;
tag(contract_call_tx) -> 43; tag(contract_call_tx) -> 43;
tag(contract_source) -> 44;
tag(channel_create_tx) -> 50; tag(channel_create_tx) -> 50;
tag(channel_set_delegates_tx) -> 501; tag(channel_set_delegates_tx) -> 501;
tag(channel_delegates) -> 502;
tag(channel_deposit_tx) -> 51; tag(channel_deposit_tx) -> 51;
tag(channel_withdraw_tx) -> 52; tag(channel_withdraw_tx) -> 52;
tag(channel_force_progress_tx) -> 521; tag(channel_force_progress_tx) -> 521;
@ -87,19 +90,41 @@ tag(channels_mtree) -> 623;
tag(nameservice_mtree) -> 624; tag(nameservice_mtree) -> 624;
tag(oracles_mtree) -> 625; tag(oracles_mtree) -> 625;
tag(accounts_mtree) -> 626; tag(accounts_mtree) -> 626;
tag(acs_mtree) -> 627;
tag(entries_mtree) -> 628;
tag(compiler_sophia) -> 70; tag(compiler_sophia) -> 70;
tag(ga_attach_tx) -> 80; tag(ga_attach_tx) -> 80;
tag(ga_meta_tx) -> 81; tag(ga_meta_tx) -> 81;
tag(paying_for_tx) -> 82; tag(paying_for_tx) -> 82;
tag(ga_meta_tx_auth_data) -> 810; tag(ga_meta_tx_auth_data) -> 810;
tag(associate_chain) -> 90;
tag(ac_state) -> 91;
tag(ac_burn) -> 92;
tag(ac_create_tx) -> 93;
tag(ac_deposit_tx) -> 94;
tag(ac_update_cops_tx) -> 95;
tag(ac_rollup_tx) -> 96;
tag(key_block) -> 100; tag(key_block) -> 100;
tag(micro_block) -> 101; tag(micro_block) -> 101;
tag(light_micro_block) -> 102; tag(light_micro_block) -> 102;
tag(testimony) -> 110;
tag(testimony_tx) -> 111;
tag(nt_native_token) -> 120;
tag(nt_create_tx) -> 121;
tag(nt_mint_tx) -> 122;
tag(nt_finalize_tx) -> 123;
tag(nt_trade_tx) -> 124;
tag(nt_burn_tx) -> 125;
tag(entry) -> 140;
tag(entry_create_tx) -> 141;
tag(entry_transfer_tx) -> 142;
tag(entry_destroy_tx) -> 143;
tag(pof) -> 200. tag(pof) -> 200.
rev_tag(10) -> account; rev_tag(10) -> account;
rev_tag(11) -> signed_tx; rev_tag(11) -> signed_tx;
rev_tag(12) -> spend_tx; rev_tag(12) -> spend_tx;
rev_tag(13) -> data_extend_tx;
rev_tag(20) -> oracle; rev_tag(20) -> oracle;
rev_tag(21) -> oracle_query; rev_tag(21) -> oracle_query;
rev_tag(22) -> oracle_register_tx; rev_tag(22) -> oracle_register_tx;
@ -118,8 +143,10 @@ rev_tag(40) -> contract;
rev_tag(41) -> contract_call; rev_tag(41) -> contract_call;
rev_tag(42) -> contract_create_tx; rev_tag(42) -> contract_create_tx;
rev_tag(43) -> contract_call_tx; rev_tag(43) -> contract_call_tx;
rev_tag(44) -> contract_source;
rev_tag(50) -> channel_create_tx; rev_tag(50) -> channel_create_tx;
rev_tag(501) -> channel_set_delegates_tx; rev_tag(501) -> channel_set_delegates_tx;
rev_tag(502) -> channel_delegates;
rev_tag(51) -> channel_deposit_tx; rev_tag(51) -> channel_deposit_tx;
rev_tag(52) -> channel_withdraw_tx; rev_tag(52) -> channel_withdraw_tx;
rev_tag(521) -> channel_force_progress_tx; rev_tag(521) -> channel_force_progress_tx;
@ -148,12 +175,33 @@ rev_tag(623) -> channels_mtree;
rev_tag(624) -> nameservice_mtree; rev_tag(624) -> nameservice_mtree;
rev_tag(625) -> oracles_mtree; rev_tag(625) -> oracles_mtree;
rev_tag(626) -> accounts_mtree; rev_tag(626) -> accounts_mtree;
rev_tag(627) -> acs_mtree;
rev_tag(628) -> entries_mtree;
rev_tag(70) -> compiler_sophia; rev_tag(70) -> compiler_sophia;
rev_tag(80) -> ga_attach_tx; rev_tag(80) -> ga_attach_tx;
rev_tag(81) -> ga_meta_tx; rev_tag(81) -> ga_meta_tx;
rev_tag(82) -> paying_for_tx; rev_tag(82) -> paying_for_tx;
rev_tag(810) -> ga_meta_tx_auth_data; rev_tag(810) -> ga_meta_tx_auth_data;
rev_tag(90) -> associate_chain;
rev_tag(91) -> ac_state;
rev_tag(92) -> ac_burn;
rev_tag(93) -> ac_create_tx;
rev_tag(94) -> ac_deposit_tx;
rev_tag(95) -> ac_update_cops_tx;
rev_tag(96) -> ac_rollup_tx;
rev_tag(100) -> key_block; rev_tag(100) -> key_block;
rev_tag(101) -> micro_block; rev_tag(101) -> micro_block;
rev_tag(102) -> light_micro_block; rev_tag(102) -> light_micro_block;
rev_tag(110) -> testimony;
rev_tag(111) -> testimony_tx;
rev_tag(120) -> nt_native_token;
rev_tag(121) -> nt_create_tx;
rev_tag(122) -> nt_mint_tx;
rev_tag(123) -> nt_finalize_tx;
rev_tag(124) -> nt_trade_tx;
rev_tag(125) -> nt_burn_tx;
rev_tag(140) -> entry;
rev_tag(141) -> entry_create_tx;
rev_tag(142) -> entry_transfer_tx;
rev_tag(143) -> entry_destroy_tx;
rev_tag(200) -> pof. rev_tag(200) -> pof.

View File

@ -25,7 +25,8 @@
}). }).
-type tag() :: 'account' | 'oracle' | 'name' -type tag() :: 'account' | 'oracle' | 'name'
| 'commitment' | 'contract' | 'channel'. | 'commitment' | 'contract' | 'channel'
| 'associate_chain' | 'entry' .
-type val() :: <<_:256>>. -type val() :: <<_:256>>.
-opaque(id() :: #id{}). -opaque(id() :: #id{}).
@ -43,7 +44,9 @@
___TAG___ =:= name; ___TAG___ =:= name;
___TAG___ =:= commitment; ___TAG___ =:= commitment;
___TAG___ =:= contract; ___TAG___ =:= contract;
___TAG___ =:= channel ___TAG___ =:= channel;
___TAG___ =:= associate_chain;
___TAG___ =:= entry
). ).
-define(IS_VAL(___VAL___), byte_size(___VAL___) =:= 32). -define(IS_VAL(___VAL___), byte_size(___VAL___) =:= 32).
@ -100,6 +103,9 @@ encode_tag(commitment) -> 3;
encode_tag(oracle) -> 4; encode_tag(oracle) -> 4;
encode_tag(contract) -> 5; encode_tag(contract) -> 5;
encode_tag(channel) -> 6; encode_tag(channel) -> 6;
encode_tag(associate_chain) -> 7;
encode_tag(native_token) -> 8;
encode_tag(entry) -> 9;
encode_tag(Other) -> error({illegal_id_tag_name, Other}). encode_tag(Other) -> error({illegal_id_tag_name, Other}).
decode_tag(1) -> account; decode_tag(1) -> account;
@ -108,4 +114,7 @@ decode_tag(3) -> commitment;
decode_tag(4) -> oracle; decode_tag(4) -> oracle;
decode_tag(5) -> contract; decode_tag(5) -> contract;
decode_tag(6) -> channel; decode_tag(6) -> channel;
decode_tag(7) -> associate_chain;
decode_tag(8) -> native_token;
decode_tag(9) -> entry;
decode_tag(X) -> error({illegal_id_tag, X}). decode_tag(X) -> error({illegal_id_tag, X}).

View File

@ -20,6 +20,7 @@
, {account_pubkey , 32} , {account_pubkey , 32}
, {signature , 64} , {signature , 64}
, {name , not_applicable} , {name , not_applicable}
, {native_token , 32}
, {commitment , 32} , {commitment , 32}
, {peer_pubkey , 32} , {peer_pubkey , 32}
, {state , 32} , {state , 32}