diff --git a/shlr/protosol b/shlr/protosol index 85078ec..587033c 160000 --- a/shlr/protosol +++ b/shlr/protosol @@ -1 +1 @@ -Subproject commit 85078ec9bb7782f6bf49d65d8f1cc89cb3abb3a0 +Subproject commit 587033cc468b1c4e47ab11e4421fa7de1dcd2756 diff --git a/src/test_suite/fixture_utils.py b/src/test_suite/fixture_utils.py index a698773..044d2e0 100644 --- a/src/test_suite/fixture_utils.py +++ b/src/test_suite/fixture_utils.py @@ -166,16 +166,15 @@ def write_fixture_to_disk( fixture.ParseFromString(serialized_fixture) # Encode fields for instruction context and effects - context = harness_ctx.context_type() - context.CopyFrom(fixture.input) - # encode_input(context) - harness_ctx.context_human_encode_fn(context) + if harness_ctx.context_type is not None: + context = harness_ctx.context_type() + context.CopyFrom(fixture.input) + harness_ctx.context_human_encode_fn(context) + fixture.input.CopyFrom(context) instr_effects = harness_ctx.effects_type() instr_effects.CopyFrom(fixture.output) harness_ctx.effects_human_encode_fn(instr_effects) - - fixture.input.CopyFrom(context) fixture.output.CopyFrom(instr_effects) with open(output_dir / (file_stem + ".fix.txt"), "w") as f: @@ -367,6 +366,9 @@ def regenerate_fixture(test_file: Path) -> int: fixture = read_fixture(test_file) harness_ctx = get_harness_for_entrypoint(fixture.metadata.fn_entrypoint) + if harness_ctx.context_type is None: + return # Scalar-input harnesses do not support feature regeneration + features_path = pb_utils.find_field_with_type( harness_ctx.context_type.DESCRIPTOR, context_pb.FeatureSet.DESCRIPTOR ) diff --git a/src/test_suite/fuzz_context.py b/src/test_suite/fuzz_context.py index 81b3d20..05d5c8a 100644 --- a/src/test_suite/fuzz_context.py +++ b/src/test_suite/fuzz_context.py @@ -9,7 +9,7 @@ import test_suite.protos.invoke_pb2 as invoke_pb import test_suite.protos.vm_pb2 as vm_pb import test_suite.protos.block_pb2 as block_pb -import test_suite.protos.pack_pb2 as pack_pb + import test_suite.protos.gossip_pb2 as gossip_pb import test_suite.block.codec_utils as block_codec @@ -75,12 +75,6 @@ consensus_diff_effect_fn=txn_diff.consensus_txn_diff_effects, ) -PackComputeBudgetHarness = HarnessCtx( - fuzz_fn_name="sol_compat_pack_compute_budget_v1", - fixture_desc=pack_pb.PackComputeBudgetFixture.DESCRIPTOR, - context_extension=".packctx", -) - BlockHarness = HarnessCtx( fuzz_fn_name="sol_compat_block_execute_v1", fixture_desc=block_pb.BlockFixture.DESCRIPTOR, @@ -100,6 +94,13 @@ effects_human_encode_fn=gossip_codec.encode_output, ) +GossipDecodeHarness = HarnessCtx( + fuzz_fn_name="sol_compat_gossip_decode_v1", + fixture_desc=gossip_pb.GossipFixture.DESCRIPTOR, + context_extension=".gossipdecodectx", + effects_human_encode_fn=gossip_codec.encode_effects, +) + ENTRYPOINT_HARNESS_MAP = { obj.fuzz_fn_name: obj for obj in globals().values() if isinstance(obj, HarnessCtx) diff --git a/src/test_suite/fuzz_interface.py b/src/test_suite/fuzz_interface.py index 6ae31ef..fc6acb0 100644 --- a/src/test_suite/fuzz_interface.py +++ b/src/test_suite/fuzz_interface.py @@ -90,9 +90,14 @@ class HarnessCtx: def __post_init__(self, fixture_desc): self.fixture_type = message_factory.GetMessageClass(fixture_desc) - self.context_type = message_factory.GetMessageClass( - fixture_desc.fields_by_name["input"].message_type - ) + input_field = fixture_desc.fields_by_name["input"] + if input_field.message_type is not None: + self.context_type = message_factory.GetMessageClass( + input_field.message_type + ) + else: + # Scalar input (e.g. bytes) - no message class to derive + self.context_type = None self.effects_type = message_factory.GetMessageClass( fixture_desc.fields_by_name["output"].message_type ) diff --git a/src/test_suite/gossip/codec_utils.py b/src/test_suite/gossip/codec_utils.py index 40b5e0f..fbbc8d3 100644 --- a/src/test_suite/gossip/codec_utils.py +++ b/src/test_suite/gossip/codec_utils.py @@ -38,3 +38,8 @@ def decode_input(msg: gossip_pb.GossipMessageBinary): def encode_output(effects: gossip_pb.AcceptsGossipMessage): """No-op: output is just a bool, already human-readable.""" pass + + +def encode_effects(effects: gossip_pb.GossipEffects): + """No-op: GossipEffects fields are already human-readable.""" + pass diff --git a/src/test_suite/multiprocessing_utils.py b/src/test_suite/multiprocessing_utils.py index ac3c83e..8437c1b 100644 --- a/src/test_suite/multiprocessing_utils.py +++ b/src/test_suite/multiprocessing_utils.py @@ -318,6 +318,9 @@ def read_context(harness_ctx: HarnessCtx, test_file: Path) -> message.Message | Returns: - message.Message | None: Instruction context, or None if reading failed. """ + if harness_ctx.context_type is None: + return None + # Try to read in first as binary-encoded Protobuf messages try: # Read in binary Protobuf messages @@ -440,8 +443,10 @@ def decode_single_test_case(test_file: Path) -> int: # Encode the input fields to be human readable if test_file.suffix == FIXTURE_EXTENSION: output = harness_ctx.fixture_type() - else: + elif harness_ctx.context_type is not None: output = harness_ctx.context_type() + else: + return 0 output.ParseFromString(serialized_protobuf) diff --git a/src/test_suite/protos/gossip_pb2.py b/src/test_suite/protos/gossip_pb2.py index 5a49fd6..2052345 100644 --- a/src/test_suite/protos/gossip_pb2.py +++ b/src/test_suite/protos/gossip_pb2.py @@ -22,7 +22,7 @@ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( - b'\n\x0cgossip.proto\x12\x16org.solana.sealevel.v1\x1a\x0emetadata.proto")\n\x13GossipMessageBinary\x12\x12\n\x04\x64\x61ta\x18\x01 \x01(\x0cR\x04\x64\x61ta",\n\x14\x41\x63\x63\x65ptsGossipMessage\x12\x14\n\x05valid\x18\x01 \x01(\x08R\x05valid"\xe4\x01\n\x14GossipMessageFixture\x12\x43\n\x08metadata\x18\x01 \x01(\x0b\x32\'.org.solana.sealevel.v1.FixtureMetadataR\x08metadata\x12\x41\n\x05input\x18\x02 \x01(\x0b\x32+.org.solana.sealevel.v1.GossipMessageBinaryR\x05input\x12\x44\n\x06output\x18\x03 \x01(\x0b\x32,.org.solana.sealevel.v1.AcceptsGossipMessageR\x06outputb\x06proto3' + b'\n\x0cgossip.proto\x12\x16org.solana.sealevel.v1\x1a\x0emetadata.proto")\n\x13GossipMessageBinary\x12\x12\n\x04\x64\x61ta\x18\x01 \x01(\x0cR\x04\x64\x61ta",\n\x14\x41\x63\x63\x65ptsGossipMessage\x12\x14\n\x05valid\x18\x01 \x01(\x08R\x05valid"\xe4\x01\n\x14GossipMessageFixture\x12\x43\n\x08metadata\x18\x01 \x01(\x0b\x32\'.org.solana.sealevel.v1.FixtureMetadataR\x08metadata\x12\x41\n\x05input\x18\x02 \x01(\x0b\x32+.org.solana.sealevel.v1.GossipMessageBinaryR\x05input\x12\x44\n\x06output\x18\x03 \x01(\x0b\x32,.org.solana.sealevel.v1.AcceptsGossipMessageR\x06output"\xa9\x01\n\rGossipFixture\x12\x43\n\x08metadata\x18\x01 \x01(\x0b\x32\'.org.solana.sealevel.v1.FixtureMetadataR\x08metadata\x12\x14\n\x05input\x18\x02 \x01(\x0cR\x05input\x12=\n\x06output\x18\x03 \x01(\x0b\x32%.org.solana.sealevel.v1.GossipEffectsR\x06output"Z\n\rGossipEffects\x12\x14\n\x05valid\x18\x01 \x01(\x08R\x05valid\x12\x33\n\x03msg\x18\x02 \x01(\x0b\x32!.org.solana.sealevel.v1.GossipMsgR\x03msg"\xcc\x03\n\tGossipMsg\x12\x38\n\x04ping\x18\x01 \x01(\x0b\x32".org.solana.sealevel.v1.GossipPingH\x00R\x04ping\x12\x38\n\x04pong\x18\x02 \x01(\x0b\x32".org.solana.sealevel.v1.GossipPongH\x00R\x04pong\x12N\n\x0cpull_request\x18\x03 \x01(\x0b\x32).org.solana.sealevel.v1.GossipPullRequestH\x00R\x0bpullRequest\x12Q\n\rpull_response\x18\x04 \x01(\x0b\x32*.org.solana.sealevel.v1.GossipPullResponseH\x00R\x0cpullResponse\x12N\n\x0cpush_message\x18\x05 \x01(\x0b\x32).org.solana.sealevel.v1.GossipPushMessageH\x00R\x0bpushMessage\x12Q\n\rprune_message\x18\x06 \x01(\x0b\x32*.org.solana.sealevel.v1.GossipPruneMessageH\x00R\x0cpruneMessageB\x05\n\x03msg"T\n\nGossipPing\x12\x12\n\x04\x66rom\x18\x01 \x01(\x0cR\x04\x66rom\x12\x14\n\x05token\x18\x02 \x01(\x0cR\x05token\x12\x1c\n\tsignature\x18\x03 \x01(\x0cR\tsignature"R\n\nGossipPong\x12\x12\n\x04\x66rom\x18\x01 \x01(\x0cR\x04\x66rom\x12\x12\n\x04hash\x18\x02 \x01(\x0cR\x04hash\x12\x1c\n\tsignature\x18\x03 \x01(\x0cR\tsignature"\x94\x01\n\x11GossipPullRequest\x12@\n\x06\x66ilter\x18\x01 \x01(\x0b\x32(.org.solana.sealevel.v1.GossipCrdsFilterR\x06\x66ilter\x12=\n\x05value\x18\x02 \x01(\x0b\x32\'.org.solana.sealevel.v1.GossipCrdsValueR\x05value"m\n\x12GossipPullResponse\x12\x16\n\x06pubkey\x18\x01 \x01(\x0cR\x06pubkey\x12?\n\x06values\x18\x02 \x03(\x0b\x32\'.org.solana.sealevel.v1.GossipCrdsValueR\x06values"l\n\x11GossipPushMessage\x12\x16\n\x06pubkey\x18\x01 \x01(\x0cR\x06pubkey\x12?\n\x06values\x18\x02 \x03(\x0b\x32\'.org.solana.sealevel.v1.GossipCrdsValueR\x06values"i\n\x12GossipPruneMessage\x12\x16\n\x06pubkey\x18\x01 \x01(\x0cR\x06pubkey\x12;\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32\'.org.solana.sealevel.v1.GossipPruneDataR\x04\x64\x61ta"\x9f\x01\n\x0fGossipPruneData\x12\x16\n\x06pubkey\x18\x01 \x01(\x0cR\x06pubkey\x12\x16\n\x06prunes\x18\x02 \x03(\x0cR\x06prunes\x12\x1c\n\tsignature\x18\x03 \x01(\x0cR\tsignature\x12 \n\x0b\x64\x65stination\x18\x04 \x01(\x0cR\x0b\x64\x65stination\x12\x1c\n\twallclock\x18\x05 \x01(\x04R\twallclock"\x80\x01\n\x10GossipCrdsFilter\x12;\n\x06\x66ilter\x18\x01 \x01(\x0b\x32#.org.solana.sealevel.v1.GossipBloomR\x06\x66ilter\x12\x12\n\x04mask\x18\x02 \x01(\x04R\x04mask\x12\x1b\n\tmask_bits\x18\x03 \x01(\rR\x08maskBits"W\n\x0bGossipBloom\x12\x12\n\x04keys\x18\x01 \x03(\x04R\x04keys\x12\x12\n\x04\x62its\x18\x02 \x01(\x0cR\x04\x62its\x12 \n\x0cnum_bits_set\x18\x03 \x01(\x04R\nnumBitsSet"k\n\x0fGossipCrdsValue\x12\x1c\n\tsignature\x18\x01 \x01(\x0cR\tsignature\x12:\n\x04\x64\x61ta\x18\x02 \x01(\x0b\x32&.org.solana.sealevel.v1.GossipCrdsDataR\x04\x64\x61ta"\xee\x03\n\x0eGossipCrdsData\x12N\n\x0c\x63ontact_info\x18\x01 \x01(\x0b\x32).org.solana.sealevel.v1.GossipContactInfoH\x00R\x0b\x63ontactInfo\x12\x38\n\x04vote\x18\x02 \x01(\x0b\x32".org.solana.sealevel.v1.GossipVoteH\x00R\x04vote\x12K\n\x0blowest_slot\x18\x03 \x01(\x0b\x32(.org.solana.sealevel.v1.GossipLowestSlotH\x00R\nlowestSlot\x12K\n\x0b\x65poch_slots\x18\x04 \x01(\x0b\x32(.org.solana.sealevel.v1.GossipEpochSlotsH\x00R\nepochSlots\x12W\n\x0fsnapshot_hashes\x18\x05 \x01(\x0b\x32,.org.solana.sealevel.v1.GossipSnapshotHashesH\x00R\x0esnapshotHashes\x12W\n\x0f\x64uplicate_shred\x18\x06 \x01(\x0b\x32,.org.solana.sealevel.v1.GossipDuplicateShredH\x00R\x0e\x64uplicateShredB\x06\n\x04\x64\x61ta"\x86\x01\n\x11GossipContactInfo\x12\x16\n\x06pubkey\x18\x01 \x01(\x0cR\x06pubkey\x12\x1c\n\twallclock\x18\x02 \x01(\x04R\twallclock\x12\x16\n\x06outset\x18\x03 \x01(\x04R\x06outset\x12#\n\rshred_version\x18\x04 \x01(\rR\x0cshredVersion"v\n\nGossipVote\x12\x14\n\x05index\x18\x01 \x01(\rR\x05index\x12\x12\n\x04\x66rom\x18\x02 \x01(\x0cR\x04\x66rom\x12\x1c\n\twallclock\x18\x03 \x01(\x04R\twallclock\x12 \n\x0btransaction\x18\x04 \x01(\x0cR\x0btransaction"r\n\x10GossipLowestSlot\x12\x14\n\x05index\x18\x01 \x01(\rR\x05index\x12\x12\n\x04\x66rom\x18\x02 \x01(\x0cR\x04\x66rom\x12\x16\n\x06lowest\x18\x03 \x01(\x04R\x06lowest\x12\x1c\n\twallclock\x18\x04 \x01(\x04R\twallclock"Z\n\x10GossipEpochSlots\x12\x14\n\x05index\x18\x01 \x01(\rR\x05index\x12\x12\n\x04\x66rom\x18\x02 \x01(\x0cR\x04\x66rom\x12\x1c\n\twallclock\x18\x03 \x01(\x04R\twallclock"\xd3\x01\n\x14GossipSnapshotHashes\x12\x12\n\x04\x66rom\x18\x01 \x01(\x0cR\x04\x66rom\x12\x1b\n\tfull_slot\x18\x02 \x01(\x04R\x08\x66ullSlot\x12\x1b\n\tfull_hash\x18\x03 \x01(\x0cR\x08\x66ullHash\x12O\n\x0bincremental\x18\x04 \x03(\x0b\x32-.org.solana.sealevel.v1.GossipIncrementalHashR\x0bincremental\x12\x1c\n\twallclock\x18\x05 \x01(\x04R\twallclock"?\n\x15GossipIncrementalHash\x12\x12\n\x04slot\x18\x01 \x01(\x04R\x04slot\x12\x12\n\x04hash\x18\x02 \x01(\x0cR\x04hash"\x88\x02\n\x14GossipDuplicateShred\x12\x14\n\x05index\x18\x01 \x01(\rR\x05index\x12\x12\n\x04\x66rom\x18\x02 \x01(\x0cR\x04\x66rom\x12\x1c\n\twallclock\x18\x03 \x01(\x04R\twallclock\x12\x12\n\x04slot\x18\x04 \x01(\x04R\x04slot\x12\x1f\n\x0bshred_index\x18\x05 \x01(\rR\nshredIndex\x12\x1d\n\nshred_type\x18\x06 \x01(\rR\tshredType\x12\x1d\n\nnum_chunks\x18\x07 \x01(\rR\tnumChunks\x12\x1f\n\x0b\x63hunk_index\x18\x08 \x01(\rR\nchunkIndex\x12\x14\n\x05\x63hunk\x18\t \x01(\x0cR\x05\x63hunkb\x06proto3' ) _globals = globals() @@ -36,4 +36,46 @@ _globals["_ACCEPTSGOSSIPMESSAGE"]._serialized_end = 143 _globals["_GOSSIPMESSAGEFIXTURE"]._serialized_start = 146 _globals["_GOSSIPMESSAGEFIXTURE"]._serialized_end = 374 + _globals["_GOSSIPFIXTURE"]._serialized_start = 377 + _globals["_GOSSIPFIXTURE"]._serialized_end = 546 + _globals["_GOSSIPEFFECTS"]._serialized_start = 548 + _globals["_GOSSIPEFFECTS"]._serialized_end = 638 + _globals["_GOSSIPMSG"]._serialized_start = 641 + _globals["_GOSSIPMSG"]._serialized_end = 1101 + _globals["_GOSSIPPING"]._serialized_start = 1103 + _globals["_GOSSIPPING"]._serialized_end = 1187 + _globals["_GOSSIPPONG"]._serialized_start = 1189 + _globals["_GOSSIPPONG"]._serialized_end = 1271 + _globals["_GOSSIPPULLREQUEST"]._serialized_start = 1274 + _globals["_GOSSIPPULLREQUEST"]._serialized_end = 1422 + _globals["_GOSSIPPULLRESPONSE"]._serialized_start = 1424 + _globals["_GOSSIPPULLRESPONSE"]._serialized_end = 1533 + _globals["_GOSSIPPUSHMESSAGE"]._serialized_start = 1535 + _globals["_GOSSIPPUSHMESSAGE"]._serialized_end = 1643 + _globals["_GOSSIPPRUNEMESSAGE"]._serialized_start = 1645 + _globals["_GOSSIPPRUNEMESSAGE"]._serialized_end = 1750 + _globals["_GOSSIPPRUNEDATA"]._serialized_start = 1753 + _globals["_GOSSIPPRUNEDATA"]._serialized_end = 1912 + _globals["_GOSSIPCRDSFILTER"]._serialized_start = 1915 + _globals["_GOSSIPCRDSFILTER"]._serialized_end = 2043 + _globals["_GOSSIPBLOOM"]._serialized_start = 2045 + _globals["_GOSSIPBLOOM"]._serialized_end = 2132 + _globals["_GOSSIPCRDSVALUE"]._serialized_start = 2134 + _globals["_GOSSIPCRDSVALUE"]._serialized_end = 2241 + _globals["_GOSSIPCRDSDATA"]._serialized_start = 2244 + _globals["_GOSSIPCRDSDATA"]._serialized_end = 2738 + _globals["_GOSSIPCONTACTINFO"]._serialized_start = 2741 + _globals["_GOSSIPCONTACTINFO"]._serialized_end = 2875 + _globals["_GOSSIPVOTE"]._serialized_start = 2877 + _globals["_GOSSIPVOTE"]._serialized_end = 2995 + _globals["_GOSSIPLOWESTSLOT"]._serialized_start = 2997 + _globals["_GOSSIPLOWESTSLOT"]._serialized_end = 3111 + _globals["_GOSSIPEPOCHSLOTS"]._serialized_start = 3113 + _globals["_GOSSIPEPOCHSLOTS"]._serialized_end = 3203 + _globals["_GOSSIPSNAPSHOTHASHES"]._serialized_start = 3206 + _globals["_GOSSIPSNAPSHOTHASHES"]._serialized_end = 3417 + _globals["_GOSSIPINCREMENTALHASH"]._serialized_start = 3419 + _globals["_GOSSIPINCREMENTALHASH"]._serialized_end = 3482 + _globals["_GOSSIPDUPLICATESHRED"]._serialized_start = 3485 + _globals["_GOSSIPDUPLICATESHRED"]._serialized_end = 3749 # @@protoc_insertion_point(module_scope) diff --git a/src/test_suite/protos/pack_pb2.py b/src/test_suite/protos/pack_pb2.py deleted file mode 100644 index 06958b9..0000000 --- a/src/test_suite/protos/pack_pb2.py +++ /dev/null @@ -1,40 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# NO CHECKED-IN PROTOBUF GENCODE -# source: pack.proto -# Protobuf Python Version: 7.34.1 -"""Generated protocol buffer code.""" -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import runtime_version as _runtime_version -from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder - -_runtime_version.ValidateProtobufRuntimeVersion( - _runtime_version.Domain.PUBLIC, 7, 34, 1, "", "pack.proto" -) -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from . import metadata_pb2 as metadata__pb2 -from . import context_pb2 as context__pb2 - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( - b'\n\npack.proto\x12\x16org.solana.sealevel.v1\x1a\x0emetadata.proto\x1a\rcontext.proto"{\n\x18PackComputeBudgetContext\x12\x1f\n\x0binstr_datas\x18\x01 \x03(\x0cR\ninstrDatas\x12>\n\x08\x66\x65\x61tures\x18\x02 \x01(\x0b\x32".org.solana.sealevel.v1.FeatureSetR\x08\x66\x65\x61tures"\xc5\x01\n\x18PackComputeBudgetEffects\x12,\n\x12\x63ompute_unit_limit\x18\x01 \x01(\x04R\x10\x63omputeUnitLimit\x12\x18\n\x07rewards\x18\x02 \x01(\x04R\x07rewards\x12\x17\n\x07heap_sz\x18\x03 \x01(\rR\x06heapSz\x12-\n\x13loaded_acct_data_sz\x18\x04 \x01(\rR\x10loadedAcctDataSz\x12\x19\n\x08is_empty\x18\x05 \x01(\rR\x07isEmpty"\xf1\x01\n\x18PackComputeBudgetFixture\x12\x43\n\x08metadata\x18\x01 \x01(\x0b\x32\'.org.solana.sealevel.v1.FixtureMetadataR\x08metadata\x12\x46\n\x05input\x18\x02 \x01(\x0b\x32\x30.org.solana.sealevel.v1.PackComputeBudgetContextR\x05input\x12H\n\x06output\x18\x03 \x01(\x0b\x32\x30.org.solana.sealevel.v1.PackComputeBudgetEffectsR\x06outputb\x06proto3' -) - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, "pack_pb2", _globals) -if not _descriptor._USE_C_DESCRIPTORS: - DESCRIPTOR._loaded_options = None - _globals["_PACKCOMPUTEBUDGETCONTEXT"]._serialized_start = 69 - _globals["_PACKCOMPUTEBUDGETCONTEXT"]._serialized_end = 192 - _globals["_PACKCOMPUTEBUDGETEFFECTS"]._serialized_start = 195 - _globals["_PACKCOMPUTEBUDGETEFFECTS"]._serialized_end = 392 - _globals["_PACKCOMPUTEBUDGETFIXTURE"]._serialized_start = 395 - _globals["_PACKCOMPUTEBUDGETFIXTURE"]._serialized_end = 636 -# @@protoc_insertion_point(module_scope) diff --git a/src/test_suite/protos/shred_pb2.py b/src/test_suite/protos/shred_pb2.py deleted file mode 100644 index c2578c9..0000000 --- a/src/test_suite/protos/shred_pb2.py +++ /dev/null @@ -1,40 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# NO CHECKED-IN PROTOBUF GENCODE -# source: shred.proto -# Protobuf Python Version: 7.34.1 -"""Generated protocol buffer code.""" -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import runtime_version as _runtime_version -from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder - -_runtime_version.ValidateProtobufRuntimeVersion( - _runtime_version.Domain.PUBLIC, 7, 34, 1, "", "shred.proto" -) -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( - b'\n\x0bshred.proto\x12\x16org.solana.sealevel.v1"!\n\x0bShredBinary\x12\x12\n\x04\x64\x61ta\x18\x01 \x01(\x0cR\x04\x64\x61ta"U\n\nDataHeader\x12\x1d\n\nparent_off\x18\x01 \x01(\rR\tparentOff\x12\x14\n\x05\x66lags\x18\x02 \x01(\rR\x05\x66lags\x12\x12\n\x04size\x18\x03 \x01(\rR\x04size"T\n\nCodeHeader\x12\x19\n\x08\x64\x61ta_cnt\x18\x01 \x01(\rR\x07\x64\x61taCnt\x12\x19\n\x08\x63ode_cnt\x18\x02 \x01(\rR\x07\x63odeCnt\x12\x10\n\x03idx\x18\x03 \x01(\rR\x03idx"\xa7\x02\n\x0bParsedShred\x12\x1c\n\tsignature\x18\x01 \x01(\tR\tsignature\x12\x18\n\x07variant\x18\x02 \x01(\rR\x07variant\x12\x12\n\x04slot\x18\x03 \x01(\x04R\x04slot\x12\x10\n\x03idx\x18\x04 \x01(\rR\x03idx\x12\x18\n\x07version\x18\x05 \x01(\rR\x07version\x12\x1e\n\x0b\x66\x65\x63_set_idx\x18\x06 \x01(\rR\tfecSetIdx\x12\x38\n\x04\x64\x61ta\x18\x07 \x01(\x0b\x32".org.solana.sealevel.v1.DataHeaderH\x00R\x04\x64\x61ta\x12\x38\n\x04\x63ode\x18\x08 \x01(\x0b\x32".org.solana.sealevel.v1.CodeHeaderH\x00R\x04\x63odeB\x0c\n\nshred_type"$\n\x0c\x41\x63\x63\x65ptsShred\x12\x14\n\x05valid\x18\x01 \x01(\x08R\x05validb\x06proto3' -) - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, "shred_pb2", _globals) -if not _descriptor._USE_C_DESCRIPTORS: - DESCRIPTOR._loaded_options = None - _globals["_SHREDBINARY"]._serialized_start = 39 - _globals["_SHREDBINARY"]._serialized_end = 72 - _globals["_DATAHEADER"]._serialized_start = 74 - _globals["_DATAHEADER"]._serialized_end = 159 - _globals["_CODEHEADER"]._serialized_start = 161 - _globals["_CODEHEADER"]._serialized_end = 245 - _globals["_PARSEDSHRED"]._serialized_start = 248 - _globals["_PARSEDSHRED"]._serialized_end = 543 - _globals["_ACCEPTSSHRED"]._serialized_start = 545 - _globals["_ACCEPTSSHRED"]._serialized_end = 581 -# @@protoc_insertion_point(module_scope)